API Reference

Complete reference for the Backfill HTTP API. Generated from the live OpenAPI 3.1 spec.

Base URL

  • https://api.backfill.ioProduction API

Authentication

  • Bearer Token HTTP bearer — pass token via Authorization: Bearer <token>

The Backfill HTTP API. Every operation, request body, response shape, and example.

Customers

GET /v1/customers

List customers

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
namestringFilter by name (contains)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "address": {},
        "balance": "125.00",
        "billing_address": {},
        "category_ids": [
          "cat_1001"
        ],
        "company_name": "Acme Supplies",
        "created_at": "2026-05-05T12:00:00Z",
        "credit_limit": "1000.00",
        "currency": "USD",
        "customer_id": "cus_1001",
        "description": "Office supplies",
        "email": "jane@acme.com",
        "metadata": {},
        "name": "Acme Supplies",
        "phone": "+1 415-555-0123",
        "price_level_id": "price_level_1001",
        "sales_rep_id": "sales_rep_1001",
        "shipping_address": {},
        "tax_exempt": false,
        "tax_ids": [
          {}
        ],
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "customer"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/customers" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/customers

Create a customer

FieldTypeDescription
addressobjectAddress
billing_addressobjectBilling Address
category_idsarray of stringCategory IDs
company_namestringCompany
credit_limitstringCredit Limit
currencystringCurrency
descriptionstringDescription
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
price_level_idstringIdentifier for the related price level record.
sales_rep_idstringIdentifier for the related sales rep record.
shipping_addressobjectShipping Address
tax_exemptbooleanTax Exempt
tax_idsarray of objectGovernment-issued tax identifiers for the customer, such as US EIN, SSN, or ITIN, or country-specific VAT, GST, or ABN registrations.
{
  "address": {},
  "billing_address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "credit_limit": "1000.00",
  "currency": "USD",
  "description": "Office supplies",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "price_level_id": "price_level_1001",
  "sales_rep_id": "sales_rep_1001",
  "shipping_address": {},
  "tax_exempt": false,
  "tax_ids": [
    {}
  ]
}
201 Created
FieldTypeDescription
data requiredCustomerRecordA customer record as returned by the API
Show data fields
FieldTypeDescription
addressobjectAddress
balancestringBalance
billing_addressobjectBilling Address
category_idsarray of stringCategory IDs
company_namestringCompany
created_atstring (date-time)
credit_limitstringCredit Limit
currencystringCurrency
customer_id requiredstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
descriptionstringDescription
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
price_level_idstringIdentifier for the related price level record.
sales_rep_idstringIdentifier for the related sales rep record.
shipping_addressobjectShipping Address
tax_exemptbooleanTax Exempt
tax_idsarray of objectGovernment-issued tax identifiers for the customer, such as US EIN, SSN, or ITIN, or country-specific VAT, GST, or ABN registrations.
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "address": {},
    "balance": "125.00",
    "billing_address": {},
    "category_ids": [
      "cat_1001"
    ],
    "company_name": "Acme Supplies",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_limit": "1000.00",
    "currency": "USD",
    "customer_id": "cus_1001",
    "description": "Office supplies",
    "email": "jane@acme.com",
    "metadata": {},
    "name": "Acme Supplies",
    "phone": "+1 415-555-0123",
    "price_level_id": "price_level_1001",
    "sales_rep_id": "sales_rep_1001",
    "shipping_address": {},
    "tax_exempt": false,
    "tax_ids": [
      {}
    ],
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "customer"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/customers" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "address": {},
  "billing_address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "credit_limit": "1000.00",
  "currency": "USD",
  "description": "Office supplies",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "price_level_id": "price_level_1001",
  "sales_rep_id": "sales_rep_1001",
  "shipping_address": {},
  "tax_exempt": false,
  "tax_ids": [
    {}
  ]
}'
GET /v1/customers/{id}

Get a customer

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredCustomerRecordA customer record as returned by the API
Show data fields
FieldTypeDescription
addressobjectAddress
balancestringBalance
billing_addressobjectBilling Address
category_idsarray of stringCategory IDs
company_namestringCompany
created_atstring (date-time)
credit_limitstringCredit Limit
currencystringCurrency
customer_id requiredstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
descriptionstringDescription
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
price_level_idstringIdentifier for the related price level record.
sales_rep_idstringIdentifier for the related sales rep record.
shipping_addressobjectShipping Address
tax_exemptbooleanTax Exempt
tax_idsarray of objectGovernment-issued tax identifiers for the customer, such as US EIN, SSN, or ITIN, or country-specific VAT, GST, or ABN registrations.
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "address": {},
    "balance": "125.00",
    "billing_address": {},
    "category_ids": [
      "cat_1001"
    ],
    "company_name": "Acme Supplies",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_limit": "1000.00",
    "currency": "USD",
    "customer_id": "cus_1001",
    "description": "Office supplies",
    "email": "jane@acme.com",
    "metadata": {},
    "name": "Acme Supplies",
    "phone": "+1 415-555-0123",
    "price_level_id": "price_level_1001",
    "sales_rep_id": "sales_rep_1001",
    "shipping_address": {},
    "tax_exempt": false,
    "tax_ids": [
      {}
    ],
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "customer"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/customers/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/customers/{id}

Update a customer

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
addressobjectAddress
billing_addressobjectBilling Address
category_idsarray of stringCategory IDs
company_namestringCompany
credit_limitstringCredit Limit
currencystringCurrency
descriptionstringDescription
emailstringEmail
metadataobject
namestringName
phonestringPhone
price_level_idstringIdentifier for the related price level record.
sales_rep_idstringIdentifier for the related sales rep record.
shipping_addressobjectShipping Address
tax_exemptbooleanTax Exempt
tax_idsarray of objectGovernment-issued tax identifiers for the customer, such as US EIN, SSN, or ITIN, or country-specific VAT, GST, or ABN registrations.
{
  "address": {},
  "billing_address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "credit_limit": "1000.00",
  "currency": "USD",
  "description": "Office supplies",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "price_level_id": "price_level_1001",
  "sales_rep_id": "sales_rep_1001",
  "shipping_address": {},
  "tax_exempt": false,
  "tax_ids": [
    {}
  ]
}
200 Success
FieldTypeDescription
data requiredCustomerRecordA customer record as returned by the API
Show data fields
FieldTypeDescription
addressobjectAddress
balancestringBalance
billing_addressobjectBilling Address
category_idsarray of stringCategory IDs
company_namestringCompany
created_atstring (date-time)
credit_limitstringCredit Limit
currencystringCurrency
customer_id requiredstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
descriptionstringDescription
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
price_level_idstringIdentifier for the related price level record.
sales_rep_idstringIdentifier for the related sales rep record.
shipping_addressobjectShipping Address
tax_exemptbooleanTax Exempt
tax_idsarray of objectGovernment-issued tax identifiers for the customer, such as US EIN, SSN, or ITIN, or country-specific VAT, GST, or ABN registrations.
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "address": {},
    "balance": "125.00",
    "billing_address": {},
    "category_ids": [
      "cat_1001"
    ],
    "company_name": "Acme Supplies",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_limit": "1000.00",
    "currency": "USD",
    "customer_id": "cus_1001",
    "description": "Office supplies",
    "email": "jane@acme.com",
    "metadata": {},
    "name": "Acme Supplies",
    "phone": "+1 415-555-0123",
    "price_level_id": "price_level_1001",
    "sales_rep_id": "sales_rep_1001",
    "shipping_address": {},
    "tax_exempt": false,
    "tax_ids": [
      {}
    ],
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "customer"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/customers/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "address": {},
  "billing_address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "credit_limit": "1000.00",
  "currency": "USD",
  "description": "Office supplies",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "price_level_id": "price_level_1001",
  "sales_rep_id": "sales_rep_1001",
  "shipping_address": {},
  "tax_exempt": false,
  "tax_ids": [
    {}
  ]
}'
DELETE /v1/customers/{id}

Delete a customer

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/customers/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Vendors

GET /v1/vendors

List vendors

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
namestringFilter by name (contains)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
        "address": {},
        "category_ids": [
          "cat_1001"
        ],
        "company_name": "Acme Supplies",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
        "email": "jane@acme.com",
        "metadata": {},
        "name": "Acme Supplies",
        "phone": "+1 415-555-0123",
        "tax_ids": [
          {}
        ],
        "updated_at": "2026-05-05T12:00:00Z",
        "vendor_id": "ven_1001"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "vendor"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/vendors" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/vendors

Create a vendor

FieldTypeDescription
accounts_payable_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
addressobjectAddress
category_idsarray of stringCategory IDs
company_namestringCompany
currencystringCurrency
default_expense_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
tax_idsarray of objectGovernment-issued tax identifiers for the vendor, such as US EIN, SSN, or ITIN (used for 1099 reporting), or country-specific VAT, GST, or ABN registrations.
{
  "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
  "address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "currency": "USD",
  "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "tax_ids": [
    {}
  ]
}
201 Created
FieldTypeDescription
data requiredVendorRecordA vendor record as returned by the API
Show data fields
FieldTypeDescription
accounts_payable_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
addressobjectAddress
category_idsarray of stringCategory IDs
company_namestringCompany
created_atstring (date-time)
currencystringCurrency
default_expense_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
tax_idsarray of objectGovernment-issued tax identifiers for the vendor, such as US EIN, SSN, or ITIN (used for 1099 reporting), or country-specific VAT, GST, or ABN registrations.
updated_atstring (date-time)
vendor_id requiredstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
    "address": {},
    "category_ids": [
      "cat_1001"
    ],
    "company_name": "Acme Supplies",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
    "email": "jane@acme.com",
    "metadata": {},
    "name": "Acme Supplies",
    "phone": "+1 415-555-0123",
    "tax_ids": [
      {}
    ],
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/vendors" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
  "address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "currency": "USD",
  "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "tax_ids": [
    {}
  ]
}'
GET /v1/vendors/{id}

Get a vendor

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredVendorRecordA vendor record as returned by the API
Show data fields
FieldTypeDescription
accounts_payable_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
addressobjectAddress
category_idsarray of stringCategory IDs
company_namestringCompany
created_atstring (date-time)
currencystringCurrency
default_expense_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
tax_idsarray of objectGovernment-issued tax identifiers for the vendor, such as US EIN, SSN, or ITIN (used for 1099 reporting), or country-specific VAT, GST, or ABN registrations.
updated_atstring (date-time)
vendor_id requiredstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
    "address": {},
    "category_ids": [
      "cat_1001"
    ],
    "company_name": "Acme Supplies",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
    "email": "jane@acme.com",
    "metadata": {},
    "name": "Acme Supplies",
    "phone": "+1 415-555-0123",
    "tax_ids": [
      {}
    ],
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/vendors/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/vendors/{id}

Update a vendor

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
accounts_payable_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
addressobjectAddress
category_idsarray of stringCategory IDs
company_namestringCompany
currencystringCurrency
default_expense_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
emailstringEmail
metadataobject
namestringName
phonestringPhone
tax_idsarray of objectGovernment-issued tax identifiers for the vendor, such as US EIN, SSN, or ITIN (used for 1099 reporting), or country-specific VAT, GST, or ABN registrations.
{
  "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
  "address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "currency": "USD",
  "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "tax_ids": [
    {}
  ]
}
200 Success
FieldTypeDescription
data requiredVendorRecordA vendor record as returned by the API
Show data fields
FieldTypeDescription
accounts_payable_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
addressobjectAddress
category_idsarray of stringCategory IDs
company_namestringCompany
created_atstring (date-time)
currencystringCurrency
default_expense_account_idstring (uuid)Backfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
emailstringEmail
metadataobject
name requiredstringName
phonestringPhone
tax_idsarray of objectGovernment-issued tax identifiers for the vendor, such as US EIN, SSN, or ITIN (used for 1099 reporting), or country-specific VAT, GST, or ABN registrations.
updated_atstring (date-time)
vendor_id requiredstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
    "address": {},
    "category_ids": [
      "cat_1001"
    ],
    "company_name": "Acme Supplies",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
    "email": "jane@acme.com",
    "metadata": {},
    "name": "Acme Supplies",
    "phone": "+1 415-555-0123",
    "tax_ids": [
      {}
    ],
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/vendors/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "accounts_payable_account_id": "00000000-0000-0000-0000-000000000000",
  "address": {},
  "category_ids": [
    "cat_1001"
  ],
  "company_name": "Acme Supplies",
  "currency": "USD",
  "default_expense_account_id": "00000000-0000-0000-0000-000000000000",
  "email": "jane@acme.com",
  "metadata": {},
  "name": "Acme Supplies",
  "phone": "+1 415-555-0123",
  "tax_ids": [
    {}
  ]
}'
DELETE /v1/vendors/{id}

Delete a vendor

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/vendors/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Items

GET /v1/items

List items

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
namestringFilter by name (contains)
typestringFilter by item type
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "active": false,
        "asset_account_id": "acc_1001",
        "class_id": "class_1001",
        "cogs_account_id": "acc_1001",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "description": "Office supplies",
        "expense_account_id": "acc_1001",
        "is_purchased": false,
        "is_sold": false,
        "locations": [
          {
            "location_id": "loc_1001",
            "quantity_on_hand": "1",
            "reorder_point": "reorder_point_sample"
          }
        ],
        "metadata": {},
        "name": "Acme Supplies",
        "preferred_vendor_id": "ven_1001",
        "product_id": "prod_1001",
        "purchase_cost": "purchase_cost_sample",
        "quantity_on_hand": "1",
        "reorder_point": "reorder_point_sample",
        "revenue_account_id": "acc_1001",
        "sku": "SKU-1001",
        "source_system": "api",
        "subsidiary_id": "subsidiary_id_sample",
        "track_inventory": false,
        "type": "good",
        "unit_label": "unit_label_sample",
        "unit_price": "unit_price_sample",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "item"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/items" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/items

Create an item

FieldTypeDescription
activebooleanActive
asset_account_idstringAsset Account ID
class_idstringClass ID
cogs_account_idstringCOGS Account ID
descriptionstringDescription
expense_account_idstringExpense Account ID
is_purchasedbooleanPurchased
is_soldbooleanSold
locationsarray of objectLocations
Show locations[] fields
FieldTypeDescription
location_idstringLocation ID
quantity_on_handstringQuantity on Hand
reorder_pointstringReorder Point
metadataobject
name requiredstringName
preferred_vendor_idstringPreferred Vendor ID
purchase_coststringCost
quantity_on_handstringQty on Hand
reorder_pointstringReorder Point
revenue_account_idstringRevenue Account ID
skustringSKU
subsidiary_idstringSubsidiary ID
track_inventorybooleanTrack Inventory
typestringType
unit_labelstringUnit
unit_pricestringPrice
{
  "active": false,
  "asset_account_id": "acc_1001",
  "class_id": "class_1001",
  "cogs_account_id": "acc_1001",
  "description": "Office supplies",
  "expense_account_id": "acc_1001",
  "is_purchased": false,
  "is_sold": false,
  "locations": [
    {
      "location_id": "loc_1001",
      "quantity_on_hand": "1",
      "reorder_point": "reorder_point_sample"
    }
  ],
  "metadata": {},
  "name": "Acme Supplies",
  "preferred_vendor_id": "ven_1001",
  "purchase_cost": "purchase_cost_sample",
  "quantity_on_hand": "1",
  "reorder_point": "reorder_point_sample",
  "revenue_account_id": "acc_1001",
  "sku": "SKU-1001",
  "subsidiary_id": "subsidiary_id_sample",
  "track_inventory": false,
  "type": "good",
  "unit_label": "unit_label_sample",
  "unit_price": "unit_price_sample"
}
201 Created
FieldTypeDescription
data requiredItemRecordA item record as returned by the API
Show data fields
FieldTypeDescription
activebooleanActive
asset_account_idstringAsset Account ID
class_idstringClass ID
cogs_account_idstringCOGS Account ID
connection_idstringConnection ID
created_atstring (date-time)
descriptionstringDescription
expense_account_idstringExpense Account ID
is_purchasedbooleanPurchased
is_soldbooleanSold
locationsarray of objectLocations
Show locations[] fields
FieldTypeDescription
location_idstringLocation ID
quantity_on_handstringQuantity on Hand
reorder_pointstringReorder Point
metadataobject
name requiredstringName
preferred_vendor_idstringPreferred Vendor ID
product_id requiredstringProduct ID
purchase_coststringCost
quantity_on_handstringQty on Hand
reorder_pointstringReorder Point
revenue_account_idstringRevenue Account ID
skustringSKU
source_systemstringSource
subsidiary_idstringSubsidiary ID
track_inventorybooleanTrack Inventory
typestringType
unit_labelstringUnit
unit_pricestringPrice
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "active": false,
    "asset_account_id": "acc_1001",
    "class_id": "class_1001",
    "cogs_account_id": "acc_1001",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "description": "Office supplies",
    "expense_account_id": "acc_1001",
    "is_purchased": false,
    "is_sold": false,
    "locations": [
      {
        "location_id": "loc_1001",
        "quantity_on_hand": "1",
        "reorder_point": "reorder_point_sample"
      }
    ],
    "metadata": {},
    "name": "Acme Supplies",
    "preferred_vendor_id": "ven_1001",
    "product_id": "prod_1001",
    "purchase_cost": "purchase_cost_sample",
    "quantity_on_hand": "1",
    "reorder_point": "reorder_point_sample",
    "revenue_account_id": "acc_1001",
    "sku": "SKU-1001",
    "source_system": "api",
    "subsidiary_id": "subsidiary_id_sample",
    "track_inventory": false,
    "type": "good",
    "unit_label": "unit_label_sample",
    "unit_price": "unit_price_sample",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "item"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/items" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "active": false,
  "asset_account_id": "acc_1001",
  "class_id": "class_1001",
  "cogs_account_id": "acc_1001",
  "description": "Office supplies",
  "expense_account_id": "acc_1001",
  "is_purchased": false,
  "is_sold": false,
  "locations": [
    {
      "location_id": "loc_1001",
      "quantity_on_hand": "1",
      "reorder_point": "reorder_point_sample"
    }
  ],
  "metadata": {},
  "name": "Acme Supplies",
  "preferred_vendor_id": "ven_1001",
  "purchase_cost": "purchase_cost_sample",
  "quantity_on_hand": "1",
  "reorder_point": "reorder_point_sample",
  "revenue_account_id": "acc_1001",
  "sku": "SKU-1001",
  "subsidiary_id": "subsidiary_id_sample",
  "track_inventory": false,
  "type": "good",
  "unit_label": "unit_label_sample",
  "unit_price": "unit_price_sample"
}'
GET /v1/items/{id}

Get an item

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredItemRecordA item record as returned by the API
Show data fields
FieldTypeDescription
activebooleanActive
asset_account_idstringAsset Account ID
class_idstringClass ID
cogs_account_idstringCOGS Account ID
connection_idstringConnection ID
created_atstring (date-time)
descriptionstringDescription
expense_account_idstringExpense Account ID
is_purchasedbooleanPurchased
is_soldbooleanSold
locationsarray of objectLocations
Show locations[] fields
FieldTypeDescription
location_idstringLocation ID
quantity_on_handstringQuantity on Hand
reorder_pointstringReorder Point
metadataobject
name requiredstringName
preferred_vendor_idstringPreferred Vendor ID
product_id requiredstringProduct ID
purchase_coststringCost
quantity_on_handstringQty on Hand
reorder_pointstringReorder Point
revenue_account_idstringRevenue Account ID
skustringSKU
source_systemstringSource
subsidiary_idstringSubsidiary ID
track_inventorybooleanTrack Inventory
typestringType
unit_labelstringUnit
unit_pricestringPrice
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "active": false,
    "asset_account_id": "acc_1001",
    "class_id": "class_1001",
    "cogs_account_id": "acc_1001",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "description": "Office supplies",
    "expense_account_id": "acc_1001",
    "is_purchased": false,
    "is_sold": false,
    "locations": [
      {
        "location_id": "loc_1001",
        "quantity_on_hand": "1",
        "reorder_point": "reorder_point_sample"
      }
    ],
    "metadata": {},
    "name": "Acme Supplies",
    "preferred_vendor_id": "ven_1001",
    "product_id": "prod_1001",
    "purchase_cost": "purchase_cost_sample",
    "quantity_on_hand": "1",
    "reorder_point": "reorder_point_sample",
    "revenue_account_id": "acc_1001",
    "sku": "SKU-1001",
    "source_system": "api",
    "subsidiary_id": "subsidiary_id_sample",
    "track_inventory": false,
    "type": "good",
    "unit_label": "unit_label_sample",
    "unit_price": "unit_price_sample",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "item"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/items/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/items/{id}

Update an item

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
activebooleanActive
asset_account_idstringAsset Account ID
class_idstringClass ID
cogs_account_idstringCOGS Account ID
descriptionstringDescription
expense_account_idstringExpense Account ID
is_purchasedbooleanPurchased
is_soldbooleanSold
locationsarray of objectLocations
Show locations[] fields
FieldTypeDescription
location_idstringLocation ID
quantity_on_handstringQuantity on Hand
reorder_pointstringReorder Point
metadataobject
namestringName
preferred_vendor_idstringPreferred Vendor ID
purchase_coststringCost
quantity_on_handstringQty on Hand
reorder_pointstringReorder Point
revenue_account_idstringRevenue Account ID
skustringSKU
subsidiary_idstringSubsidiary ID
track_inventorybooleanTrack Inventory
typestringType
unit_labelstringUnit
unit_pricestringPrice
{
  "active": false,
  "asset_account_id": "acc_1001",
  "class_id": "class_1001",
  "cogs_account_id": "acc_1001",
  "description": "Office supplies",
  "expense_account_id": "acc_1001",
  "is_purchased": false,
  "is_sold": false,
  "locations": [
    {
      "location_id": "loc_1001",
      "quantity_on_hand": "1",
      "reorder_point": "reorder_point_sample"
    }
  ],
  "metadata": {},
  "name": "Acme Supplies",
  "preferred_vendor_id": "ven_1001",
  "purchase_cost": "purchase_cost_sample",
  "quantity_on_hand": "1",
  "reorder_point": "reorder_point_sample",
  "revenue_account_id": "acc_1001",
  "sku": "SKU-1001",
  "subsidiary_id": "subsidiary_id_sample",
  "track_inventory": false,
  "type": "good",
  "unit_label": "unit_label_sample",
  "unit_price": "unit_price_sample"
}
200 Success
FieldTypeDescription
data requiredItemRecordA item record as returned by the API
Show data fields
FieldTypeDescription
activebooleanActive
asset_account_idstringAsset Account ID
class_idstringClass ID
cogs_account_idstringCOGS Account ID
connection_idstringConnection ID
created_atstring (date-time)
descriptionstringDescription
expense_account_idstringExpense Account ID
is_purchasedbooleanPurchased
is_soldbooleanSold
locationsarray of objectLocations
Show locations[] fields
FieldTypeDescription
location_idstringLocation ID
quantity_on_handstringQuantity on Hand
reorder_pointstringReorder Point
metadataobject
name requiredstringName
preferred_vendor_idstringPreferred Vendor ID
product_id requiredstringProduct ID
purchase_coststringCost
quantity_on_handstringQty on Hand
reorder_pointstringReorder Point
revenue_account_idstringRevenue Account ID
skustringSKU
source_systemstringSource
subsidiary_idstringSubsidiary ID
track_inventorybooleanTrack Inventory
typestringType
unit_labelstringUnit
unit_pricestringPrice
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "active": false,
    "asset_account_id": "acc_1001",
    "class_id": "class_1001",
    "cogs_account_id": "acc_1001",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "description": "Office supplies",
    "expense_account_id": "acc_1001",
    "is_purchased": false,
    "is_sold": false,
    "locations": [
      {
        "location_id": "loc_1001",
        "quantity_on_hand": "1",
        "reorder_point": "reorder_point_sample"
      }
    ],
    "metadata": {},
    "name": "Acme Supplies",
    "preferred_vendor_id": "ven_1001",
    "product_id": "prod_1001",
    "purchase_cost": "purchase_cost_sample",
    "quantity_on_hand": "1",
    "reorder_point": "reorder_point_sample",
    "revenue_account_id": "acc_1001",
    "sku": "SKU-1001",
    "source_system": "api",
    "subsidiary_id": "subsidiary_id_sample",
    "track_inventory": false,
    "type": "good",
    "unit_label": "unit_label_sample",
    "unit_price": "unit_price_sample",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "item"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/items/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "active": false,
  "asset_account_id": "acc_1001",
  "class_id": "class_1001",
  "cogs_account_id": "acc_1001",
  "description": "Office supplies",
  "expense_account_id": "acc_1001",
  "is_purchased": false,
  "is_sold": false,
  "locations": [
    {
      "location_id": "loc_1001",
      "quantity_on_hand": "1",
      "reorder_point": "reorder_point_sample"
    }
  ],
  "metadata": {},
  "name": "Acme Supplies",
  "preferred_vendor_id": "ven_1001",
  "purchase_cost": "purchase_cost_sample",
  "quantity_on_hand": "1",
  "reorder_point": "reorder_point_sample",
  "revenue_account_id": "acc_1001",
  "sku": "SKU-1001",
  "subsidiary_id": "subsidiary_id_sample",
  "track_inventory": false,
  "type": "good",
  "unit_label": "unit_label_sample",
  "unit_price": "unit_price_sample"
}'
DELETE /v1/items/{id}

Delete an item

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/items/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Accounts

GET /v1/accounts

List accounts

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
as_of_datestringBalance as of date (YYYY-MM-DD)
typestringFilter by account type
activebooleanFilter by active status
200 Success
FieldTypeDescription
as_of_date requiredstring (date)
data requiredarray of object
Show data[] fields
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
account_type requiredstring
balance[string null]
code[string null]
is_active requiredboolean
name requiredstring
normal_balance requiredstring
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredobject
Show pagination fields
FieldTypeDescription
limit requiredinteger
page requiredinteger
{
  "as_of_date": "2026-05-05",
  "data": [
    {
      "data": {
        "account_type": "asset",
        "balance": "125.00",
        "code": "VALIDATION_ERROR",
        "is_active": false,
        "name": "Acme Supplies",
        "normal_balance": "debit"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "account"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/accounts" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/accounts

Create an account

FieldTypeDescription
activebooleanActive
codestringCode
descriptionstringDescription
name requiredstringName
parent_namestringParent
slotstringSlot
sub_typestringSub Type
subsidiary_idstringBusiness entity or subsidiary identifier for multi-entity accounting. Leave blank when the tenant does not use subsidiaries.
type requiredstringType
{
  "active": false,
  "code": "VALIDATION_ERROR",
  "description": "Office supplies",
  "name": "Acme Supplies",
  "parent_name": "Acme Supplies",
  "slot": "slot_sample",
  "sub_type": "sub_type_sample",
  "subsidiary_id": "subsidiary_id_sample",
  "type": "asset"
}
201 Created
FieldTypeDescription
data requiredAccountRecordA account record as returned by the API
Show data fields
FieldTypeDescription
account_idstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
activebooleanActive
codestringCode
created_atstring (date-time)
descriptionstringDescription
name requiredstringName
parent_namestringParent
slotstringSlot
sub_typestringSub Type
subsidiary_idstringBusiness entity or subsidiary identifier for multi-entity accounting. Leave blank when the tenant does not use subsidiaries.
type requiredstringType
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_id": "acc_1001",
    "active": false,
    "code": "VALIDATION_ERROR",
    "created_at": "2026-05-05T12:00:00Z",
    "description": "Office supplies",
    "name": "Acme Supplies",
    "parent_name": "Acme Supplies",
    "slot": "slot_sample",
    "sub_type": "sub_type_sample",
    "subsidiary_id": "subsidiary_id_sample",
    "type": "asset",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "account"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/accounts" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "active": false,
  "code": "VALIDATION_ERROR",
  "description": "Office supplies",
  "name": "Acme Supplies",
  "parent_name": "Acme Supplies",
  "slot": "slot_sample",
  "sub_type": "sub_type_sample",
  "subsidiary_id": "subsidiary_id_sample",
  "type": "asset"
}'
GET /v1/accounts/{id}

Get an account

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
account_type requiredstring
balance[string null]
code[string null]
description[string null]
is_active requiredboolean
name requiredstring
normal_balance requiredstring
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_type": "asset",
    "balance": "125.00",
    "code": "VALIDATION_ERROR",
    "description": "Office supplies",
    "is_active": false,
    "name": "Acme Supplies",
    "normal_balance": "debit"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "account"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/accounts/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Invoices

GET /v1/invoices

List invoices

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by status
customer_idstringFilter by customer ID
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "billing_address": {},
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer": {
          "email": "jane@acme.com",
          "id": "00000000-0000-0000-0000-000000000000",
          "metadata": {},
          "name": "Acme Supplies"
        },
        "discount_amount": "125.00",
        "discount_details": [
          {}
        ],
        "document_date": "2026-05-05",
        "document_number": "INV-1001",
        "due_at": "2026-05-05T12:00:00Z",
        "effective_date": "2026-05-05",
        "id": "00000000-0000-0000-0000-000000000000",
        "issued_at": "2026-05-05T12:00:00Z",
        "lines": [
          {
            "account_id": "acc_1001",
            "amount": "125.00",
            "amount_includes_tax": false,
            "billing_period_end": "2026-05-05T12:00:00Z",
            "billing_period_start": "2026-05-05T12:00:00Z",
            "class_id": "class_1001",
            "currency": "USD",
            "description": "Office supplies",
            "detail": {
              "account_id": "...",
              "basis_amount": "...",
              "class_id": "...",
              "discount_amount": "...",
              "discount_percent": "...",
              "item_id": "...",
              "location_id": "...",
              "metadata": "...",
              "product": "...",
              "quantity": "...",
              "sku": "...",
              "subtotal_amount": "...",
              "type": "...",
              "unit_amount": "..."
            },
            "dimensions": {},
            "discount_amount": "125.00",
            "fulfillment_line_ref": "fulfillment_line_ref_sample",
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_ref": "line_ref_sample",
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "order_line_ref": "order_line_ref_sample",
            "product": {},
            "product_id": "prod_1001",
            "quantity": "1",
            "sku": "SKU-1001",
            "subscription_item_id": "item_1001",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_details": [
              "..."
            ],
            "tax_exempt_reason": "tax_exempt_reason_sample",
            "tax_rate": "1.00",
            "tax_status": "taxable",
            "taxable_amount": "125.00",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "ship_method": "ship_method_sample",
        "shipping_address": {},
        "shipping_details": {},
        "source_id": "src_1001",
        "source_system": "api",
        "status": "draft",
        "subsidiary_id": "subsidiary_id_sample",
        "subtotal": "subtotal_sample",
        "tax_amount": "125.00",
        "tax_behavior": "inclusive",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "invoice"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/invoices" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/invoices

Create an invoice

FieldTypeDescription
billing_addressobjectBilling Address
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer Name
discount_detailsarray of objectDiscount Details
document_numberstringDocument Number
due_atstring (date-time)Due At
issued_atstring (date-time)Issued At
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amount requiredstringAmount
amount_includes_taxbooleanAmount Includes Tax
billing_period_endstring (date-time)Billing Period End
billing_period_startstring (date-time)Billing Period Start
class_idstringClass ID
currencystringCurrency
description requiredstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
fulfillment_line_refstringFulfillment Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
order_line_refstringOrder Line Ref
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
subscription_item_idstringSubscription Item ID
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
memostringOptional memo or notes
metadataobjectMetadata
ship_methodstringShip Method
shipping_addressobjectShipping Address
shipping_detailsobjectShipping Details
statusstringStatus
tax_behaviorstringTax Behavior
termsstringTerms
total_amount requiredstringTotal Amount
{
  "billing_address": {},
  "currency": "USD",
  "customer_id": "cus_1001",
  "customer_name": "cus_1001",
  "discount_details": [
    {}
  ],
  "document_number": "INV-1001",
  "due_at": "2026-05-05T12:00:00Z",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billing_period_end": "2026-05-05T12:00:00Z",
      "billing_period_start": "2026-05-05T12:00:00Z",
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "fulfillment_line_ref": "fulfillment_line_ref_sample",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "order_line_ref": "order_line_ref_sample",
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "subscription_item_id": "item_1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "ship_method": "ship_method_sample",
  "shipping_address": {},
  "shipping_details": {},
  "status": "draft",
  "tax_behavior": "inclusive",
  "terms": "terms_sample",
  "total_amount": "125.00"
}
201 Created
FieldTypeDescription
data requiredInvoiceRecordA invoice record as returned by the API
Show data fields
FieldTypeDescription
billing_addressobjectBilling Address
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customerobjectCustomer
Show customer fields
FieldTypeDescription
emailstringCustomer Email
idstringCustomer ID
metadataobjectCustomer Metadata
namestringCustomer Name
discount_amountstringDiscount Amount
discount_detailsarray of objectDiscount Details
document_datestring (date)Document Date
document_numberstringDocument Number
due_atstring (date-time)Due At
effective_datestring (date)Effective Date
idstringCanonical ID
issued_atstring (date-time)Issued At
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amount requiredstringAmount
amount_includes_taxbooleanAmount Includes Tax
billing_period_endstring (date-time)Billing Period End
billing_period_startstring (date-time)Billing Period Start
class_idstringClass ID
currencystringCurrency
description requiredstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
fulfillment_line_refstringFulfillment Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
order_line_refstringOrder Line Ref
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
subscription_item_idstringSubscription Item ID
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
ship_methodstringShip Method
shipping_addressobjectShipping Address
shipping_detailsobjectShipping Details
source_id requiredstringSource ID
source_system requiredstringSource System
statusstringStatus
subsidiary_idstringSubsidiary ID
subtotalstringSubtotal
tax_amountstringTax Amount
tax_behaviorstringTax Behavior
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "billing_address": {},
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer": {
      "email": "jane@acme.com",
      "id": "00000000-0000-0000-0000-000000000000",
      "metadata": {},
      "name": "Acme Supplies"
    },
    "discount_amount": "125.00",
    "discount_details": [
      {}
    ],
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "due_at": "2026-05-05T12:00:00Z",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "billing_period_end": "2026-05-05T12:00:00Z",
        "billing_period_start": "2026-05-05T12:00:00Z",
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "fulfillment_line_ref": "fulfillment_line_ref_sample",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "order_line_ref": "order_line_ref_sample",
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "subscription_item_id": "item_1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "ship_method": "ship_method_sample",
    "shipping_address": {},
    "shipping_details": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "subsidiary_id": "subsidiary_id_sample",
    "subtotal": "subtotal_sample",
    "tax_amount": "125.00",
    "tax_behavior": "inclusive",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "invoice"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/invoices" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "billing_address": {},
  "currency": "USD",
  "customer_id": "cus_1001",
  "customer_name": "cus_1001",
  "discount_details": [
    {}
  ],
  "document_number": "INV-1001",
  "due_at": "2026-05-05T12:00:00Z",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billing_period_end": "2026-05-05T12:00:00Z",
      "billing_period_start": "2026-05-05T12:00:00Z",
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "fulfillment_line_ref": "fulfillment_line_ref_sample",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "order_line_ref": "order_line_ref_sample",
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "subscription_item_id": "item_1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "ship_method": "ship_method_sample",
  "shipping_address": {},
  "shipping_details": {},
  "status": "draft",
  "tax_behavior": "inclusive",
  "terms": "terms_sample",
  "total_amount": "125.00"
}'
GET /v1/invoices/{id}

Get an invoice

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredInvoiceRecordA invoice record as returned by the API
Show data fields
FieldTypeDescription
billing_addressobjectBilling Address
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customerobjectCustomer
Show customer fields
FieldTypeDescription
emailstringCustomer Email
idstringCustomer ID
metadataobjectCustomer Metadata
namestringCustomer Name
discount_amountstringDiscount Amount
discount_detailsarray of objectDiscount Details
document_datestring (date)Document Date
document_numberstringDocument Number
due_atstring (date-time)Due At
effective_datestring (date)Effective Date
idstringCanonical ID
issued_atstring (date-time)Issued At
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amount requiredstringAmount
amount_includes_taxbooleanAmount Includes Tax
billing_period_endstring (date-time)Billing Period End
billing_period_startstring (date-time)Billing Period Start
class_idstringClass ID
currencystringCurrency
description requiredstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
fulfillment_line_refstringFulfillment Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
order_line_refstringOrder Line Ref
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
subscription_item_idstringSubscription Item ID
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
ship_methodstringShip Method
shipping_addressobjectShipping Address
shipping_detailsobjectShipping Details
source_id requiredstringSource ID
source_system requiredstringSource System
statusstringStatus
subsidiary_idstringSubsidiary ID
subtotalstringSubtotal
tax_amountstringTax Amount
tax_behaviorstringTax Behavior
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "billing_address": {},
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer": {
      "email": "jane@acme.com",
      "id": "00000000-0000-0000-0000-000000000000",
      "metadata": {},
      "name": "Acme Supplies"
    },
    "discount_amount": "125.00",
    "discount_details": [
      {}
    ],
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "due_at": "2026-05-05T12:00:00Z",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "billing_period_end": "2026-05-05T12:00:00Z",
        "billing_period_start": "2026-05-05T12:00:00Z",
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "fulfillment_line_ref": "fulfillment_line_ref_sample",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "order_line_ref": "order_line_ref_sample",
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "subscription_item_id": "item_1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "ship_method": "ship_method_sample",
    "shipping_address": {},
    "shipping_details": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "subsidiary_id": "subsidiary_id_sample",
    "subtotal": "subtotal_sample",
    "tax_amount": "125.00",
    "tax_behavior": "inclusive",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "invoice"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/invoices/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/invoices/{id}

Update an invoice

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
billing_addressobjectBilling Address
currencystringCurrency
customer_idstringCustomer ID
customer_namestringCustomer Name
discount_detailsarray of objectDiscount Details
document_numberstringDocument Number
due_atstring (date-time)Due At
issued_atstring (date-time)Issued At
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amount requiredstringAmount
amount_includes_taxbooleanAmount Includes Tax
billing_period_endstring (date-time)Billing Period End
billing_period_startstring (date-time)Billing Period Start
class_idstringClass ID
currencystringCurrency
description requiredstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
fulfillment_line_refstringFulfillment Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
order_line_refstringOrder Line Ref
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
subscription_item_idstringSubscription Item ID
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
memostringOptional memo or notes
metadataobjectMetadata
ship_methodstringShip Method
shipping_addressobjectShipping Address
shipping_detailsobjectShipping Details
statusstringStatus
tax_behaviorstringTax Behavior
termsstringTerms
total_amountstringTotal Amount
{
  "billing_address": {},
  "currency": "USD",
  "customer_id": "cus_1001",
  "customer_name": "cus_1001",
  "discount_details": [
    {}
  ],
  "document_number": "INV-1001",
  "due_at": "2026-05-05T12:00:00Z",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billing_period_end": "2026-05-05T12:00:00Z",
      "billing_period_start": "2026-05-05T12:00:00Z",
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "fulfillment_line_ref": "fulfillment_line_ref_sample",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "order_line_ref": "order_line_ref_sample",
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "subscription_item_id": "item_1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "ship_method": "ship_method_sample",
  "shipping_address": {},
  "shipping_details": {},
  "status": "draft",
  "tax_behavior": "inclusive",
  "terms": "terms_sample",
  "total_amount": "125.00"
}
200 Success
FieldTypeDescription
data requiredInvoiceRecordA invoice record as returned by the API
Show data fields
FieldTypeDescription
billing_addressobjectBilling Address
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customerobjectCustomer
Show customer fields
FieldTypeDescription
emailstringCustomer Email
idstringCustomer ID
metadataobjectCustomer Metadata
namestringCustomer Name
discount_amountstringDiscount Amount
discount_detailsarray of objectDiscount Details
document_datestring (date)Document Date
document_numberstringDocument Number
due_atstring (date-time)Due At
effective_datestring (date)Effective Date
idstringCanonical ID
issued_atstring (date-time)Issued At
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amount requiredstringAmount
amount_includes_taxbooleanAmount Includes Tax
billing_period_endstring (date-time)Billing Period End
billing_period_startstring (date-time)Billing Period Start
class_idstringClass ID
currencystringCurrency
description requiredstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
fulfillment_line_refstringFulfillment Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
order_line_refstringOrder Line Ref
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
subscription_item_idstringSubscription Item ID
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
ship_methodstringShip Method
shipping_addressobjectShipping Address
shipping_detailsobjectShipping Details
source_id requiredstringSource ID
source_system requiredstringSource System
statusstringStatus
subsidiary_idstringSubsidiary ID
subtotalstringSubtotal
tax_amountstringTax Amount
tax_behaviorstringTax Behavior
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "billing_address": {},
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer": {
      "email": "jane@acme.com",
      "id": "00000000-0000-0000-0000-000000000000",
      "metadata": {},
      "name": "Acme Supplies"
    },
    "discount_amount": "125.00",
    "discount_details": [
      {}
    ],
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "due_at": "2026-05-05T12:00:00Z",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "billing_period_end": "2026-05-05T12:00:00Z",
        "billing_period_start": "2026-05-05T12:00:00Z",
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "fulfillment_line_ref": "fulfillment_line_ref_sample",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "order_line_ref": "order_line_ref_sample",
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "subscription_item_id": "item_1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "ship_method": "ship_method_sample",
    "shipping_address": {},
    "shipping_details": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "subsidiary_id": "subsidiary_id_sample",
    "subtotal": "subtotal_sample",
    "tax_amount": "125.00",
    "tax_behavior": "inclusive",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "invoice"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/invoices/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "billing_address": {},
  "currency": "USD",
  "customer_id": "cus_1001",
  "customer_name": "cus_1001",
  "discount_details": [
    {}
  ],
  "document_number": "INV-1001",
  "due_at": "2026-05-05T12:00:00Z",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billing_period_end": "2026-05-05T12:00:00Z",
      "billing_period_start": "2026-05-05T12:00:00Z",
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "fulfillment_line_ref": "fulfillment_line_ref_sample",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "order_line_ref": "order_line_ref_sample",
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "subscription_item_id": "item_1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "ship_method": "ship_method_sample",
  "shipping_address": {},
  "shipping_details": {},
  "status": "draft",
  "tax_behavior": "inclusive",
  "terms": "terms_sample",
  "total_amount": "125.00"
}'
DELETE /v1/invoices/{id}

Delete an invoice

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/invoices/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/invoices/{id}/confirm

Confirm a draft invoice

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredInvoiceRecordA invoice record as returned by the API
Show data fields
FieldTypeDescription
billing_addressobjectBilling Address
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customerobjectCustomer
Show customer fields
FieldTypeDescription
emailstringCustomer Email
idstringCustomer ID
metadataobjectCustomer Metadata
namestringCustomer Name
discount_amountstringDiscount Amount
discount_detailsarray of objectDiscount Details
document_datestring (date)Document Date
document_numberstringDocument Number
due_atstring (date-time)Due At
effective_datestring (date)Effective Date
idstringCanonical ID
issued_atstring (date-time)Issued At
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amount requiredstringAmount
amount_includes_taxbooleanAmount Includes Tax
billing_period_endstring (date-time)Billing Period End
billing_period_startstring (date-time)Billing Period Start
class_idstringClass ID
currencystringCurrency
description requiredstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
fulfillment_line_refstringFulfillment Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
order_line_refstringOrder Line Ref
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
subscription_item_idstringSubscription Item ID
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
ship_methodstringShip Method
shipping_addressobjectShipping Address
shipping_detailsobjectShipping Details
source_id requiredstringSource ID
source_system requiredstringSource System
statusstringStatus
subsidiary_idstringSubsidiary ID
subtotalstringSubtotal
tax_amountstringTax Amount
tax_behaviorstringTax Behavior
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "billing_address": {},
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer": {
      "email": "jane@acme.com",
      "id": "00000000-0000-0000-0000-000000000000",
      "metadata": {},
      "name": "Acme Supplies"
    },
    "discount_amount": "125.00",
    "discount_details": [
      {}
    ],
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "due_at": "2026-05-05T12:00:00Z",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "billing_period_end": "2026-05-05T12:00:00Z",
        "billing_period_start": "2026-05-05T12:00:00Z",
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "fulfillment_line_ref": "fulfillment_line_ref_sample",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "order_line_ref": "order_line_ref_sample",
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "subscription_item_id": "item_1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "ship_method": "ship_method_sample",
    "shipping_address": {},
    "shipping_details": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "subsidiary_id": "subsidiary_id_sample",
    "subtotal": "subtotal_sample",
    "tax_amount": "125.00",
    "tax_behavior": "inclusive",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "invoice"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/invoices/{id}/confirm" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Payments

GET /v1/payments

List payments

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "allocations": [
          {
            "allocated_at": "2026-05-05T12:00:00Z",
            "amount": "125.00",
            "invoice_id": "inv_1001"
          }
        ],
        "amount": "125.00",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer_id": "cus_1001",
        "deposit_to_account_code": "VALIDATION_ERROR",
        "deposit_to_account_id": "acc_1001",
        "dimensions": {},
        "exchange_rate": "1.00",
        "fees": "fees_sample",
        "invoice_id": "inv_1001",
        "memo": "Payment received",
        "metadata": {},
        "net_amount": "125.00",
        "occurred_at": "2026-05-05T12:00:00Z",
        "payment_method": "pay_1001",
        "payment_method_details": {},
        "payment_method_type": "check",
        "reference_number": "REF-1001",
        "settled_at": "2026-05-05T12:00:00Z",
        "source_id": "src_1001",
        "source_system": "api",
        "status": "draft",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "payment"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/payments" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/payments

Create a payment

FieldTypeDescription
allocationsarray of objectAllocations
Show allocations[] fields
FieldTypeDescription
allocated_atstring (date-time)Allocated At
amount requiredstringAmount
invoice_id requiredstringInvoice ID
amount requiredstringAmount
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
exchange_ratestringExchange Rate
feesstringFees
invoice_idstringInvoice ID
memostringMemo
metadataobjectMetadata
net_amountstringNet Amount
occurred_atstring (date-time)Occurred At
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
reference_numberstringReference Number
settled_atstring (date-time)Settled At
status requiredstringStatus
{
  "allocations": [
    {
      "allocated_at": "2026-05-05T12:00:00Z",
      "amount": "125.00",
      "invoice_id": "inv_1001"
    }
  ],
  "amount": "125.00",
  "currency": "USD",
  "customer_id": "cus_1001",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "exchange_rate": "1.00",
  "fees": "fees_sample",
  "invoice_id": "inv_1001",
  "memo": "Payment received",
  "metadata": {},
  "net_amount": "125.00",
  "occurred_at": "2026-05-05T12:00:00Z",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "reference_number": "REF-1001",
  "settled_at": "2026-05-05T12:00:00Z",
  "status": "draft"
}
201 Created
FieldTypeDescription
data requiredPaymentRecordA payment record as returned by the API
Show data fields
FieldTypeDescription
allocationsarray of objectAllocations
Show allocations[] fields
FieldTypeDescription
allocated_atstring (date-time)Allocated At
amount requiredstringAmount
invoice_id requiredstringInvoice ID
amount requiredstringAmount
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
exchange_ratestringExchange Rate
feesstringFees
invoice_idstringInvoice ID
memostringMemo
metadataobjectMetadata
net_amountstringNet Amount
occurred_atstring (date-time)Occurred At
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
reference_numberstringReference Number
settled_atstring (date-time)Settled At
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "allocations": [
      {
        "allocated_at": "2026-05-05T12:00:00Z",
        "amount": "125.00",
        "invoice_id": "inv_1001"
      }
    ],
    "amount": "125.00",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "exchange_rate": "1.00",
    "fees": "fees_sample",
    "invoice_id": "inv_1001",
    "memo": "Payment received",
    "metadata": {},
    "net_amount": "125.00",
    "occurred_at": "2026-05-05T12:00:00Z",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "reference_number": "REF-1001",
    "settled_at": "2026-05-05T12:00:00Z",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "payment"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/payments" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "allocations": [
    {
      "allocated_at": "2026-05-05T12:00:00Z",
      "amount": "125.00",
      "invoice_id": "inv_1001"
    }
  ],
  "amount": "125.00",
  "currency": "USD",
  "customer_id": "cus_1001",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "exchange_rate": "1.00",
  "fees": "fees_sample",
  "invoice_id": "inv_1001",
  "memo": "Payment received",
  "metadata": {},
  "net_amount": "125.00",
  "occurred_at": "2026-05-05T12:00:00Z",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "reference_number": "REF-1001",
  "settled_at": "2026-05-05T12:00:00Z",
  "status": "draft"
}'
GET /v1/payments/{id}

Get a payment

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredPaymentRecordA payment record as returned by the API
Show data fields
FieldTypeDescription
allocationsarray of objectAllocations
Show allocations[] fields
FieldTypeDescription
allocated_atstring (date-time)Allocated At
amount requiredstringAmount
invoice_id requiredstringInvoice ID
amount requiredstringAmount
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
exchange_ratestringExchange Rate
feesstringFees
invoice_idstringInvoice ID
memostringMemo
metadataobjectMetadata
net_amountstringNet Amount
occurred_atstring (date-time)Occurred At
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
reference_numberstringReference Number
settled_atstring (date-time)Settled At
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "allocations": [
      {
        "allocated_at": "2026-05-05T12:00:00Z",
        "amount": "125.00",
        "invoice_id": "inv_1001"
      }
    ],
    "amount": "125.00",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "exchange_rate": "1.00",
    "fees": "fees_sample",
    "invoice_id": "inv_1001",
    "memo": "Payment received",
    "metadata": {},
    "net_amount": "125.00",
    "occurred_at": "2026-05-05T12:00:00Z",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "reference_number": "REF-1001",
    "settled_at": "2026-05-05T12:00:00Z",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "payment"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/payments/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/payments/{id}/confirm

Confirm a draft payment

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredPaymentRecordA payment record as returned by the API
Show data fields
FieldTypeDescription
allocationsarray of objectAllocations
Show allocations[] fields
FieldTypeDescription
allocated_atstring (date-time)Allocated At
amount requiredstringAmount
invoice_id requiredstringInvoice ID
amount requiredstringAmount
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
exchange_ratestringExchange Rate
feesstringFees
invoice_idstringInvoice ID
memostringMemo
metadataobjectMetadata
net_amountstringNet Amount
occurred_atstring (date-time)Occurred At
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
reference_numberstringReference Number
settled_atstring (date-time)Settled At
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "allocations": [
      {
        "allocated_at": "2026-05-05T12:00:00Z",
        "amount": "125.00",
        "invoice_id": "inv_1001"
      }
    ],
    "amount": "125.00",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "exchange_rate": "1.00",
    "fees": "fees_sample",
    "invoice_id": "inv_1001",
    "memo": "Payment received",
    "metadata": {},
    "net_amount": "125.00",
    "occurred_at": "2026-05-05T12:00:00Z",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "reference_number": "REF-1001",
    "settled_at": "2026-05-05T12:00:00Z",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "payment"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/payments/{id}/confirm" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Sales Receipts

GET /v1/sales_receipts

List sales receipts

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "approval_status": "draft",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer_id": "cus_1001",
        "deposit_to_account_code": "VALIDATION_ERROR",
        "deposit_to_account_id": "acc_1001",
        "dimensions": {},
        "discount_amount": "125.00",
        "document_date": "2026-05-05",
        "document_number": "INV-1001",
        "effective_date": "2026-05-05",
        "id": "00000000-0000-0000-0000-000000000000",
        "lines": [
          {
            "account_id": "acc_1001",
            "amount": "125.00",
            "amount_includes_tax": false,
            "class_id": "class_1001",
            "currency": "USD",
            "description": "Office supplies",
            "detail": {
              "account_id": "...",
              "basis_amount": "...",
              "class_id": "...",
              "discount_amount": "...",
              "discount_percent": "...",
              "item_id": "...",
              "location_id": "...",
              "metadata": "...",
              "product": "...",
              "quantity": "...",
              "sku": "...",
              "subtotal_amount": "...",
              "type": "...",
              "unit_amount": "..."
            },
            "dimensions": {},
            "discount_amount": "125.00",
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_ref": "line_ref_sample",
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "product": {},
            "product_id": "prod_1001",
            "quantity": "1",
            "sku": "SKU-1001",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_details": [
              "..."
            ],
            "tax_exempt_reason": "tax_exempt_reason_sample",
            "tax_rate": "1.00",
            "tax_status": "taxable",
            "taxable_amount": "125.00",
            "unit_amount": "125.00"
          }
        ],
        "location_id": "loc_1001",
        "memo": "Payment received",
        "metadata": {},
        "payment_method": "pay_1001",
        "receipt_date": "2026-05-05",
        "register_id": "register_id_sample",
        "revenue_account_id": "acc_1001",
        "sales_rep_id": "sales_rep_1001",
        "ship_method": "ship_method_sample",
        "source_id": "src_1001",
        "source_system": "api",
        "status": "draft",
        "subtotal": "subtotal_sample",
        "tax_amount": "125.00",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "sales_receipt"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/sales_receipts" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/sales_receipts

Create a sales receipt

FieldTypeDescription
approval_statusstringApproval Status
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
line_itemsarray of objectLines
Show line_items[] fields
FieldTypeDescription
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
location_idstringLocation ID
memostringMemo
metadataobjectMetadata
payment_methodstringPayment Method
receipt_datestring (date)Receipt Date
register_idstringRegister ID
revenue_account_idstringRevenue Account ID
sales_rep_idstringSales Rep ID
ship_methodstringShip Method
statusstringStatus
total_amount requiredstringTotal Amount
{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "line_items": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "location_id": "loc_1001",
  "memo": "Payment received",
  "metadata": {},
  "payment_method": "pay_1001",
  "receipt_date": "2026-05-05",
  "register_id": "register_id_sample",
  "revenue_account_id": "acc_1001",
  "sales_rep_id": "sales_rep_1001",
  "ship_method": "ship_method_sample",
  "status": "draft",
  "total_amount": "125.00"
}
201 Created
FieldTypeDescription
data requiredSalesReceiptRecordA sales_receipt record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
discount_amountstringDiscount Amount
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
idstringCanonical ID
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
location_idstringLocation ID
memostringMemo
metadataobjectMetadata
payment_methodstringPayment Method
receipt_datestring (date)Receipt Date
register_idstringRegister ID
revenue_account_idstringRevenue Account ID
sales_rep_idstringSales Rep ID
ship_methodstringShip Method
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
subtotalstringSubtotal
tax_amountstringTax Amount
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "discount_amount": "125.00",
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "lines": [
      {
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "location_id": "loc_1001",
    "memo": "Payment received",
    "metadata": {},
    "payment_method": "pay_1001",
    "receipt_date": "2026-05-05",
    "register_id": "register_id_sample",
    "revenue_account_id": "acc_1001",
    "sales_rep_id": "sales_rep_1001",
    "ship_method": "ship_method_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "subtotal": "subtotal_sample",
    "tax_amount": "125.00",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "sales_receipt"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/sales_receipts" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "line_items": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "location_id": "loc_1001",
  "memo": "Payment received",
  "metadata": {},
  "payment_method": "pay_1001",
  "receipt_date": "2026-05-05",
  "register_id": "register_id_sample",
  "revenue_account_id": "acc_1001",
  "sales_rep_id": "sales_rep_1001",
  "ship_method": "ship_method_sample",
  "status": "draft",
  "total_amount": "125.00"
}'
GET /v1/sales_receipts/{id}

Get a sales receipt

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredSalesReceiptRecordA sales_receipt record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
discount_amountstringDiscount Amount
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
idstringCanonical ID
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
location_idstringLocation ID
memostringMemo
metadataobjectMetadata
payment_methodstringPayment Method
receipt_datestring (date)Receipt Date
register_idstringRegister ID
revenue_account_idstringRevenue Account ID
sales_rep_idstringSales Rep ID
ship_methodstringShip Method
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
subtotalstringSubtotal
tax_amountstringTax Amount
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "discount_amount": "125.00",
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "lines": [
      {
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "location_id": "loc_1001",
    "memo": "Payment received",
    "metadata": {},
    "payment_method": "pay_1001",
    "receipt_date": "2026-05-05",
    "register_id": "register_id_sample",
    "revenue_account_id": "acc_1001",
    "sales_rep_id": "sales_rep_1001",
    "ship_method": "ship_method_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "subtotal": "subtotal_sample",
    "tax_amount": "125.00",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "sales_receipt"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/sales_receipts/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/sales_receipts/{id}

Update a sales receipt

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
approval_statusstringApproval Status
currencystringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
line_itemsarray of objectLines
Show line_items[] fields
FieldTypeDescription
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
location_idstringLocation ID
memostringMemo
metadataobjectMetadata
payment_methodstringPayment Method
receipt_datestring (date)Receipt Date
register_idstringRegister ID
revenue_account_idstringRevenue Account ID
sales_rep_idstringSales Rep ID
ship_methodstringShip Method
statusstringStatus
total_amountstringTotal Amount
{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "line_items": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "location_id": "loc_1001",
  "memo": "Payment received",
  "metadata": {},
  "payment_method": "pay_1001",
  "receipt_date": "2026-05-05",
  "register_id": "register_id_sample",
  "revenue_account_id": "acc_1001",
  "sales_rep_id": "sales_rep_1001",
  "ship_method": "ship_method_sample",
  "status": "draft",
  "total_amount": "125.00"
}
200 Success
FieldTypeDescription
data requiredSalesReceiptRecordA sales_receipt record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
deposit_to_account_codestringDeposit Account Code
deposit_to_account_idstringDeposit Account ID
dimensionsobjectDimensions
discount_amountstringDiscount Amount
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
idstringCanonical ID
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
location_idstringLocation ID
memostringMemo
metadataobjectMetadata
payment_methodstringPayment Method
receipt_datestring (date)Receipt Date
register_idstringRegister ID
revenue_account_idstringRevenue Account ID
sales_rep_idstringSales Rep ID
ship_methodstringShip Method
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
subtotalstringSubtotal
tax_amountstringTax Amount
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "discount_amount": "125.00",
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "lines": [
      {
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "location_id": "loc_1001",
    "memo": "Payment received",
    "metadata": {},
    "payment_method": "pay_1001",
    "receipt_date": "2026-05-05",
    "register_id": "register_id_sample",
    "revenue_account_id": "acc_1001",
    "sales_rep_id": "sales_rep_1001",
    "ship_method": "ship_method_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "subtotal": "subtotal_sample",
    "tax_amount": "125.00",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "sales_receipt"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/sales_receipts/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "line_items": [
    {
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "location_id": "loc_1001",
  "memo": "Payment received",
  "metadata": {},
  "payment_method": "pay_1001",
  "receipt_date": "2026-05-05",
  "register_id": "register_id_sample",
  "revenue_account_id": "acc_1001",
  "sales_rep_id": "sales_rep_1001",
  "ship_method": "ship_method_sample",
  "status": "draft",
  "total_amount": "125.00"
}'
DELETE /v1/sales_receipts/{id}

Delete a sales receipt

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/sales_receipts/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Credit Memos

GET /v1/credit_memos

List credit memos

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by application status
approval_statusstringFilter by approval status
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "applied_at": "2026-05-05T12:00:00Z",
        "approval_status": "draft",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer_id": "cus_1001",
        "dimensions": {},
        "document_date": "2026-05-05",
        "document_number": "INV-1001",
        "effective_date": "2026-05-05",
        "id": "00000000-0000-0000-0000-000000000000",
        "invoice_id": "inv_1001",
        "issued_at": "2026-05-05T12:00:00Z",
        "lines": [
          {
            "amount": "125.00",
            "amount_includes_tax": false,
            "class_id": "class_1001",
            "currency": "USD",
            "description": "Office supplies",
            "detail": {
              "account_id": "...",
              "basis_amount": "...",
              "class_id": "...",
              "discount_amount": "...",
              "discount_percent": "...",
              "item_id": "...",
              "location_id": "...",
              "metadata": "...",
              "product": "...",
              "quantity": "...",
              "sku": "...",
              "subtotal_amount": "...",
              "type": "...",
              "unit_amount": "..."
            },
            "dimensions": {},
            "discount_amount": "125.00",
            "invoice_line_ref": "inv_1001",
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_ref": "line_ref_sample",
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "product": {},
            "product_id": "prod_1001",
            "quantity": "1",
            "reason_code": "VALIDATION_ERROR",
            "return_quantity": "1",
            "sku": "SKU-1001",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_details": [
              "..."
            ],
            "tax_exempt_reason": "tax_exempt_reason_sample",
            "tax_rate": "1.00",
            "tax_status": "taxable",
            "taxable_amount": "125.00",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "reason_code": "VALIDATION_ERROR",
        "refunded_at": "2026-05-05T12:00:00Z",
        "source_id": "src_1001",
        "source_system": "api",
        "status": "open",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "credit_memo"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/credit_memos" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/credit_memos

Create a credit memo

FieldTypeDescription
approval_statusstringApproval Status
currency requiredstringCurrency
customer_idstringCustomer ID
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
invoice_idstringInvoice ID
issued_atstring (date-time)Issued At
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
invoice_line_refstringInvoice Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
reason_codestringReason Code
return_quantitystringReturn Quantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
reason_codestringReason Code
status requiredstringStatus
total_amount requiredstringTotal Amount
{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "invoice_id": "inv_1001",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "invoice_line_ref": "inv_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "reason_code": "VALIDATION_ERROR",
      "return_quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "reason_code": "VALIDATION_ERROR",
  "status": "open",
  "total_amount": "125.00"
}
201 Created
FieldTypeDescription
data requiredCreditMemoRecordA credit_memo record as returned by the API
Show data fields
FieldTypeDescription
applied_atstring (date-time)Applied At
approval_statusstringApproval Status
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
idstringCanonical ID
invoice_idstringInvoice ID
issued_atstring (date-time)Issued At
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
invoice_line_refstringInvoice Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
reason_codestringReason Code
return_quantitystringReturn Quantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
reason_codestringReason Code
refunded_atstring (date-time)Refunded At
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "applied_at": "2026-05-05T12:00:00Z",
    "approval_status": "draft",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "dimensions": {},
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "invoice_id": "inv_1001",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "invoice_line_ref": "inv_1001",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "reason_code": "VALIDATION_ERROR",
        "return_quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "reason_code": "VALIDATION_ERROR",
    "refunded_at": "2026-05-05T12:00:00Z",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "open",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "credit_memo"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/credit_memos" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "invoice_id": "inv_1001",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "invoice_line_ref": "inv_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "reason_code": "VALIDATION_ERROR",
      "return_quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "reason_code": "VALIDATION_ERROR",
  "status": "open",
  "total_amount": "125.00"
}'
GET /v1/credit_memos/{id}

Get a credit memo

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredCreditMemoRecordA credit_memo record as returned by the API
Show data fields
FieldTypeDescription
applied_atstring (date-time)Applied At
approval_statusstringApproval Status
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
idstringCanonical ID
invoice_idstringInvoice ID
issued_atstring (date-time)Issued At
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
invoice_line_refstringInvoice Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
reason_codestringReason Code
return_quantitystringReturn Quantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
reason_codestringReason Code
refunded_atstring (date-time)Refunded At
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "applied_at": "2026-05-05T12:00:00Z",
    "approval_status": "draft",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "dimensions": {},
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "invoice_id": "inv_1001",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "invoice_line_ref": "inv_1001",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "reason_code": "VALIDATION_ERROR",
        "return_quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "reason_code": "VALIDATION_ERROR",
    "refunded_at": "2026-05-05T12:00:00Z",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "open",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "credit_memo"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/credit_memos/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/credit_memos/{id}

Update a credit memo

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
approval_statusstringApproval Status
currencystringCurrency
customer_idstringCustomer ID
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
invoice_idstringInvoice ID
issued_atstring (date-time)Issued At
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
invoice_line_refstringInvoice Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
reason_codestringReason Code
return_quantitystringReturn Quantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
reason_codestringReason Code
statusstringStatus
total_amountstringTotal Amount
{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "invoice_id": "inv_1001",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "invoice_line_ref": "inv_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "reason_code": "VALIDATION_ERROR",
      "return_quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "reason_code": "VALIDATION_ERROR",
  "status": "open",
  "total_amount": "125.00"
}
200 Success
FieldTypeDescription
data requiredCreditMemoRecordA credit_memo record as returned by the API
Show data fields
FieldTypeDescription
applied_atstring (date-time)Applied At
approval_statusstringApproval Status
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
effective_datestring (date)Effective Date
idstringCanonical ID
invoice_idstringInvoice ID
issued_atstring (date-time)Issued At
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
currencystringCurrency
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
invoice_line_refstringInvoice Line Ref
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
reason_codestringReason Code
return_quantitystringReturn Quantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
reason_codestringReason Code
refunded_atstring (date-time)Refunded At
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "applied_at": "2026-05-05T12:00:00Z",
    "approval_status": "draft",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "dimensions": {},
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "id": "00000000-0000-0000-0000-000000000000",
    "invoice_id": "inv_1001",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "currency": "USD",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "invoice_line_ref": "inv_1001",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "reason_code": "VALIDATION_ERROR",
        "return_quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "reason_code": "VALIDATION_ERROR",
    "refunded_at": "2026-05-05T12:00:00Z",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "open",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "credit_memo"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/credit_memos/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "approval_status": "draft",
  "currency": "USD",
  "customer_id": "cus_1001",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "invoice_id": "inv_1001",
  "issued_at": "2026-05-05T12:00:00Z",
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "currency": "USD",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "invoice_line_ref": "inv_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "reason_code": "VALIDATION_ERROR",
      "return_quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "reason_code": "VALIDATION_ERROR",
  "status": "open",
  "total_amount": "125.00"
}'
DELETE /v1/credit_memos/{id}

Delete a credit memo

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/credit_memos/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Refund Receipts

GET /v1/refund_receipts

List refund receipts

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by status
customer_idstringFilter by customer UUID
payment_idstringFilter by payment reference
start_datestringFilter by refund_date >= (YYYY-MM-DD)
end_datestringFilter by refund_date <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "charge_id": "charge_id_sample",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer_id": "cus_1001",
        "customer_name": "cus_1001",
        "document_date": "2026-05-05",
        "document_number": "INV-1001",
        "effective_date": "2026-05-05",
        "lines": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "amount": "125.00",
            "charge_line_ref": "charge_line_ref_sample",
            "class_id": "class_1001",
            "description": "Office supplies",
            "dimensions": {},
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "payment_line_ref": "pay_1001",
            "quantity": "1",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "net_amount": "125.00",
        "payment_id": "pay_1001",
        "reason": "reason_sample",
        "refund_date": "2026-05-05T12:00:00Z",
        "refund_id": "refund_id_sample",
        "source_system": "api",
        "status": "pending",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "refund_receipt"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/refund_receipts" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/refund_receipts

Create a refund receipt

FieldTypeDescription
charge_idstringCharge ID
currency requiredstringCurrency
customer_idstringCustomer ID
document_datestring (date)Document Date
document_numberstringNumber
effective_datestring (date)Effective Date
metadataobject
net_amountstringNet Amount
payment_idstringPayment ID
reasonstringReason
refund_datestring (date-time)Refund Date
statusstringStatus
total_amount requiredstringTotal
{
  "charge_id": "charge_id_sample",
  "currency": "USD",
  "customer_id": "cus_1001",
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "metadata": {},
  "net_amount": "125.00",
  "payment_id": "pay_1001",
  "reason": "reason_sample",
  "refund_date": "2026-05-05T12:00:00Z",
  "status": "pending",
  "total_amount": "125.00"
}
201 Created
FieldTypeDescription
data requiredRefundReceiptRecordA refund_receipt record as returned by the API
Show data fields
FieldTypeDescription
charge_idstringCharge ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
document_datestring (date)Document Date
document_numberstringNumber
effective_datestring (date)Effective Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
charge_line_refstringCharge Line Ref
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
payment_line_refstringPayment Line Ref
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
net_amountstringNet Amount
payment_idstringPayment ID
reasonstringReason
refund_datestring (date-time)Refund Date
refund_id requiredstringRefund ID
source_systemstringSource
statusstringStatus
total_amount requiredstringTotal
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "charge_id": "charge_id_sample",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "customer_name": "cus_1001",
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "charge_line_ref": "charge_line_ref_sample",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "payment_line_ref": "pay_1001",
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "net_amount": "125.00",
    "payment_id": "pay_1001",
    "reason": "reason_sample",
    "refund_date": "2026-05-05T12:00:00Z",
    "refund_id": "refund_id_sample",
    "source_system": "api",
    "status": "pending",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "refund_receipt"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/refund_receipts" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "charge_id": "charge_id_sample",
  "currency": "USD",
  "customer_id": "cus_1001",
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "metadata": {},
  "net_amount": "125.00",
  "payment_id": "pay_1001",
  "reason": "reason_sample",
  "refund_date": "2026-05-05T12:00:00Z",
  "status": "pending",
  "total_amount": "125.00"
}'
GET /v1/refund_receipts/{id}

Get a refund receipt

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredRefundReceiptRecordA refund_receipt record as returned by the API
Show data fields
FieldTypeDescription
charge_idstringCharge ID
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
document_datestring (date)Document Date
document_numberstringNumber
effective_datestring (date)Effective Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
charge_line_refstringCharge Line Ref
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
payment_line_refstringPayment Line Ref
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
net_amountstringNet Amount
payment_idstringPayment ID
reasonstringReason
refund_datestring (date-time)Refund Date
refund_id requiredstringRefund ID
source_systemstringSource
statusstringStatus
total_amount requiredstringTotal
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "charge_id": "charge_id_sample",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "customer_name": "cus_1001",
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "charge_line_ref": "charge_line_ref_sample",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "payment_line_ref": "pay_1001",
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "net_amount": "125.00",
    "payment_id": "pay_1001",
    "reason": "reason_sample",
    "refund_date": "2026-05-05T12:00:00Z",
    "refund_id": "refund_id_sample",
    "source_system": "api",
    "status": "pending",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "refund_receipt"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/refund_receipts/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Vendor Bills

GET /v1/vendor_bills

List vendor bills

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "approval_status": "draft",
        "bill_date": "2026-05-05",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "dimensions": {},
        "document_date": "2026-05-05",
        "document_number": "INV-1001",
        "due_date": "2026-05-05",
        "effective_date": "2026-05-05",
        "form_1099_type": "form_1099_type_sample",
        "id": "00000000-0000-0000-0000-000000000000",
        "is_1099_eligible": false,
        "lines": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "amount": "125.00",
            "amount_includes_tax": false,
            "billable": false,
            "class_id": "class_1001",
            "currency": "USD",
            "customer_id": "cus_1001",
            "description": "Office supplies",
            "detail": {
              "account_id": "...",
              "basis_amount": "...",
              "class_id": "...",
              "discount_amount": "...",
              "discount_percent": "...",
              "item_id": "...",
              "location_id": "...",
              "metadata": "...",
              "product": "...",
              "quantity": "...",
              "sku": "...",
              "subtotal_amount": "...",
              "type": "...",
              "unit_amount": "..."
            },
            "dimensions": {},
            "discount_amount": "125.00",
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_ref": "line_ref_sample",
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "product": {},
            "product_id": "prod_1001",
            "quantity": "1",
            "sku": "SKU-1001",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_details": [
              "..."
            ],
            "tax_exempt_reason": "tax_exempt_reason_sample",
            "tax_rate": "1.00",
            "tax_status": "taxable",
            "taxable_amount": "125.00",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "paid_date": "2026-05-05",
        "purchase_order_id": "purchase_order_id_sample",
        "source_id": "src_1001",
        "source_system": "api",
        "status": "draft",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z",
        "vendor_id": "ven_1001"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "vendor_bill"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/vendor_bills" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/vendor_bills

Create a vendor bill

FieldTypeDescription
approval_statusstringApproval Status
bill_datestring (date)Bill Date
currency requiredstringCurrency
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
due_datestring (date)Due Date
effective_datestring (date)Effective Date
form_1099_typestring1099 Form Type
is_1099_eligibleboolean1099 Eligible
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
billablebooleanBillable
class_idstringClass ID
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
purchase_order_idstringPurchase Order ID
status requiredstringStatus
total_amount requiredstringTotal Amount
vendor_id requiredstringVendor ID
{
  "approval_status": "draft",
  "bill_date": "2026-05-05",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "due_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billable": false,
      "class_id": "class_1001",
      "currency": "USD",
      "customer_id": "cus_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "purchase_order_id": "purchase_order_id_sample",
  "status": "draft",
  "total_amount": "125.00",
  "vendor_id": "ven_1001"
}
201 Created
FieldTypeDescription
data requiredVendorBillRecordA vendor_bill record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
bill_datestring (date)Bill Date
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
due_datestring (date)Due Date
effective_datestring (date)Effective Date
form_1099_typestring1099 Form Type
idstringCanonical ID
is_1099_eligibleboolean1099 Eligible
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
billablebooleanBillable
class_idstringClass ID
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
paid_datestring (date)Paid Date
purchase_order_idstringPurchase Order ID
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
vendor_id requiredstringVendor ID
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "bill_date": "2026-05-05",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "dimensions": {},
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "due_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "form_1099_type": "form_1099_type_sample",
    "id": "00000000-0000-0000-0000-000000000000",
    "is_1099_eligible": false,
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "billable": false,
        "class_id": "class_1001",
        "currency": "USD",
        "customer_id": "cus_1001",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "paid_date": "2026-05-05",
    "purchase_order_id": "purchase_order_id_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor_bill"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/vendor_bills" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "approval_status": "draft",
  "bill_date": "2026-05-05",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "due_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billable": false,
      "class_id": "class_1001",
      "currency": "USD",
      "customer_id": "cus_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "purchase_order_id": "purchase_order_id_sample",
  "status": "draft",
  "total_amount": "125.00",
  "vendor_id": "ven_1001"
}'
GET /v1/vendor_bills/{id}

Get a vendor bill

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredVendorBillRecordA vendor_bill record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
bill_datestring (date)Bill Date
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
due_datestring (date)Due Date
effective_datestring (date)Effective Date
form_1099_typestring1099 Form Type
idstringCanonical ID
is_1099_eligibleboolean1099 Eligible
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
billablebooleanBillable
class_idstringClass ID
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
paid_datestring (date)Paid Date
purchase_order_idstringPurchase Order ID
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
vendor_id requiredstringVendor ID
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "bill_date": "2026-05-05",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "dimensions": {},
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "due_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "form_1099_type": "form_1099_type_sample",
    "id": "00000000-0000-0000-0000-000000000000",
    "is_1099_eligible": false,
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "billable": false,
        "class_id": "class_1001",
        "currency": "USD",
        "customer_id": "cus_1001",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "paid_date": "2026-05-05",
    "purchase_order_id": "purchase_order_id_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor_bill"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/vendor_bills/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/vendor_bills/{id}

Update a vendor bill

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
approval_statusstringApproval Status
bill_datestring (date)Bill Date
currencystringCurrency
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
due_datestring (date)Due Date
effective_datestring (date)Effective Date
form_1099_typestring1099 Form Type
is_1099_eligibleboolean1099 Eligible
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
billablebooleanBillable
class_idstringClass ID
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
purchase_order_idstringPurchase Order ID
statusstringStatus
total_amountstringTotal Amount
vendor_idstringVendor ID
{
  "approval_status": "draft",
  "bill_date": "2026-05-05",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "due_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billable": false,
      "class_id": "class_1001",
      "currency": "USD",
      "customer_id": "cus_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "purchase_order_id": "purchase_order_id_sample",
  "status": "draft",
  "total_amount": "125.00",
  "vendor_id": "ven_1001"
}
200 Success
FieldTypeDescription
data requiredVendorBillRecordA vendor_bill record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
bill_datestring (date)Bill Date
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
dimensionsobjectDimensions
document_datestring (date)Document Date
document_numberstringDocument Number
due_datestring (date)Due Date
effective_datestring (date)Effective Date
form_1099_typestring1099 Form Type
idstringCanonical ID
is_1099_eligibleboolean1099 Eligible
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
billablebooleanBillable
class_idstringClass ID
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
discount_amountstringDiscount Amount
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
product_idstringProduct ID
quantitystringQuantity
skustringSKU
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
unit_amountstringUnit Amount
metadataobjectMetadata
paid_datestring (date)Paid Date
purchase_order_idstringPurchase Order ID
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
vendor_id requiredstringVendor ID
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "bill_date": "2026-05-05",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "dimensions": {},
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "due_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "form_1099_type": "form_1099_type_sample",
    "id": "00000000-0000-0000-0000-000000000000",
    "is_1099_eligible": false,
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "amount_includes_tax": false,
        "billable": false,
        "class_id": "class_1001",
        "currency": "USD",
        "customer_id": "cus_1001",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "discount_amount": "125.00",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "product_id": "prod_1001",
        "quantity": "1",
        "sku": "SKU-1001",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "paid_date": "2026-05-05",
    "purchase_order_id": "purchase_order_id_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor_bill"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/vendor_bills/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "approval_status": "draft",
  "bill_date": "2026-05-05",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "due_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "amount": "125.00",
      "amount_includes_tax": false,
      "billable": false,
      "class_id": "class_1001",
      "currency": "USD",
      "customer_id": "cus_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "discount_amount": "125.00",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "product": {},
      "product_id": "prod_1001",
      "quantity": "1",
      "sku": "SKU-1001",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00",
      "unit_amount": "125.00"
    }
  ],
  "metadata": {},
  "purchase_order_id": "purchase_order_id_sample",
  "status": "draft",
  "total_amount": "125.00",
  "vendor_id": "ven_1001"
}'
DELETE /v1/vendor_bills/{id}

Delete a vendor bill

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/vendor_bills/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Bill Payments

GET /v1/bill_payments

List bill payments

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by status
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "allocations": [
          {
            "allocated_on": "2026-05-05",
            "amount": "125.00",
            "bill_id": "bill_id_sample"
          }
        ],
        "amount": "125.00",
        "approval_status": "draft",
        "bill_id": "bill_id_sample",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "form_1099_type": "form_1099_type_sample",
        "is_1099_eligible": false,
        "metadata": {},
        "payment_date": "2026-05-05",
        "payment_method": "pay_1001",
        "payment_method_details": {},
        "payment_method_type": "check",
        "payment_number": "pay_1001",
        "source_id": "src_1001",
        "source_system": "api",
        "status": "pending",
        "updated_at": "2026-05-05T12:00:00Z",
        "vendor_id": "ven_1001"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "bill_payment"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bill_payments" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/bill_payments

Create a bill payment

FieldTypeDescription
amount requiredstringAmount
approval_statusstringApproval Status
bill_idstringBill ID
currency requiredstringCurrency
form_1099_typestring1099 Form Type
is_1099_eligibleboolean1099 Eligible
metadataobjectMetadata
payment_datestring (date)Payment Date
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
payment_numberstringPayment Number
statusstringStatus
vendor_id requiredstringVendor ID
{
  "amount": "125.00",
  "approval_status": "draft",
  "bill_id": "bill_id_sample",
  "currency": "USD",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "metadata": {},
  "payment_date": "2026-05-05",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "payment_number": "pay_1001",
  "status": "pending",
  "vendor_id": "ven_1001"
}
201 Created
FieldTypeDescription
data requiredBillPaymentRecordA bill_payment record as returned by the API
Show data fields
FieldTypeDescription
allocationsarray of objectAllocations
Show allocations[] fields
FieldTypeDescription
allocated_onstring (date)Allocated On
amount requiredstringAmount
bill_id requiredstringBill ID
amount requiredstringAmount
approval_statusstringApproval Status
bill_idstringBill ID
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
form_1099_typestring1099 Form Type
is_1099_eligibleboolean1099 Eligible
metadataobjectMetadata
payment_datestring (date)Payment Date
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
payment_numberstringPayment Number
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
updated_atstring (date-time)
vendor_id requiredstringVendor ID
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "allocations": [
      {
        "allocated_on": "2026-05-05",
        "amount": "125.00",
        "bill_id": "bill_id_sample"
      }
    ],
    "amount": "125.00",
    "approval_status": "draft",
    "bill_id": "bill_id_sample",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "form_1099_type": "form_1099_type_sample",
    "is_1099_eligible": false,
    "metadata": {},
    "payment_date": "2026-05-05",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "payment_number": "pay_1001",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "pending",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bill_payment"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/bill_payments" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": "125.00",
  "approval_status": "draft",
  "bill_id": "bill_id_sample",
  "currency": "USD",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "metadata": {},
  "payment_date": "2026-05-05",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "payment_number": "pay_1001",
  "status": "pending",
  "vendor_id": "ven_1001"
}'
GET /v1/bill_payments/{id}

Get a bill payment

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredBillPaymentRecordA bill_payment record as returned by the API
Show data fields
FieldTypeDescription
allocationsarray of objectAllocations
Show allocations[] fields
FieldTypeDescription
allocated_onstring (date)Allocated On
amount requiredstringAmount
bill_id requiredstringBill ID
amount requiredstringAmount
approval_statusstringApproval Status
bill_idstringBill ID
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
form_1099_typestring1099 Form Type
is_1099_eligibleboolean1099 Eligible
metadataobjectMetadata
payment_datestring (date)Payment Date
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
payment_numberstringPayment Number
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
updated_atstring (date-time)
vendor_id requiredstringVendor ID
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "allocations": [
      {
        "allocated_on": "2026-05-05",
        "amount": "125.00",
        "bill_id": "bill_id_sample"
      }
    ],
    "amount": "125.00",
    "approval_status": "draft",
    "bill_id": "bill_id_sample",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "form_1099_type": "form_1099_type_sample",
    "is_1099_eligible": false,
    "metadata": {},
    "payment_date": "2026-05-05",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "payment_number": "pay_1001",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "pending",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bill_payment"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bill_payments/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Expenses

GET /v1/expenses

List expenses

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by approval status
start_datestringFilter by expense_date >= (YYYY-MM-DD)
end_datestringFilter by expense_date <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "amount": "125.00",
        "category": "cat_1001",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "description": "Office supplies",
        "dimensions": {},
        "document_date": "2026-05-05",
        "effective_date": "2026-05-05",
        "expense_account_code": "VALIDATION_ERROR",
        "expense_account_id": "acc_1001",
        "expense_date": "2026-05-05",
        "form_1099_type": "form_1099_type_sample",
        "id": "00000000-0000-0000-0000-000000000000",
        "is_1099_eligible": false,
        "line_items": [
          {
            "amount": "125.00",
            "amount_includes_tax": false,
            "class_id": "class_1001",
            "description": "Office supplies",
            "detail": {
              "account_id": "...",
              "basis_amount": "...",
              "class_id": "...",
              "discount_amount": "...",
              "discount_percent": "...",
              "item_id": "...",
              "location_id": "...",
              "metadata": "...",
              "product": "...",
              "quantity": "...",
              "sku": "...",
              "subtotal_amount": "...",
              "type": "...",
              "unit_amount": "..."
            },
            "dimensions": {},
            "expense_account_code": "VALIDATION_ERROR",
            "expense_account_id": "acc_1001",
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "quantity": "1",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_details": [
              "..."
            ],
            "tax_exempt_reason": "tax_exempt_reason_sample",
            "tax_rate": "1.00",
            "tax_status": "taxable",
            "taxable_amount": "125.00"
          }
        ],
        "metadata": {},
        "payment_account_id": "acc_1001",
        "payment_method": "pay_1001",
        "payment_method_details": {},
        "payment_method_type": "check",
        "source_id": "src_1001",
        "source_system": "api",
        "status": "draft",
        "tax_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z",
        "vendor_id": "ven_1001",
        "vendor_name": "ven_1001"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "expense"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/expenses" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/expenses

Create an expense

FieldTypeDescription
amount requiredstringAmount
categorystringCategory
currency requiredstringCurrency
descriptionstringDescription
dimensionsobjectDimensions
document_datestring (date)Document Date
effective_datestring (date)Effective Date
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
expense_datestring (date)Expense Date
form_1099_typestring1099 Form Type
is_1099_eligibleboolean1099 Eligible
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
metadataobjectMetadata
payment_account_idstringPayment Account ID
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
statusstringStatus
tax_amountstringTax Amount
vendor_idstringVendor ID
vendor_namestringVendor Name
{
  "amount": "125.00",
  "category": "cat_1001",
  "currency": "USD",
  "description": "Office supplies",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "expense_account_code": "VALIDATION_ERROR",
  "expense_account_id": "acc_1001",
  "expense_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "expense_account_code": "VALIDATION_ERROR",
      "expense_account_id": "acc_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "quantity": "1",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00"
    }
  ],
  "metadata": {},
  "payment_account_id": "acc_1001",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "status": "draft",
  "tax_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}
201 Created
FieldTypeDescription
data requiredExpenseRecordA expense record as returned by the API
Show data fields
FieldTypeDescription
amount requiredstringAmount
categorystringCategory
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
descriptionstringDescription
dimensionsobjectDimensions
document_datestring (date)Document Date
effective_datestring (date)Effective Date
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
expense_datestring (date)Expense Date
form_1099_typestring1099 Form Type
idstringCanonical ID
is_1099_eligibleboolean1099 Eligible
line_itemsarray of objectLines
Show line_items[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
metadataobjectMetadata
payment_account_idstringPayment Account ID
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
tax_amountstringTax Amount
updated_atstring (date-time)
vendor_idstringVendor ID
vendor_namestringVendor Name
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount": "125.00",
    "category": "cat_1001",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "description": "Office supplies",
    "dimensions": {},
    "document_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "expense_account_code": "VALIDATION_ERROR",
    "expense_account_id": "acc_1001",
    "expense_date": "2026-05-05",
    "form_1099_type": "form_1099_type_sample",
    "id": "00000000-0000-0000-0000-000000000000",
    "is_1099_eligible": false,
    "line_items": [
      {
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "expense_account_code": "VALIDATION_ERROR",
        "expense_account_id": "acc_1001",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00"
      }
    ],
    "metadata": {},
    "payment_account_id": "acc_1001",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "tax_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001",
    "vendor_name": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "expense"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/expenses" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": "125.00",
  "category": "cat_1001",
  "currency": "USD",
  "description": "Office supplies",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "expense_account_code": "VALIDATION_ERROR",
  "expense_account_id": "acc_1001",
  "expense_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "expense_account_code": "VALIDATION_ERROR",
      "expense_account_id": "acc_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "quantity": "1",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00"
    }
  ],
  "metadata": {},
  "payment_account_id": "acc_1001",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "status": "draft",
  "tax_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}'
GET /v1/expenses/{id}

Get an expense

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredExpenseRecordA expense record as returned by the API
Show data fields
FieldTypeDescription
amount requiredstringAmount
categorystringCategory
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
descriptionstringDescription
dimensionsobjectDimensions
document_datestring (date)Document Date
effective_datestring (date)Effective Date
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
expense_datestring (date)Expense Date
form_1099_typestring1099 Form Type
idstringCanonical ID
is_1099_eligibleboolean1099 Eligible
line_itemsarray of objectLines
Show line_items[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
metadataobjectMetadata
payment_account_idstringPayment Account ID
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
tax_amountstringTax Amount
updated_atstring (date-time)
vendor_idstringVendor ID
vendor_namestringVendor Name
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount": "125.00",
    "category": "cat_1001",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "description": "Office supplies",
    "dimensions": {},
    "document_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "expense_account_code": "VALIDATION_ERROR",
    "expense_account_id": "acc_1001",
    "expense_date": "2026-05-05",
    "form_1099_type": "form_1099_type_sample",
    "id": "00000000-0000-0000-0000-000000000000",
    "is_1099_eligible": false,
    "line_items": [
      {
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "expense_account_code": "VALIDATION_ERROR",
        "expense_account_id": "acc_1001",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00"
      }
    ],
    "metadata": {},
    "payment_account_id": "acc_1001",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "tax_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001",
    "vendor_name": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "expense"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/expenses/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/expenses/{id}

Update an expense

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
amountstringAmount
categorystringCategory
currencystringCurrency
descriptionstringDescription
dimensionsobjectDimensions
document_datestring (date)Document Date
effective_datestring (date)Effective Date
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
expense_datestring (date)Expense Date
form_1099_typestring1099 Form Type
is_1099_eligibleboolean1099 Eligible
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
metadataobjectMetadata
payment_account_idstringPayment Account ID
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
statusstringStatus
tax_amountstringTax Amount
vendor_idstringVendor ID
vendor_namestringVendor Name
{
  "amount": "125.00",
  "category": "cat_1001",
  "currency": "USD",
  "description": "Office supplies",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "expense_account_code": "VALIDATION_ERROR",
  "expense_account_id": "acc_1001",
  "expense_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "expense_account_code": "VALIDATION_ERROR",
      "expense_account_id": "acc_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "quantity": "1",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00"
    }
  ],
  "metadata": {},
  "payment_account_id": "acc_1001",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "status": "draft",
  "tax_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}
200 Success
FieldTypeDescription
data requiredExpenseRecordA expense record as returned by the API
Show data fields
FieldTypeDescription
amount requiredstringAmount
categorystringCategory
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
descriptionstringDescription
dimensionsobjectDimensions
document_datestring (date)Document Date
effective_datestring (date)Effective Date
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
expense_datestring (date)Expense Date
form_1099_typestring1099 Form Type
idstringCanonical ID
is_1099_eligibleboolean1099 Eligible
line_itemsarray of objectLines
Show line_items[] fields
FieldTypeDescription
amountstringAmount
amount_includes_taxbooleanAmount Includes Tax
class_idstringClass ID
descriptionstringDescription
detailobjectLine Detail
Show detail fields
FieldTypeDescription
account_idstringAccount ID
basis_amountstringBasis Amount
class_idstringClass ID
discount_amountstringDiscount Amount
discount_percentstringDiscount Percent
item_idstringItem ID
location_idstringLocation ID
metadataobjectMetadata
productobjectProduct
quantitystringQuantity
skustringSKU
subtotal_amountstringSubtotal Amount
type requiredstringDetail Type
unit_amountstringUnit Amount
dimensionsobjectDimensions
expense_account_codestringExpense Account Code
expense_account_idstringExpense Account ID
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
tax_detailsarray of objectTax Details
Show tax_details[] fields
FieldTypeDescription
allocation_refstringAllocation Ref
amount_includes_tax requiredbooleanAmount Includes Tax
fulfillment_refstringFulfillment Ref
jurisdiction_codestringJurisdiction Code
jurisdiction_levelstringJurisdiction Level
jurisdiction_namestringJurisdiction Name
metadataobjectMetadata
provider_detail_refstringProvider Detail Ref
provider_keystringProvider Key
provider_tax_rate_refstringProvider Tax Rate Ref
ratestringRate
ship_from_refstringShip From Ref
ship_to_refstringShip To Ref
tax_amount requiredstringTax Amount
tax_codestringTax Code
tax_detail_ref requiredstringTax Detail Ref
tax_namestringTax Name
tax_typestringTax Type
taxability_reasonstringTaxability Reason
taxable_amountstringTaxable Amount
tax_exempt_reasonstringTax Exempt Reason
tax_ratestringTax Rate
tax_statusstringTax Status
taxable_amountstringTaxable Amount
metadataobjectMetadata
payment_account_idstringPayment Account ID
payment_methodstringPayment Method
payment_method_detailsobjectPayment Method Details
payment_method_typestringPayment Method Type
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
tax_amountstringTax Amount
updated_atstring (date-time)
vendor_idstringVendor ID
vendor_namestringVendor Name
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount": "125.00",
    "category": "cat_1001",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "description": "Office supplies",
    "dimensions": {},
    "document_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "expense_account_code": "VALIDATION_ERROR",
    "expense_account_id": "acc_1001",
    "expense_date": "2026-05-05",
    "form_1099_type": "form_1099_type_sample",
    "id": "00000000-0000-0000-0000-000000000000",
    "is_1099_eligible": false,
    "line_items": [
      {
        "amount": "125.00",
        "amount_includes_tax": false,
        "class_id": "class_1001",
        "description": "Office supplies",
        "detail": {
          "account_id": "acc_1001",
          "basis_amount": "125.00",
          "class_id": "class_1001",
          "discount_amount": "125.00",
          "discount_percent": "discount_percent_sample",
          "item_id": "item_1001",
          "location_id": "loc_1001",
          "metadata": {},
          "product": {},
          "quantity": "1",
          "sku": "SKU-1001",
          "subtotal_amount": "125.00",
          "type": "item",
          "unit_amount": "125.00"
        },
        "dimensions": {},
        "expense_account_code": "VALIDATION_ERROR",
        "expense_account_id": "acc_1001",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "tax_details": [
          {
            "allocation_ref": "loc_1001",
            "amount_includes_tax": false,
            "fulfillment_ref": "fulfillment_ref_sample",
            "jurisdiction_code": "VALIDATION_ERROR",
            "jurisdiction_level": "jurisdiction_level_sample",
            "jurisdiction_name": "Acme Supplies",
            "metadata": {},
            "provider_detail_ref": "provider_detail_ref_sample",
            "provider_key": "provider_key_sample",
            "provider_tax_rate_ref": "1.00",
            "rate": "1.00",
            "ship_from_ref": "ship_from_ref_sample",
            "ship_to_ref": "ship_to_ref_sample",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "tax_detail_ref": "tax_detail_ref_sample",
            "tax_name": "Acme Supplies",
            "tax_type": "tax_type_sample",
            "taxability_reason": "taxability_reason_sample",
            "taxable_amount": "125.00"
          }
        ],
        "tax_exempt_reason": "tax_exempt_reason_sample",
        "tax_rate": "1.00",
        "tax_status": "taxable",
        "taxable_amount": "125.00"
      }
    ],
    "metadata": {},
    "payment_account_id": "acc_1001",
    "payment_method": "pay_1001",
    "payment_method_details": {},
    "payment_method_type": "check",
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "tax_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001",
    "vendor_name": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "expense"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/expenses/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": "125.00",
  "category": "cat_1001",
  "currency": "USD",
  "description": "Office supplies",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "expense_account_code": "VALIDATION_ERROR",
  "expense_account_id": "acc_1001",
  "expense_date": "2026-05-05",
  "form_1099_type": "form_1099_type_sample",
  "is_1099_eligible": false,
  "lines": [
    {
      "amount": "125.00",
      "amount_includes_tax": false,
      "class_id": "class_1001",
      "description": "Office supplies",
      "detail": {
        "account_id": "acc_1001",
        "basis_amount": "125.00",
        "class_id": "class_1001",
        "discount_amount": "125.00",
        "discount_percent": "discount_percent_sample",
        "item_id": "item_1001",
        "location_id": "loc_1001",
        "metadata": {},
        "product": {},
        "quantity": "1",
        "sku": "SKU-1001",
        "subtotal_amount": "125.00",
        "type": "item",
        "unit_amount": "125.00"
      },
      "dimensions": {},
      "expense_account_code": "VALIDATION_ERROR",
      "expense_account_id": "acc_1001",
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_type": "product",
      "location_id": "loc_1001",
      "metadata": {},
      "quantity": "1",
      "tax_amount": "125.00",
      "tax_code": "VALIDATION_ERROR",
      "tax_details": [
        {
          "allocation_ref": "loc_1001",
          "amount_includes_tax": false,
          "fulfillment_ref": "fulfillment_ref_sample",
          "jurisdiction_code": "VALIDATION_ERROR",
          "jurisdiction_level": "jurisdiction_level_sample",
          "jurisdiction_name": "Acme Supplies",
          "metadata": {},
          "provider_detail_ref": "provider_detail_ref_sample",
          "provider_key": "provider_key_sample",
          "provider_tax_rate_ref": "1.00",
          "rate": "1.00",
          "ship_from_ref": "ship_from_ref_sample",
          "ship_to_ref": "ship_to_ref_sample",
          "tax_amount": "125.00",
          "tax_code": "VALIDATION_ERROR",
          "tax_detail_ref": "tax_detail_ref_sample",
          "tax_name": "Acme Supplies",
          "tax_type": "tax_type_sample",
          "taxability_reason": "taxability_reason_sample",
          "taxable_amount": "125.00"
        }
      ],
      "tax_exempt_reason": "tax_exempt_reason_sample",
      "tax_rate": "1.00",
      "tax_status": "taxable",
      "taxable_amount": "125.00"
    }
  ],
  "metadata": {},
  "payment_account_id": "acc_1001",
  "payment_method": "pay_1001",
  "payment_method_details": {},
  "payment_method_type": "check",
  "status": "draft",
  "tax_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}'
DELETE /v1/expenses/{id}

Delete an expense

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/expenses/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Vendor Credits

GET /v1/vendor_credits

List vendor credits

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by display status
approval_statusstringFilter by approval status
application_statusstringFilter by application status
vendor_idstringFilter by vendor UUID
start_datestringFilter by credit_date >= (YYYY-MM-DD)
end_datestringFilter by credit_date <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "amount_remaining": "125.00",
        "application_status": "open",
        "approval_status": "draft",
        "created_at": "2026-05-05T12:00:00Z",
        "credit_date": "2026-05-05",
        "credit_id": "credit_id_sample",
        "currency": "USD",
        "description": "Office supplies",
        "document_date": "2026-05-05",
        "document_number": "INV-1001",
        "effective_date": "2026-05-05",
        "lines": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "amount": "125.00",
            "bill_line_ref": "bill_line_ref_sample",
            "class_id": "class_1001",
            "description": "Office supplies",
            "dimensions": {},
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "quantity": "1",
            "reason_code": "VALIDATION_ERROR",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "source_system": "api",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z",
        "vendor_id": "ven_1001",
        "vendor_name": "ven_1001"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "vendor_credit"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/vendor_credits" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/vendor_credits

Create a vendor credit

FieldTypeDescription
credit_datestring (date)Credit Date
currency requiredstringCurrency
descriptionstringDescription
document_datestring (date)Document Date
document_numberstringNumber
effective_datestring (date)Effective Date
metadataobject
total_amount requiredstringTotal
vendor_idstringVendor ID
vendor_namestringVendor
{
  "credit_date": "2026-05-05",
  "currency": "USD",
  "description": "Office supplies",
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "metadata": {},
  "total_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}
201 Created
FieldTypeDescription
data requiredVendorCreditRecordA vendor_credit record as returned by the API
Show data fields
FieldTypeDescription
amount_remainingstringRemaining
application_statusstringApplication
approval_statusstringStatus
created_atstring (date-time)
credit_datestring (date)Credit Date
credit_id requiredstringCredit ID
currency requiredstringCurrency
descriptionstringDescription
document_datestring (date)Document Date
document_numberstringNumber
effective_datestring (date)Effective Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
bill_line_refstringBill Line Ref
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
reason_codestringReason Code
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
source_systemstringSource
total_amount requiredstringTotal
updated_atstring (date-time)
vendor_idstringVendor ID
vendor_namestringVendor
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount_remaining": "125.00",
    "application_status": "open",
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_date": "2026-05-05",
    "credit_id": "credit_id_sample",
    "currency": "USD",
    "description": "Office supplies",
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "bill_line_ref": "bill_line_ref_sample",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "reason_code": "VALIDATION_ERROR",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "source_system": "api",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001",
    "vendor_name": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor_credit"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/vendor_credits" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "credit_date": "2026-05-05",
  "currency": "USD",
  "description": "Office supplies",
  "document_date": "2026-05-05",
  "document_number": "INV-1001",
  "effective_date": "2026-05-05",
  "metadata": {},
  "total_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}'
GET /v1/vendor_credits/{id}

Get a vendor credit

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredVendorCreditRecordA vendor_credit record as returned by the API
Show data fields
FieldTypeDescription
amount_remainingstringRemaining
application_statusstringApplication
approval_statusstringStatus
created_atstring (date-time)
credit_datestring (date)Credit Date
credit_id requiredstringCredit ID
currency requiredstringCurrency
descriptionstringDescription
document_datestring (date)Document Date
document_numberstringNumber
effective_datestring (date)Effective Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
bill_line_refstringBill Line Ref
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
reason_codestringReason Code
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
source_systemstringSource
total_amount requiredstringTotal
updated_atstring (date-time)
vendor_idstringVendor ID
vendor_namestringVendor
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount_remaining": "125.00",
    "application_status": "open",
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_date": "2026-05-05",
    "credit_id": "credit_id_sample",
    "currency": "USD",
    "description": "Office supplies",
    "document_date": "2026-05-05",
    "document_number": "INV-1001",
    "effective_date": "2026-05-05",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "bill_line_ref": "bill_line_ref_sample",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "reason_code": "VALIDATION_ERROR",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "source_system": "api",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001",
    "vendor_name": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "vendor_credit"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/vendor_credits/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Quotes

GET /v1/quotes

List quotes

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by status
approval_statusstringFilter by approval status
customer_idstringFilter by customer UUID
start_datestringFilter by issued_at >= (YYYY-MM-DD)
end_datestringFilter by issued_at <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "approval_status": "draft",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer_id": "cus_1001",
        "customer_name": "cus_1001",
        "description": "Office supplies",
        "document_number": "INV-1001",
        "expires_at": "2026-05-05T12:00:00Z",
        "issued_at": "2026-05-05T12:00:00Z",
        "lines": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "amount": "125.00",
            "class_id": "class_1001",
            "description": "Office supplies",
            "dimensions": {},
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "quantity": "1",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "quote_id": "quote_id_sample",
        "source_system": "api",
        "status": "draft",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "quote"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/quotes" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/quotes

Create a quote

FieldTypeDescription
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
descriptionstringDescription
document_numberstringNumber
expires_atstring (date-time)Expires
issued_atstring (date-time)Issue Date
metadataobject
statusstringStatus
total_amount requiredstringTotal
{
  "currency": "USD",
  "customer_id": "cus_1001",
  "customer_name": "cus_1001",
  "description": "Office supplies",
  "document_number": "INV-1001",
  "expires_at": "2026-05-05T12:00:00Z",
  "issued_at": "2026-05-05T12:00:00Z",
  "metadata": {},
  "status": "draft",
  "total_amount": "125.00"
}
201 Created
FieldTypeDescription
data requiredQuoteRecordA quote record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
descriptionstringDescription
document_numberstringNumber
expires_atstring (date-time)Expires
issued_atstring (date-time)Issue Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
quote_id requiredstringQuote ID
source_systemstringSource
statusstringStatus
total_amount requiredstringTotal
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "customer_name": "cus_1001",
    "description": "Office supplies",
    "document_number": "INV-1001",
    "expires_at": "2026-05-05T12:00:00Z",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "quote_id": "quote_id_sample",
    "source_system": "api",
    "status": "draft",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "quote"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/quotes" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "currency": "USD",
  "customer_id": "cus_1001",
  "customer_name": "cus_1001",
  "description": "Office supplies",
  "document_number": "INV-1001",
  "expires_at": "2026-05-05T12:00:00Z",
  "issued_at": "2026-05-05T12:00:00Z",
  "metadata": {},
  "status": "draft",
  "total_amount": "125.00"
}'
GET /v1/quotes/{id}

Get a quote

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredQuoteRecordA quote record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
descriptionstringDescription
document_numberstringNumber
expires_atstring (date-time)Expires
issued_atstring (date-time)Issue Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
quote_id requiredstringQuote ID
source_systemstringSource
statusstringStatus
total_amount requiredstringTotal
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "customer_name": "cus_1001",
    "description": "Office supplies",
    "document_number": "INV-1001",
    "expires_at": "2026-05-05T12:00:00Z",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "quote_id": "quote_id_sample",
    "source_system": "api",
    "status": "draft",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "quote"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/quotes/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Sales Orders

GET /v1/sales_orders

List sales orders

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by status
customer_idstringFilter by customer UUID
start_datestringFilter by issued_at >= (YYYY-MM-DD)
end_datestringFilter by issued_at <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "approval_status": "draft",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer_id": "cus_1001",
        "customer_name": "cus_1001",
        "document_number": "INV-1001",
        "issued_at": "2026-05-05T12:00:00Z",
        "lines": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "amount": "125.00",
            "class_id": "class_1001",
            "description": "Office supplies",
            "dimensions": {},
            "fulfilled_quantity": "1",
            "invoiced_quantity": "1",
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "quantity": "1",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "sales_order_id": "sales_order_id_sample",
        "source_system": "api",
        "status": "draft",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "sales_order"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/sales_orders" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/sales_orders

Create a sales order

FieldTypeDescription
currency requiredstringCurrency
customer_idstringCustomer ID
document_numberstringNumber
issued_atstring (date-time)Issue Date
metadataobject
statusstringStatus
total_amount requiredstringTotal
{
  "currency": "USD",
  "customer_id": "cus_1001",
  "document_number": "INV-1001",
  "issued_at": "2026-05-05T12:00:00Z",
  "metadata": {},
  "status": "draft",
  "total_amount": "125.00"
}
201 Created
FieldTypeDescription
data requiredSalesOrderRecordA sales_order record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
document_numberstringNumber
issued_atstring (date-time)Issue Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
fulfilled_quantitystringFulfilled Quantity
invoiced_quantitystringInvoiced Quantity
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
sales_order_id requiredstringSales Order ID
source_systemstringSource
statusstringStatus
total_amount requiredstringTotal
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "customer_name": "cus_1001",
    "document_number": "INV-1001",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "fulfilled_quantity": "1",
        "invoiced_quantity": "1",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "sales_order_id": "sales_order_id_sample",
    "source_system": "api",
    "status": "draft",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "sales_order"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/sales_orders" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "currency": "USD",
  "customer_id": "cus_1001",
  "document_number": "INV-1001",
  "issued_at": "2026-05-05T12:00:00Z",
  "metadata": {},
  "status": "draft",
  "total_amount": "125.00"
}'
GET /v1/sales_orders/{id}

Get a sales order

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredSalesOrderRecordA sales_order record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval
created_atstring (date-time)
currency requiredstringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
document_numberstringNumber
issued_atstring (date-time)Issue Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
fulfilled_quantitystringFulfilled Quantity
invoiced_quantitystringInvoiced Quantity
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
sales_order_id requiredstringSales Order ID
source_systemstringSource
statusstringStatus
total_amount requiredstringTotal
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "customer_name": "cus_1001",
    "document_number": "INV-1001",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "fulfilled_quantity": "1",
        "invoiced_quantity": "1",
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "sales_order_id": "sales_order_id_sample",
    "source_system": "api",
    "status": "draft",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "sales_order"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/sales_orders/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Purchase Orders

GET /v1/purchase_orders

List purchase orders

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
approval_statusstringFilter by approval status
vendor_idstringFilter by vendor UUID
start_datestringFilter by issued_at >= (YYYY-MM-DD)
end_datestringFilter by issued_at <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "approval_status": "draft",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "description": "Office supplies",
        "document_number": "INV-1001",
        "expected_date": "2026-05-05",
        "issued_at": "2026-05-05T12:00:00Z",
        "lines": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "amount": "125.00",
            "billed_quantity": "1",
            "class_id": "class_1001",
            "description": "Office supplies",
            "dimensions": {},
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_type": "product",
            "location_id": "loc_1001",
            "metadata": {},
            "quantity": "1",
            "received_quantity": "1",
            "tax_amount": "125.00",
            "tax_code": "VALIDATION_ERROR",
            "unit_amount": "125.00"
          }
        ],
        "metadata": {},
        "po_id": "po_id_sample",
        "source_system": "api",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z",
        "vendor_id": "ven_1001",
        "vendor_name": "ven_1001"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "purchase_order"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/purchase_orders" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/purchase_orders

Create a purchase order

FieldTypeDescription
approval_statusstringStatus
currency requiredstringCurrency
descriptionstringDescription
document_numberstringNumber
expected_datestring (date)Expected Date
issued_atstring (date-time)Issue Date
metadataobject
total_amount requiredstringTotal
vendor_idstringVendor ID
vendor_namestringVendor
{
  "approval_status": "draft",
  "currency": "USD",
  "description": "Office supplies",
  "document_number": "INV-1001",
  "expected_date": "2026-05-05",
  "issued_at": "2026-05-05T12:00:00Z",
  "metadata": {},
  "total_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}
201 Created
FieldTypeDescription
data requiredPurchaseOrderRecordA purchase_order record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringStatus
created_atstring (date-time)
currency requiredstringCurrency
descriptionstringDescription
document_numberstringNumber
expected_datestring (date)Expected Date
issued_atstring (date-time)Issue Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
billed_quantitystringBilled Quantity
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
received_quantitystringReceived Quantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
po_id requiredstringPO ID
source_systemstringSource
total_amount requiredstringTotal
updated_atstring (date-time)
vendor_idstringVendor ID
vendor_namestringVendor
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "description": "Office supplies",
    "document_number": "INV-1001",
    "expected_date": "2026-05-05",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "billed_quantity": "1",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "received_quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "po_id": "po_id_sample",
    "source_system": "api",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001",
    "vendor_name": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "purchase_order"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/purchase_orders" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "approval_status": "draft",
  "currency": "USD",
  "description": "Office supplies",
  "document_number": "INV-1001",
  "expected_date": "2026-05-05",
  "issued_at": "2026-05-05T12:00:00Z",
  "metadata": {},
  "total_amount": "125.00",
  "vendor_id": "ven_1001",
  "vendor_name": "ven_1001"
}'
GET /v1/purchase_orders/{id}

Get a purchase order

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredPurchaseOrderRecordA purchase_order record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringStatus
created_atstring (date-time)
currency requiredstringCurrency
descriptionstringDescription
document_numberstringNumber
expected_datestring (date)Expected Date
issued_atstring (date-time)Issue Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringAccount ID
amountstringAmount
billed_quantitystringBilled Quantity
class_idstringClass ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_typestringLine Type
location_idstringLocation ID
metadataobjectMetadata
quantitystringQuantity
received_quantitystringReceived Quantity
tax_amountstringTax Amount
tax_codestringTax Code
unit_amountstringUnit Amount
metadataobject
po_id requiredstringPO ID
source_systemstringSource
total_amount requiredstringTotal
updated_atstring (date-time)
vendor_idstringVendor ID
vendor_namestringVendor
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "approval_status": "draft",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "description": "Office supplies",
    "document_number": "INV-1001",
    "expected_date": "2026-05-05",
    "issued_at": "2026-05-05T12:00:00Z",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "billed_quantity": "1",
        "class_id": "class_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_type": "product",
        "location_id": "loc_1001",
        "metadata": {},
        "quantity": "1",
        "received_quantity": "1",
        "tax_amount": "125.00",
        "tax_code": "VALIDATION_ERROR",
        "unit_amount": "125.00"
      }
    ],
    "metadata": {},
    "po_id": "po_id_sample",
    "source_system": "api",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001",
    "vendor_name": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "purchase_order"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/purchase_orders/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Banking

GET /v1/bank/accounts

List banking

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "account_type": "checking",
        "available_balance": "125.00",
        "balance_as_of": "2026-05-05T12:00:00Z",
        "bank_account_id": "acc_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "current_balance": "125.00",
        "gl_account_code": "VALIDATION_ERROR",
        "gl_account_id": "acc_1001",
        "institution_name": "Acme Supplies",
        "last_import_at": "2026-05-05T12:00:00Z",
        "last_transaction_date": "2026-05-05",
        "mask": "mask_sample",
        "metadata": {},
        "name": "Acme Supplies",
        "status": "active",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "bank_account"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bank/accounts" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/bank/transactions

List banking

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
bank_account_idstringFilter by bank account ID
statusstringFilter by status
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "amount": "125.00",
        "bank_account_id": "acc_1001",
        "category": "cat_1001",
        "check_number": "1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "customer_id": "cus_1001",
        "description": "Office supplies",
        "expense_account_code": "VALIDATION_ERROR",
        "expense_account_id": "acc_1001",
        "merchant_name": "Acme Supplies",
        "metadata": {},
        "posted_at": "2026-05-05T12:00:00Z",
        "reference_number": "REF-1001",
        "revenue_account_code": "VALIDATION_ERROR",
        "revenue_account_id": "acc_1001",
        "running_balance": "125.00",
        "status": "pending",
        "transaction_id": "transaction_id_sample",
        "transaction_type": "expense",
        "transfer_account_code": "VALIDATION_ERROR",
        "transfer_account_id": "acc_1001",
        "updated_at": "2026-05-05T12:00:00Z",
        "vendor_id": "ven_1001"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "bank_transaction"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bank/transactions" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/bank/transactions/pending

List pending bank transactions

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
200 List of pending transactions

No response body.

401 Unauthorized

No response body.

curl -X GET "https://api.backfill.io/v1/bank/transactions/pending" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/bank/accounts/{id}

Get a bank account

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredBankAccountRecordA bank_account record as returned by the API
Show data fields
FieldTypeDescription
account_typestringType
available_balancestringAvailable Balance
balance_as_ofstring (date-time)Balance As Of
bank_account_idstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
created_atstring (date-time)
currencystringCurrency
current_balancestringBalance
gl_account_codestringGL Account Code
gl_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
institution_namestringInstitution
last_import_atstring (date-time)Last Import
last_transaction_datestring (date)Last Transaction Date
maskstringMask
metadataobject
name requiredstringName
statusstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_type": "checking",
    "available_balance": "125.00",
    "balance_as_of": "2026-05-05T12:00:00Z",
    "bank_account_id": "acc_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "current_balance": "125.00",
    "gl_account_code": "VALIDATION_ERROR",
    "gl_account_id": "acc_1001",
    "institution_name": "Acme Supplies",
    "last_import_at": "2026-05-05T12:00:00Z",
    "last_transaction_date": "2026-05-05",
    "mask": "mask_sample",
    "metadata": {},
    "name": "Acme Supplies",
    "status": "active",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bank_account"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bank/accounts/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/bank/transactions/{id}

Get a bank transaction

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredBankTransactionRecordA bank_transaction record as returned by the API
Show data fields
FieldTypeDescription
amount requiredstringAmount
bank_account_id requiredstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
categorystringCategory
check_numberstringCheck #
created_atstring (date-time)
currencystringCurrency
customer_idstringIdentifier for the related customer record.
descriptionstringDescription
expense_account_codestringExpense Account Code
expense_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
merchant_namestringMerchant
metadataobject
posted_at requiredstring (date-time)Posted
reference_numberstringReference #
revenue_account_codestringRevenue Account Code
revenue_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
running_balancestringRunning Balance
statusstringStatus
transaction_idstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
transaction_typestringType
transfer_account_codestringTransfer Account Code
transfer_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
updated_atstring (date-time)
vendor_idstringIdentifier for the related vendor record.
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount": "125.00",
    "bank_account_id": "acc_1001",
    "category": "cat_1001",
    "check_number": "1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "description": "Office supplies",
    "expense_account_code": "VALIDATION_ERROR",
    "expense_account_id": "acc_1001",
    "merchant_name": "Acme Supplies",
    "metadata": {},
    "posted_at": "2026-05-05T12:00:00Z",
    "reference_number": "REF-1001",
    "revenue_account_code": "VALIDATION_ERROR",
    "revenue_account_id": "acc_1001",
    "running_balance": "125.00",
    "status": "pending",
    "transaction_id": "transaction_id_sample",
    "transaction_type": "expense",
    "transfer_account_code": "VALIDATION_ERROR",
    "transfer_account_id": "acc_1001",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bank_transaction"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bank/transactions/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/bank/transactions/batch

Batch categorize bank transactions

FieldTypeDescription
transactionsarray of object
Show transactions[] fields
FieldTypeDescription
actionstring
exclude_reasonstring
expense_account_idstring (uuid)
idstring
revenue_account_idstring (uuid)
transaction_typestring
transfer_account_idstring (uuid)
{
  "transactions": [
    {
      "action": "categorize",
      "exclude_reason": "exclude_reason_sample",
      "expense_account_id": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "revenue_account_id": "00000000-0000-0000-0000-000000000000",
      "transaction_type": "transaction_type_sample",
      "transfer_account_id": "00000000-0000-0000-0000-000000000000"
    }
  ]
}
200 Batch result

No response body.

401 Unauthorized

No response body.

curl -X POST "https://api.backfill.io/v1/bank/transactions/batch" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "transactions": [
    {
      "action": "categorize",
      "exclude_reason": "exclude_reason_sample",
      "expense_account_id": "00000000-0000-0000-0000-000000000000",
      "id": "00000000-0000-0000-0000-000000000000",
      "revenue_account_id": "00000000-0000-0000-0000-000000000000",
      "transaction_type": "transaction_type_sample",
      "transfer_account_id": "00000000-0000-0000-0000-000000000000"
    }
  ]
}'
POST /v1/bank/transactions/{id}/categorize

Categorize a bank transaction

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredBankTransactionRecordA bank_transaction record as returned by the API
Show data fields
FieldTypeDescription
amount requiredstringAmount
bank_account_id requiredstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
categorystringCategory
check_numberstringCheck #
created_atstring (date-time)
currencystringCurrency
customer_idstringIdentifier for the related customer record.
descriptionstringDescription
expense_account_codestringExpense Account Code
expense_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
merchant_namestringMerchant
metadataobject
posted_at requiredstring (date-time)Posted
reference_numberstringReference #
revenue_account_codestringRevenue Account Code
revenue_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
running_balancestringRunning Balance
statusstringStatus
transaction_idstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
transaction_typestringType
transfer_account_codestringTransfer Account Code
transfer_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
updated_atstring (date-time)
vendor_idstringIdentifier for the related vendor record.
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount": "125.00",
    "bank_account_id": "acc_1001",
    "category": "cat_1001",
    "check_number": "1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "customer_id": "cus_1001",
    "description": "Office supplies",
    "expense_account_code": "VALIDATION_ERROR",
    "expense_account_id": "acc_1001",
    "merchant_name": "Acme Supplies",
    "metadata": {},
    "posted_at": "2026-05-05T12:00:00Z",
    "reference_number": "REF-1001",
    "revenue_account_code": "VALIDATION_ERROR",
    "revenue_account_id": "acc_1001",
    "running_balance": "125.00",
    "status": "pending",
    "transaction_id": "transaction_id_sample",
    "transaction_type": "expense",
    "transfer_account_code": "VALIDATION_ERROR",
    "transfer_account_id": "acc_1001",
    "updated_at": "2026-05-05T12:00:00Z",
    "vendor_id": "ven_1001"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bank_transaction"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/bank/transactions/{id}/categorize" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/bank/accounts/{id}/sync

Trigger a sync for this bank account

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredBankAccountRecordA bank_account record as returned by the API
Show data fields
FieldTypeDescription
account_typestringType
available_balancestringAvailable Balance
balance_as_ofstring (date-time)Balance As Of
bank_account_idstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
created_atstring (date-time)
currencystringCurrency
current_balancestringBalance
gl_account_codestringGL Account Code
gl_account_idstringBackfill account identifier for a related account record. Use account_id for lookups; account_code is display-only when referring to general ledger accounts and may be absent.
institution_namestringInstitution
last_import_atstring (date-time)Last Import
last_transaction_datestring (date)Last Transaction Date
maskstringMask
metadataobject
name requiredstringName
statusstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_type": "checking",
    "available_balance": "125.00",
    "balance_as_of": "2026-05-05T12:00:00Z",
    "bank_account_id": "acc_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "current_balance": "125.00",
    "gl_account_code": "VALIDATION_ERROR",
    "gl_account_id": "acc_1001",
    "institution_name": "Acme Supplies",
    "last_import_at": "2026-05-05T12:00:00Z",
    "last_transaction_date": "2026-05-05",
    "mask": "mask_sample",
    "metadata": {},
    "name": "Acme Supplies",
    "status": "active",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bank_account"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/bank/accounts/{id}/sync" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Bank Transfers

GET /v1/bank_transfers

List bank transfers

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by status
start_datestringFilter by transfer_date >= (YYYY-MM-DD)
end_datestringFilter by transfer_date <= (YYYY-MM-DD)
from_account_idstringFilter by source account ID
to_account_idstringFilter by destination account ID
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "amount": "125.00",
        "approved_at": "2026-05-05T12:00:00Z",
        "approved_by": "approved_by_sample",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "dimensions": {},
        "from_account_code": "VALIDATION_ERROR",
        "from_account_id": "acc_1001",
        "id": "00000000-0000-0000-0000-000000000000",
        "memo": "Payment received",
        "metadata": {},
        "source_id": "src_1001",
        "source_system": "api",
        "status": "draft",
        "to_account_code": "VALIDATION_ERROR",
        "to_account_id": "acc_1001",
        "transfer_date": "2026-05-05",
        "transfer_number": "1001",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "bank_transfer"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bank_transfers" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/bank_transfers

Create a bank transfer

FieldTypeDescription
amount requiredstringAmount
currency requiredstringCurrency
from_account_id requiredstringFrom Account ID
memostringMemo
metadataobjectMetadata
statusstringStatus
to_account_id requiredstringTo Account ID
transfer_date requiredstring (date)Transfer Date
transfer_numberstringTransfer Number
{
  "amount": "125.00",
  "currency": "USD",
  "from_account_id": "acc_1001",
  "memo": "Payment received",
  "metadata": {},
  "status": "draft",
  "to_account_id": "acc_1001",
  "transfer_date": "2026-05-05",
  "transfer_number": "1001"
}
201 Created
FieldTypeDescription
data requiredBankTransferRecordA bank_transfer record as returned by the API
Show data fields
FieldTypeDescription
amount requiredstringAmount
approved_atstring (date-time)Approved At
approved_bystringApproved By
created_atstring (date-time)
currency requiredstringCurrency
dimensionsobjectDimensions
from_account_codestringFrom Account Code
from_account_id requiredstringFrom Account ID
idstringCanonical ID
memostringMemo
metadataobjectMetadata
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
to_account_codestringTo Account Code
to_account_id requiredstringTo Account ID
transfer_date requiredstring (date)Transfer Date
transfer_numberstringTransfer Number
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount": "125.00",
    "approved_at": "2026-05-05T12:00:00Z",
    "approved_by": "approved_by_sample",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "dimensions": {},
    "from_account_code": "VALIDATION_ERROR",
    "from_account_id": "acc_1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "memo": "Payment received",
    "metadata": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "to_account_code": "VALIDATION_ERROR",
    "to_account_id": "acc_1001",
    "transfer_date": "2026-05-05",
    "transfer_number": "1001",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bank_transfer"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/bank_transfers" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": "125.00",
  "currency": "USD",
  "from_account_id": "acc_1001",
  "memo": "Payment received",
  "metadata": {},
  "status": "draft",
  "to_account_id": "acc_1001",
  "transfer_date": "2026-05-05",
  "transfer_number": "1001"
}'
GET /v1/bank_transfers/{id}

Get a bank transfer

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredBankTransferRecordA bank_transfer record as returned by the API
Show data fields
FieldTypeDescription
amount requiredstringAmount
approved_atstring (date-time)Approved At
approved_bystringApproved By
created_atstring (date-time)
currency requiredstringCurrency
dimensionsobjectDimensions
from_account_codestringFrom Account Code
from_account_id requiredstringFrom Account ID
idstringCanonical ID
memostringMemo
metadataobjectMetadata
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
to_account_codestringTo Account Code
to_account_id requiredstringTo Account ID
transfer_date requiredstring (date)Transfer Date
transfer_numberstringTransfer Number
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "amount": "125.00",
    "approved_at": "2026-05-05T12:00:00Z",
    "approved_by": "approved_by_sample",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "dimensions": {},
    "from_account_code": "VALIDATION_ERROR",
    "from_account_id": "acc_1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "memo": "Payment received",
    "metadata": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "draft",
    "to_account_code": "VALIDATION_ERROR",
    "to_account_id": "acc_1001",
    "transfer_date": "2026-05-05",
    "transfer_number": "1001",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "bank_transfer"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/bank_transfers/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Deposits

GET /v1/deposits

List deposits

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
statusstringFilter by status
start_datestringFilter by deposit_date >= (YYYY-MM-DD)
end_datestringFilter by deposit_date <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "cashback_account_id": "acc_1001",
        "cashback_amount": "125.00",
        "cashback_memo": "Payment received",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "deposit_date": "2026-05-05",
        "deposit_to_account_code": "VALIDATION_ERROR",
        "deposit_to_account_id": "acc_1001",
        "dimensions": {},
        "document_number": "INV-1001",
        "id": "00000000-0000-0000-0000-000000000000",
        "line_items": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "amount": "125.00",
            "check_number": "1001",
            "currency": "USD",
            "customer_id": "cus_1001",
            "description": "Office supplies",
            "dimensions": {},
            "line_key": "line_key_sample",
            "line_number": 0,
            "line_ref": "line_ref_sample",
            "metadata": {},
            "payment_method": "pay_1001",
            "reference_number": "REF-1001",
            "source_document_id": "src_1001",
            "source_document_number": "INV-1001",
            "source_document_type": "src_1001"
          }
        ],
        "memo": "Payment received",
        "metadata": {},
        "source_id": "src_1001",
        "source_system": "api",
        "status": "pending",
        "total_amount": "125.00",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "deposit"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/deposits" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/deposits

Create a deposit

FieldTypeDescription
cashback_account_idstringCash Back Account ID
cashback_amountstringCash Back Amount
cashback_memostringCash Back Memo
currency requiredstringCurrency
deposit_datestring (date)Deposit Date
deposit_to_account_codestringDeposit To Account Code
deposit_to_account_idstringDeposit To Account ID
dimensionsobjectDimensions
document_numberstringDocument Number
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringLine Posting Account ID
amountstringAmount
check_numberstringCheck Number
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
metadataobjectMetadata
payment_methodstringPayment Method
reference_numberstringReference Number
source_document_idstringSource Document ID
source_document_numberstringSource Document Number
source_document_typestringSource Document Type
memostringMemo
metadataobjectMetadata
statusstringStatus
total_amount requiredstringTotal Amount
{
  "cashback_account_id": "acc_1001",
  "cashback_amount": "125.00",
  "cashback_memo": "Payment received",
  "currency": "USD",
  "deposit_date": "2026-05-05",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "document_number": "INV-1001",
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "amount": "125.00",
      "check_number": "1001",
      "currency": "USD",
      "customer_id": "cus_1001",
      "description": "Office supplies",
      "dimensions": {},
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "metadata": {},
      "payment_method": "pay_1001",
      "reference_number": "REF-1001",
      "source_document_id": "src_1001",
      "source_document_number": "INV-1001",
      "source_document_type": "src_1001"
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "status": "pending",
  "total_amount": "125.00"
}
201 Created
FieldTypeDescription
data requiredDepositRecordA deposit record as returned by the API
Show data fields
FieldTypeDescription
cashback_account_idstringCash Back Account ID
cashback_amountstringCash Back Amount
cashback_memostringCash Back Memo
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
deposit_datestring (date)Deposit Date
deposit_to_account_codestringDeposit To Account Code
deposit_to_account_idstringDeposit To Account ID
dimensionsobjectDimensions
document_numberstringDocument Number
idstringCanonical ID
line_itemsarray of objectLines
Show line_items[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringLine Posting Account ID
amountstringAmount
check_numberstringCheck Number
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
metadataobjectMetadata
payment_methodstringPayment Method
reference_numberstringReference Number
source_document_idstringSource Document ID
source_document_numberstringSource Document Number
source_document_typestringSource Document Type
memostringMemo
metadataobjectMetadata
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "cashback_account_id": "acc_1001",
    "cashback_amount": "125.00",
    "cashback_memo": "Payment received",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "deposit_date": "2026-05-05",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "document_number": "INV-1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "line_items": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "check_number": "1001",
        "currency": "USD",
        "customer_id": "cus_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "metadata": {},
        "payment_method": "pay_1001",
        "reference_number": "REF-1001",
        "source_document_id": "src_1001",
        "source_document_number": "INV-1001",
        "source_document_type": "src_1001"
      }
    ],
    "memo": "Payment received",
    "metadata": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "pending",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "deposit"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/deposits" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "cashback_account_id": "acc_1001",
  "cashback_amount": "125.00",
  "cashback_memo": "Payment received",
  "currency": "USD",
  "deposit_date": "2026-05-05",
  "deposit_to_account_code": "VALIDATION_ERROR",
  "deposit_to_account_id": "acc_1001",
  "dimensions": {},
  "document_number": "INV-1001",
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "amount": "125.00",
      "check_number": "1001",
      "currency": "USD",
      "customer_id": "cus_1001",
      "description": "Office supplies",
      "dimensions": {},
      "line_key": "line_key_sample",
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "metadata": {},
      "payment_method": "pay_1001",
      "reference_number": "REF-1001",
      "source_document_id": "src_1001",
      "source_document_number": "INV-1001",
      "source_document_type": "src_1001"
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "status": "pending",
  "total_amount": "125.00"
}'
GET /v1/deposits/{id}

Get a deposit

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredDepositRecordA deposit record as returned by the API
Show data fields
FieldTypeDescription
cashback_account_idstringCash Back Account ID
cashback_amountstringCash Back Amount
cashback_memostringCash Back Memo
connection_idstringConnection ID
created_atstring (date-time)
currency requiredstringCurrency
deposit_datestring (date)Deposit Date
deposit_to_account_codestringDeposit To Account Code
deposit_to_account_idstringDeposit To Account ID
dimensionsobjectDimensions
document_numberstringDocument Number
idstringCanonical ID
line_itemsarray of objectLines
Show line_items[] fields
FieldTypeDescription
account_codestringAccount Code
account_idstringLine Posting Account ID
amountstringAmount
check_numberstringCheck Number
currencystringCurrency
customer_idstringCustomer ID
descriptionstringDescription
dimensionsobjectDimensions
line_keystringLine Key
line_numberintegerLine Number
line_refstringLine Ref
metadataobjectMetadata
payment_methodstringPayment Method
reference_numberstringReference Number
source_document_idstringSource Document ID
source_document_numberstringSource Document Number
source_document_typestringSource Document Type
memostringMemo
metadataobjectMetadata
source_id requiredstringSource ID
source_system requiredstringSource System
status requiredstringStatus
total_amount requiredstringTotal Amount
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "cashback_account_id": "acc_1001",
    "cashback_amount": "125.00",
    "cashback_memo": "Payment received",
    "connection_id": "conn_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "currency": "USD",
    "deposit_date": "2026-05-05",
    "deposit_to_account_code": "VALIDATION_ERROR",
    "deposit_to_account_id": "acc_1001",
    "dimensions": {},
    "document_number": "INV-1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "line_items": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "amount": "125.00",
        "check_number": "1001",
        "currency": "USD",
        "customer_id": "cus_1001",
        "description": "Office supplies",
        "dimensions": {},
        "line_key": "line_key_sample",
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "metadata": {},
        "payment_method": "pay_1001",
        "reference_number": "REF-1001",
        "source_document_id": "src_1001",
        "source_document_number": "INV-1001",
        "source_document_type": "src_1001"
      }
    ],
    "memo": "Payment received",
    "metadata": {},
    "source_id": "src_1001",
    "source_system": "api",
    "status": "pending",
    "total_amount": "125.00",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "deposit"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/deposits/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Journal Entries

GET /v1/journal_entries

List journal entries

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
paginationPagination
Show pagination fields
FieldTypeDescription
limitinteger
pageinteger
{
  "data": [
    {
      "data": {
        "account_code": "VALIDATION_ERROR",
        "account_name": "acc_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "credit_amount": "125.00",
        "debit_amount": "125.00",
        "dimensions": {},
        "entry_date": "2026-05-05",
        "entry_number": "1001",
        "line_memo": "Payment received",
        "memo": "Payment received",
        "status": "draft",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "journal_entry"
    }
  ],
  "object": "list",
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/journal_entries" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/journal_entries

Create a journal entry

FieldTypeDescription
account_codestringAccount Code
account_namestringAccount Name
credit_amountstringCredit
debit_amountstringDebit
dimensionsobjectDimensions
entry_date requiredstring (date)Date
line_memostringLine Memo
memostringMemo
statusstringStatus
{
  "account_code": "VALIDATION_ERROR",
  "account_name": "acc_1001",
  "credit_amount": "125.00",
  "debit_amount": "125.00",
  "dimensions": {},
  "entry_date": "2026-05-05",
  "line_memo": "Payment received",
  "memo": "Payment received",
  "status": "draft"
}
201 Created
FieldTypeDescription
data requiredJournalEntryRecordA journal_entry record as returned by the API
Show data fields
FieldTypeDescription
account_codestringAccount Code
account_namestringAccount Name
created_atstring (date-time)
credit_amountstringCredit
debit_amountstringDebit
dimensionsobjectDimensions
entry_date requiredstring (date)Date
entry_number requiredstringEntry #
line_memostringLine Memo
memostringMemo
statusstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_code": "VALIDATION_ERROR",
    "account_name": "acc_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_amount": "125.00",
    "debit_amount": "125.00",
    "dimensions": {},
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "line_memo": "Payment received",
    "memo": "Payment received",
    "status": "draft",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "journal_entry"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/journal_entries" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "account_code": "VALIDATION_ERROR",
  "account_name": "acc_1001",
  "credit_amount": "125.00",
  "debit_amount": "125.00",
  "dimensions": {},
  "entry_date": "2026-05-05",
  "line_memo": "Payment received",
  "memo": "Payment received",
  "status": "draft"
}'
GET /v1/journal_entries/{id}

Get a journal entry

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredJournalEntryRecordA journal_entry record as returned by the API
Show data fields
FieldTypeDescription
account_codestringAccount Code
account_namestringAccount Name
created_atstring (date-time)
credit_amountstringCredit
debit_amountstringDebit
dimensionsobjectDimensions
entry_date requiredstring (date)Date
entry_number requiredstringEntry #
line_memostringLine Memo
memostringMemo
statusstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_code": "VALIDATION_ERROR",
    "account_name": "acc_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_amount": "125.00",
    "debit_amount": "125.00",
    "dimensions": {},
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "line_memo": "Payment received",
    "memo": "Payment received",
    "status": "draft",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "journal_entry"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X GET "https://api.backfill.io/v1/journal_entries/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
PUT /v1/journal_entries/{id}

Update a journal entry

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
account_codestringAccount Code
account_namestringAccount Name
credit_amountstringCredit
debit_amountstringDebit
dimensionsobjectDimensions
entry_datestring (date)Date
line_memostringLine Memo
memostringMemo
statusstringStatus
{
  "account_code": "VALIDATION_ERROR",
  "account_name": "acc_1001",
  "credit_amount": "125.00",
  "debit_amount": "125.00",
  "dimensions": {},
  "entry_date": "2026-05-05",
  "line_memo": "Payment received",
  "memo": "Payment received",
  "status": "draft"
}
200 Success
FieldTypeDescription
data requiredJournalEntryRecordA journal_entry record as returned by the API
Show data fields
FieldTypeDescription
account_codestringAccount Code
account_namestringAccount Name
created_atstring (date-time)
credit_amountstringCredit
debit_amountstringDebit
dimensionsobjectDimensions
entry_date requiredstring (date)Date
entry_number requiredstringEntry #
line_memostringLine Memo
memostringMemo
statusstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_code": "VALIDATION_ERROR",
    "account_name": "acc_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_amount": "125.00",
    "debit_amount": "125.00",
    "dimensions": {},
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "line_memo": "Payment received",
    "memo": "Payment received",
    "status": "draft",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "journal_entry"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
422 Validation error
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X PUT "https://api.backfill.io/v1/journal_entries/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "account_code": "VALIDATION_ERROR",
  "account_name": "acc_1001",
  "credit_amount": "125.00",
  "debit_amount": "125.00",
  "dimensions": {},
  "entry_date": "2026-05-05",
  "line_memo": "Payment received",
  "memo": "Payment received",
  "status": "draft"
}'
DELETE /v1/journal_entries/{id}

Delete a journal entry

NameTypeDescription
id requiredstringResource identifier
200 Deleted
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "record"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X DELETE "https://api.backfill.io/v1/journal_entries/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/journal_entries/{id}/confirm

Confirm a draft journal entry

NameTypeDescription
id requiredstringResource identifier
200 Success
FieldTypeDescription
data requiredJournalEntryRecordA journal_entry record as returned by the API
Show data fields
FieldTypeDescription
account_codestringAccount Code
account_namestringAccount Name
created_atstring (date-time)
credit_amountstringCredit
debit_amountstringDebit
dimensionsobjectDimensions
entry_date requiredstring (date)Date
entry_number requiredstringEntry #
line_memostringLine Memo
memostringMemo
statusstringStatus
updated_atstring (date-time)
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "account_code": "VALIDATION_ERROR",
    "account_name": "acc_1001",
    "created_at": "2026-05-05T12:00:00Z",
    "credit_amount": "125.00",
    "debit_amount": "125.00",
    "dimensions": {},
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "line_memo": "Payment received",
    "memo": "Payment received",
    "status": "draft",
    "updated_at": "2026-05-05T12:00:00Z"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "journal_entry"
}
401 Unauthorized
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
404 Not found
FieldTypeDescription
code requiredstring
errorsarray of object
Show errors[] fields
FieldTypeDescription
codestring
fieldstring
messagestring
message requiredstring
status requiredstring
{
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "field": "name",
      "message": "Request validation failed"
    }
  ],
  "message": "Request validation failed",
  "status": "error"
}
curl -X POST "https://api.backfill.io/v1/journal_entries/{id}/confirm" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Reports

GET /v1/reports/balance_sheet

Get balance sheet

NameTypeDescription
as_of_datestring (date)Report as-of date (YYYY-MM-DD)
200 Balance sheet data

No response body.

401 Unauthorized

No response body.

curl -X GET "https://api.backfill.io/v1/reports/balance_sheet" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/reports/income_statement

Get income statement (profit & loss)

NameTypeDescription
start_datestring (date)Period start date
end_datestring (date)Period end date
200 Income statement data

No response body.

401 Unauthorized

No response body.

curl -X GET "https://api.backfill.io/v1/reports/income_statement" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/reports/trial_balance

Get trial balance report

NameTypeDescription
as_of_datestring (date)Report as-of date (YYYY-MM-DD)
200 Trial balance data

No response body.

401 Unauthorized

No response body.

curl -X GET "https://api.backfill.io/v1/reports/trial_balance" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"