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.

New to the API? Start with Getting started — create a token, make your first call, and learn the response envelope. The guides cover authentication and scopes, pagination, sorting and filters, errors and retries, and the versioning policy.

Customers

GET /v1/customers

List customers

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
namestringFilter by name (contains)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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_exempt_reason": "tax_exempt_reason_sample",
        "tax_exempt_status": "none",
        "tax_exemption_certificate": {},
        "tax_ids": [
          {}
        ],
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "customer"
    }
  ],
  "object": "list",
  "pagination": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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_exempt_reasonstringTax Exempt Reason
tax_exempt_statusstringTax Exempt Status
tax_exemption_certificateobjectTax Exemption Certificate
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_exempt_reason": "tax_exempt_reason_sample",
  "tax_exempt_status": "none",
  "tax_exemption_certificate": {},
  "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_exempt_reasonstringTax Exempt Reason
tax_exempt_statusstringTax Exempt Status
tax_exemption_certificateobjectTax Exemption Certificate
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_exempt_reason": "tax_exempt_reason_sample",
    "tax_exempt_status": "none",
    "tax_exemption_certificate": {},
    "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_exempt_reason": "tax_exempt_reason_sample",
  "tax_exempt_status": "none",
  "tax_exemption_certificate": {},
  "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_exempt_reasonstringTax Exempt Reason
tax_exempt_statusstringTax Exempt Status
tax_exemption_certificateobjectTax Exemption Certificate
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_exempt_reason": "tax_exempt_reason_sample",
    "tax_exempt_status": "none",
    "tax_exemption_certificate": {},
    "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_exempt_reasonstringTax Exempt Reason
tax_exempt_statusstringTax Exempt Status
tax_exemption_certificateobjectTax Exemption Certificate
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_exempt_reason": "tax_exempt_reason_sample",
  "tax_exempt_status": "none",
  "tax_exemption_certificate": {},
  "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_exempt_reasonstringTax Exempt Reason
tax_exempt_statusstringTax Exempt Status
tax_exemption_certificateobjectTax Exemption Certificate
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_exempt_reason": "tax_exempt_reason_sample",
    "tax_exempt_status": "none",
    "tax_exemption_certificate": {},
    "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_exempt_reason": "tax_exempt_reason_sample",
  "tax_exempt_status": "none",
  "tax_exemption_certificate": {},
  "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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
namestringFilter by name (contains)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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"
PUT /v1/accounts/{id}

Update an account

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
activebooleanActive
codestringCode
descriptionstringDescription
namestringName
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.
typestringType
{
  "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"
}
200 Success
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"
}
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/accounts/{id}" \
  -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"
}'
POST /v1/accounts/bulk

Bulk create chart of accounts entries

FieldTypeDescription
accounts requiredarray of object
Show accounts[] fields
FieldTypeDescription
account_idstringProvider-native ID for this resource. Backfill stores this as source_id on the canonical record.
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
{
  "accounts": [
    {
      "account_id": "acc_1001",
      "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"
    }
  ]
}
200 Bulk account creation result
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
failed requiredinteger
processed requiredinteger
results requiredarray of object
Show results[] fields
FieldTypeDescription
accountobject
index requiredinteger
reasonobject
status requiredstring
succeeded requiredinteger
object requiredstring
{
  "data": {
    "failed": 0,
    "processed": 0,
    "results": [
      {
        "account": {},
        "index": 0,
        "reason": {},
        "status": "success"
      }
    ],
    "succeeded": 0
  },
  "object": "bulk_result"
}
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/bulk" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "accounts": [
    {
      "account_id": "acc_1001",
      "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"
    }
  ]
}'

Invoices

GET /v1/invoices

List invoices

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by status
customer_idstringFilter by customer ID
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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}/approve

Approve a pending document

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"
}
409 Conflict
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}/approve" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/invoices/{id}/confirm

Deprecated alias for marking an invoice paid

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"
}
409 Conflict
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"
POST /v1/invoices/{id}/mark_paid

Mark an invoice paid

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"
}
409 Conflict
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}/mark_paid" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/invoices/{id}/reject

Reject a pending document

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"
}
409 Conflict
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}/reject" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/invoices/{id}/submit

Submit a document for approval

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"
}
409 Conflict
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}/submit" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/invoices/{id}/void

Void a document

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"
}
409 Conflict
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}/void" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Payments

GET /v1/payments

List payments

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by status
invoice_idstringFilter by invoice reference
start_datestringFilter by occurred_at >= (YYYY-MM-DD)
end_datestringFilter by occurred_at <= (YYYY-MM-DD)
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": "pending",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "payment"
    }
  ],
  "object": "list",
  "pagination": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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": "pending"
}
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": "pending",
    "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": "pending"
}'
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": "pending",
    "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": "pending",
    "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"
}
409 Conflict
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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by status
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
POST /v1/sales_receipts/{id}/approve

Approve a pending document

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"
}
409 Conflict
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/{id}/approve" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/sales_receipts/{id}/reject

Reject a pending document

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"
}
409 Conflict
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/{id}/reject" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/sales_receipts/{id}/submit

Submit a document for approval

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"
}
409 Conflict
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/{id}/submit" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/sales_receipts/{id}/void

Void a document

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"
}
409 Conflict
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/{id}/void" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Credit Memos

GET /v1/credit_memos

List credit memos

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by application status
approval_statusstringFilter by approval status
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": [
          {
            "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",
            "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
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
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": [
    {
      "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",
      "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
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
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": [
      {
        "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",
        "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": [
    {
      "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",
      "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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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
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
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": [
      {
        "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",
        "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
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
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": [
    {
      "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",
      "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
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
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": [
      {
        "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",
        "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": [
    {
      "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",
      "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"
POST /v1/credit_memos/{id}/approve

Approve a pending document

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
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
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": [
      {
        "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",
        "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"
}
409 Conflict
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/{id}/approve" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/credit_memos/{id}/reject

Reject a pending document

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
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
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": [
      {
        "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",
        "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"
}
409 Conflict
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/{id}/reject" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/credit_memos/{id}/submit

Submit a document for approval

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
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
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": [
      {
        "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",
        "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"
}
409 Conflict
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/{id}/submit" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/credit_memos/{id}/void

Void a document

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
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
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": [
      {
        "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",
        "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"
}
409 Conflict
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/{id}/void" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Refund Receipts

GET /v1/refund_receipts

List refund receipts

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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)
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
PUT /v1/refund_receipts/{id}

Update a refund receipt

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
charge_idstringCharge ID
currencystringCurrency
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_amountstringTotal
{
  "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"
}
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"
}
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/refund_receipts/{id}" \
  -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"
}'
DELETE /v1/refund_receipts/{id}

Delete a refund 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/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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by approval status
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
POST /v1/vendor_bills/{id}/approve

Approve a pending document

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"
}
409 Conflict
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/{id}/approve" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/vendor_bills/{id}/reject

Reject a pending document

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"
}
409 Conflict
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/{id}/reject" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/vendor_bills/{id}/submit

Submit a document for approval

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"
}
409 Conflict
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/{id}/submit" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/vendor_bills/{id}/void

Void a document

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"
}
409 Conflict
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/{id}/void" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Bill Payments

GET /v1/bill_payments

List bill payments

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by status
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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"
PUT /v1/bill_payments/{id}

Update a bill payment

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
amountstringAmount
approval_statusstringApproval Status
bill_idstringBill ID
currencystringCurrency
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_idstringVendor 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"
}
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"
}
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/bill_payments/{id}" \
  -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"
}'
DELETE /v1/bill_payments/{id}

Delete a bill payment

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/bill_payments/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Expenses

GET /v1/expenses

List expenses

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by approval status
start_datestringFilter by expense_date >= (YYYY-MM-DD)
end_datestringFilter by expense_date <= (YYYY-MM-DD)
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
POST /v1/expenses/{id}/approve

Approve a pending document

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"
}
409 Conflict
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/{id}/approve" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/expenses/{id}/reject

Reject a pending document

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"
}
409 Conflict
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/{id}/reject" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/expenses/{id}/submit

Submit a document for approval

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"
}
409 Conflict
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/{id}/submit" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/expenses/{id}/void

Void a document

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"
}
409 Conflict
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/{id}/void" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Vendor Credits

GET /v1/vendor_credits

List vendor credits

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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)
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
PUT /v1/vendor_credits/{id}

Update a vendor credit

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
credit_datestring (date)Credit Date
currencystringCurrency
descriptionstringDescription
document_datestring (date)Document Date
document_numberstringNumber
effective_datestring (date)Effective Date
metadataobject
total_amountstringTotal
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"
}
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"
}
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_credits/{id}" \
  -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"
}'
DELETE /v1/vendor_credits/{id}

Delete a vendor credit

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_credits/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Quotes

GET /v1/quotes

List quotes

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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)
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
PUT /v1/quotes/{id}

Update a quote

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
currencystringCurrency
customer_idstringCustomer ID
customer_namestringCustomer
descriptionstringDescription
document_numberstringNumber
expires_atstring (date-time)Expires
issued_atstring (date-time)Issue Date
metadataobject
statusstringStatus
total_amountstringTotal
{
  "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"
}
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"
}
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/quotes/{id}" \
  -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"
}'
DELETE /v1/quotes/{id}

Delete a quote

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/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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by status
customer_idstringFilter by customer UUID
start_datestringFilter by issued_at >= (YYYY-MM-DD)
end_datestringFilter by issued_at <= (YYYY-MM-DD)
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
PUT /v1/sales_orders/{id}

Update a sales order

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
currencystringCurrency
customer_idstringCustomer ID
document_numberstringNumber
issued_atstring (date-time)Issue Date
metadataobject
statusstringStatus
total_amountstringTotal
{
  "currency": "USD",
  "customer_id": "cus_1001",
  "document_number": "INV-1001",
  "issued_at": "2026-05-05T12:00:00Z",
  "metadata": {},
  "status": "draft",
  "total_amount": "125.00"
}
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"
}
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_orders/{id}" \
  -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"
}'
DELETE /v1/sales_orders/{id}

Delete a sales order

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_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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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)
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
PUT /v1/purchase_orders/{id}

Update a purchase order

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
approval_statusstringStatus
currencystringCurrency
descriptionstringDescription
document_numberstringNumber
expected_datestring (date)Expected Date
issued_atstring (date-time)Issue Date
metadataobject
total_amountstringTotal
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"
}
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"
}
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/purchase_orders/{id}" \
  -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"
}'
DELETE /v1/purchase_orders/{id}

Delete a purchase order

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/purchase_orders/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Banking

GET /v1/bank/accounts

List banking

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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/{id}/matches

List bank transaction match suggestions

NameTypeDescription
id requiredstringBank transaction ID
200 List of suggested document matches
FieldTypeDescription
data requiredarray of object
Show data[] fields
FieldTypeDescription
amount[string null]
amount_difference[string null]
confidence requirednumber
counterparty_id[string null] (uuid)
counterparty_name[string null]
date[string null] (date)
days_apartinteger
document_id requiredstring (uuid)
document_type requiredstring
match_key requiredstring
match_reasons requiredarray of string
object requiredstring
object requiredstring
pagination requiredobject
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "data": [
    {
      "amount": "125.00",
      "amount_difference": "125.00",
      "confidence": 0,
      "counterparty_id": "00000000-0000-0000-0000-000000000000",
      "counterparty_name": "Acme Supplies",
      "date": "2026-05-05",
      "days_apart": 0,
      "document_id": "00000000-0000-0000-0000-000000000000",
      "document_type": "invoice",
      "match_key": "match_key_sample",
      "match_reasons": [
        "match_reasons_sample"
      ],
      "object": "bank_transaction_match"
    }
  ],
  "object": "list",
  "pagination": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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"
}
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 GET "https://api.backfill.io/v1/bank/transactions/{id}/matches" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/bank/transactions/pending

List pending bank transactions

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
200 List of pending transactions
FieldTypeDescription
data requiredarray of object
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredobject
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
total_pendinginteger
{
  "data": [
    {
      "data": {},
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "bank_transaction"
    }
  ],
  "object": "list",
  "pagination": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 0
  },
  "total_pending": 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"
}
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 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
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
failed requiredinteger
processed requiredinteger
results requiredarray of object
Show results[] fields
FieldTypeDescription
id[string null] (uuid)
reason[string null]
status requiredstring
succeeded requiredinteger
object requiredstring
{
  "data": {
    "failed": 0,
    "processed": 0,
    "results": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "reason": "reason_sample",
        "status": "success"
      }
    ],
    "succeeded": 0
  },
  "object": "batch_result"
}
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/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"
}
409 Conflict
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/transactions/{id}/reconcile

Reconcile 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"
}
409 Conflict
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}/reconcile" \
  -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"
}
409 Conflict
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"
POST /v1/bank/transactions/{id}/unreconcile

Unreconcile 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"
}
409 Conflict
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}/unreconcile" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Bank Transfers

GET /v1/bank_transfers

List bank transfers

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
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
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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"
PUT /v1/bank_transfers/{id}

Update a bank transfer

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
amountstringAmount
currencystringCurrency
from_account_idstringFrom Account ID
memostringMemo
metadataobjectMetadata
statusstringStatus
to_account_idstringTo Account ID
transfer_datestring (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"
}
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"
}
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/bank_transfers/{id}" \
  -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"
}'
DELETE /v1/bank_transfers/{id}

Delete a bank transfer

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/bank_transfers/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Deposits

GET /v1/deposits

List deposits

NameTypeDescription
limitintegerMaximum number of records to return
pageintegerPage number
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
statusstringFilter by status
start_datestringFilter by deposit_date >= (YYYY-MM-DD)
end_datestringFilter by deposit_date <= (YYYY-MM-DD)
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "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": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
NameTypeDescription
includestringComma-separated extension field tokens: extension_fields.entity, extension_fields.line
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"
PUT /v1/deposits/{id}

Update a deposit

NameTypeDescription
id requiredstringResource identifier
FieldTypeDescription
cashback_account_idstringCash Back Account ID
cashback_amountstringCash Back Amount
cashback_memostringCash Back Memo
currencystringCurrency
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_amountstringTotal 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"
}
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"
}
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/deposits/{id}" \
  -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"
}'
DELETE /v1/deposits/{id}

Delete a deposit

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/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
sortstringSort by a whitelisted field. Prefix with '-' for descending order, e.g. '-created_at'.
200 Success
FieldTypeDescription
data requiredarray of RecordEnvelope
Show data[] fields
FieldTypeDescription
data requiredobject
id requiredstring (uuid)
object requiredstring
object requiredstring
pagination requiredPagination
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "data": [
    {
      "data": {
        "approval_status": "draft",
        "connection_id": "conn_1001",
        "created_at": "2026-05-05T12:00:00Z",
        "currency": "USD",
        "dimensions": {},
        "document_date": "2026-05-05",
        "effective_date": "2026-05-05",
        "entry_date": "2026-05-05",
        "entry_number": "1001",
        "id": "00000000-0000-0000-0000-000000000000",
        "lines": [
          {
            "account_code": "VALIDATION_ERROR",
            "account_id": "acc_1001",
            "class_id": "class_1001",
            "credit_amount": "125.00",
            "debit_amount": "125.00",
            "description": "Office supplies",
            "dimensions": {},
            "line_number": 0,
            "line_ref": "line_ref_sample",
            "location_id": "loc_1001",
            "metadata": {}
          }
        ],
        "memo": "Payment received",
        "metadata": {},
        "posting_period": "posting_period_sample",
        "reverses_entry_id": "reverses_entry_id_sample",
        "source_id": "src_1001",
        "source_system": "api",
        "status": "draft",
        "updated_at": "2026-05-05T12:00:00Z"
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "journal_entry"
    }
  ],
  "object": "list",
  "pagination": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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
approval_statusstringApproval Status
currencystringCurrency
dimensionsobjectDimensions
document_datestring (date)Date on the source document, such as the invoice date. Used for document-period reporting; when omitted, invoice normalization derives it from issued_at when possible.
effective_datestring (date)Accounting effective date for reporting, posting, and period cutoffs. Defaults to document_date when omitted.
entry_date requiredstring (date)Entry Date
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
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.
class_idstringIdentifier for the related class record.
credit_amountstringCredit Amount
debit_amountstringDebit Amount
descriptionstringDescription
dimensionsobjectDimensions
line_numberintegerOne-based display order of the line within the document. Use for ordering and presentation, not stable identity.
line_refstringProvider-native line reference. Use it to match the same source line across document versions and related documents.
location_idstringIdentifier for the related location record.
metadataobjectMetadata
memostringMemo
metadataobjectMetadata
posting_periodstringPosting Period
reverses_entry_idstringIdentifier for the related reverses entry record.
status requiredstringStatus
{
  "approval_status": "draft",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "entry_date": "2026-05-05",
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "class_id": "class_1001",
      "credit_amount": "125.00",
      "debit_amount": "125.00",
      "description": "Office supplies",
      "dimensions": {},
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "location_id": "loc_1001",
      "metadata": {}
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "posting_period": "posting_period_sample",
  "reverses_entry_id": "reverses_entry_id_sample",
  "status": "draft"
}
201 Created
FieldTypeDescription
data requiredJournalEntryRecordA journal_entry record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
connection_idstringBackfill tenant connection ID that scopes records to a specific external account, store, realm, or integration instance. It may participate in source identity without being required on every create payload.
created_atstring (date-time)
currencystringCurrency
dimensionsobjectDimensions
document_datestring (date)Date on the source document, such as the invoice date. Used for document-period reporting; when omitted, invoice normalization derives it from issued_at when possible.
effective_datestring (date)Accounting effective date for reporting, posting, and period cutoffs. Defaults to document_date when omitted.
entry_date requiredstring (date)Entry Date
entry_numberstringEntry Number
idstringBackfill canonical record ID assigned after persistence. This is distinct from the source-system ID.
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
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.
class_idstringIdentifier for the related class record.
credit_amountstringCredit Amount
debit_amountstringDebit Amount
descriptionstringDescription
dimensionsobjectDimensions
line_numberintegerOne-based display order of the line within the document. Use for ordering and presentation, not stable identity.
line_refstringProvider-native line reference. Use it to match the same source line across document versions and related documents.
location_idstringIdentifier for the related location record.
metadataobjectMetadata
memostringMemo
metadataobjectMetadata
posting_periodstringPosting Period
reverses_entry_idstringIdentifier for the related reverses entry record.
source_id requiredstringStable external record ID from the source system. Backfill uses this with source_system and, when present, connection_id for idempotent imports and upserts.
source_system requiredstringConnector or provider that supplied the record, such as stripe, shopify, qbo, csv_upload, or manual.
status requiredstringStatus
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",
    "dimensions": {},
    "document_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "class_id": "class_1001",
        "credit_amount": "125.00",
        "debit_amount": "125.00",
        "description": "Office supplies",
        "dimensions": {},
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "location_id": "loc_1001",
        "metadata": {}
      }
    ],
    "memo": "Payment received",
    "metadata": {},
    "posting_period": "posting_period_sample",
    "reverses_entry_id": "reverses_entry_id_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "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 '{
  "approval_status": "draft",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "entry_date": "2026-05-05",
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "class_id": "class_1001",
      "credit_amount": "125.00",
      "debit_amount": "125.00",
      "description": "Office supplies",
      "dimensions": {},
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "location_id": "loc_1001",
      "metadata": {}
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "posting_period": "posting_period_sample",
  "reverses_entry_id": "reverses_entry_id_sample",
  "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
approval_statusstringApproval Status
connection_idstringBackfill tenant connection ID that scopes records to a specific external account, store, realm, or integration instance. It may participate in source identity without being required on every create payload.
created_atstring (date-time)
currencystringCurrency
dimensionsobjectDimensions
document_datestring (date)Date on the source document, such as the invoice date. Used for document-period reporting; when omitted, invoice normalization derives it from issued_at when possible.
effective_datestring (date)Accounting effective date for reporting, posting, and period cutoffs. Defaults to document_date when omitted.
entry_date requiredstring (date)Entry Date
entry_numberstringEntry Number
idstringBackfill canonical record ID assigned after persistence. This is distinct from the source-system ID.
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
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.
class_idstringIdentifier for the related class record.
credit_amountstringCredit Amount
debit_amountstringDebit Amount
descriptionstringDescription
dimensionsobjectDimensions
line_numberintegerOne-based display order of the line within the document. Use for ordering and presentation, not stable identity.
line_refstringProvider-native line reference. Use it to match the same source line across document versions and related documents.
location_idstringIdentifier for the related location record.
metadataobjectMetadata
memostringMemo
metadataobjectMetadata
posting_periodstringPosting Period
reverses_entry_idstringIdentifier for the related reverses entry record.
source_id requiredstringStable external record ID from the source system. Backfill uses this with source_system and, when present, connection_id for idempotent imports and upserts.
source_system requiredstringConnector or provider that supplied the record, such as stripe, shopify, qbo, csv_upload, or manual.
status requiredstringStatus
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",
    "dimensions": {},
    "document_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "class_id": "class_1001",
        "credit_amount": "125.00",
        "debit_amount": "125.00",
        "description": "Office supplies",
        "dimensions": {},
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "location_id": "loc_1001",
        "metadata": {}
      }
    ],
    "memo": "Payment received",
    "metadata": {},
    "posting_period": "posting_period_sample",
    "reverses_entry_id": "reverses_entry_id_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "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
approval_statusstringApproval Status
currencystringCurrency
dimensionsobjectDimensions
document_datestring (date)Date on the source document, such as the invoice date. Used for document-period reporting; when omitted, invoice normalization derives it from issued_at when possible.
effective_datestring (date)Accounting effective date for reporting, posting, and period cutoffs. Defaults to document_date when omitted.
entry_datestring (date)Entry Date
linesarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
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.
class_idstringIdentifier for the related class record.
credit_amountstringCredit Amount
debit_amountstringDebit Amount
descriptionstringDescription
dimensionsobjectDimensions
line_numberintegerOne-based display order of the line within the document. Use for ordering and presentation, not stable identity.
line_refstringProvider-native line reference. Use it to match the same source line across document versions and related documents.
location_idstringIdentifier for the related location record.
metadataobjectMetadata
memostringMemo
metadataobjectMetadata
posting_periodstringPosting Period
reverses_entry_idstringIdentifier for the related reverses entry record.
statusstringStatus
{
  "approval_status": "draft",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "entry_date": "2026-05-05",
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "class_id": "class_1001",
      "credit_amount": "125.00",
      "debit_amount": "125.00",
      "description": "Office supplies",
      "dimensions": {},
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "location_id": "loc_1001",
      "metadata": {}
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "posting_period": "posting_period_sample",
  "reverses_entry_id": "reverses_entry_id_sample",
  "status": "draft"
}
200 Success
FieldTypeDescription
data requiredJournalEntryRecordA journal_entry record as returned by the API
Show data fields
FieldTypeDescription
approval_statusstringApproval Status
connection_idstringBackfill tenant connection ID that scopes records to a specific external account, store, realm, or integration instance. It may participate in source identity without being required on every create payload.
created_atstring (date-time)
currencystringCurrency
dimensionsobjectDimensions
document_datestring (date)Date on the source document, such as the invoice date. Used for document-period reporting; when omitted, invoice normalization derives it from issued_at when possible.
effective_datestring (date)Accounting effective date for reporting, posting, and period cutoffs. Defaults to document_date when omitted.
entry_date requiredstring (date)Entry Date
entry_numberstringEntry Number
idstringBackfill canonical record ID assigned after persistence. This is distinct from the source-system ID.
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
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.
class_idstringIdentifier for the related class record.
credit_amountstringCredit Amount
debit_amountstringDebit Amount
descriptionstringDescription
dimensionsobjectDimensions
line_numberintegerOne-based display order of the line within the document. Use for ordering and presentation, not stable identity.
line_refstringProvider-native line reference. Use it to match the same source line across document versions and related documents.
location_idstringIdentifier for the related location record.
metadataobjectMetadata
memostringMemo
metadataobjectMetadata
posting_periodstringPosting Period
reverses_entry_idstringIdentifier for the related reverses entry record.
source_id requiredstringStable external record ID from the source system. Backfill uses this with source_system and, when present, connection_id for idempotent imports and upserts.
source_system requiredstringConnector or provider that supplied the record, such as stripe, shopify, qbo, csv_upload, or manual.
status requiredstringStatus
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",
    "dimensions": {},
    "document_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "class_id": "class_1001",
        "credit_amount": "125.00",
        "debit_amount": "125.00",
        "description": "Office supplies",
        "dimensions": {},
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "location_id": "loc_1001",
        "metadata": {}
      }
    ],
    "memo": "Payment received",
    "metadata": {},
    "posting_period": "posting_period_sample",
    "reverses_entry_id": "reverses_entry_id_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "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 '{
  "approval_status": "draft",
  "currency": "USD",
  "dimensions": {},
  "document_date": "2026-05-05",
  "effective_date": "2026-05-05",
  "entry_date": "2026-05-05",
  "lines": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "acc_1001",
      "class_id": "class_1001",
      "credit_amount": "125.00",
      "debit_amount": "125.00",
      "description": "Office supplies",
      "dimensions": {},
      "line_number": 0,
      "line_ref": "line_ref_sample",
      "location_id": "loc_1001",
      "metadata": {}
    }
  ],
  "memo": "Payment received",
  "metadata": {},
  "posting_period": "posting_period_sample",
  "reverses_entry_id": "reverses_entry_id_sample",
  "status": "draft"
}'
PATCH /v1/journal_entries/{id}/memo

Update journal entry memo

NameTypeDescription
id requiredstringJournal entry ID
FieldTypeDescription
memo requiredstring
{
  "memo": "Payment received"
}
200 Journal entry
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
entry_datestring (date)
entry_number[string null]
linesarray of object
Show lines[] fields
FieldTypeDescription
account_code[string null]
account_id requiredstring (uuid)
account_name[string null]
class_id[string null] (uuid)
credit_amount[string null]
debit_amount[string null]
dimensionsobject
id requiredstring (uuid)
line_number requiredinteger
location_id[string null] (uuid)
memo[string null]
memo[string null]
posted_at[string null] (date-time)
statusstring
totalsobject
Show totals fields
FieldTypeDescription
balancedboolean
creditsstringDecimal string
debitsstringDecimal string
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "00000000-0000-0000-0000-000000000000",
        "account_name": "acc_1001",
        "class_id": "00000000-0000-0000-0000-000000000000",
        "credit_amount": "125.00",
        "debit_amount": "125.00",
        "dimensions": {},
        "id": "00000000-0000-0000-0000-000000000000",
        "line_number": 0,
        "location_id": "00000000-0000-0000-0000-000000000000",
        "memo": "Payment received"
      }
    ],
    "memo": "Payment received",
    "posted_at": "2026-05-05T12:00:00Z",
    "status": "draft",
    "totals": {
      "balanced": false,
      "credits": "credits_sample",
      "debits": "debits_sample"
    }
  },
  "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 PATCH "https://api.backfill.io/v1/journal_entries/{id}/memo" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "memo": "Payment received"
}'
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
approval_statusstringApproval Status
connection_idstringBackfill tenant connection ID that scopes records to a specific external account, store, realm, or integration instance. It may participate in source identity without being required on every create payload.
created_atstring (date-time)
currencystringCurrency
dimensionsobjectDimensions
document_datestring (date)Date on the source document, such as the invoice date. Used for document-period reporting; when omitted, invoice normalization derives it from issued_at when possible.
effective_datestring (date)Accounting effective date for reporting, posting, and period cutoffs. Defaults to document_date when omitted.
entry_date requiredstring (date)Entry Date
entry_numberstringEntry Number
idstringBackfill canonical record ID assigned after persistence. This is distinct from the source-system ID.
lines requiredarray of objectLines
Show lines[] fields
FieldTypeDescription
account_codestringAccount Code
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.
class_idstringIdentifier for the related class record.
credit_amountstringCredit Amount
debit_amountstringDebit Amount
descriptionstringDescription
dimensionsobjectDimensions
line_numberintegerOne-based display order of the line within the document. Use for ordering and presentation, not stable identity.
line_refstringProvider-native line reference. Use it to match the same source line across document versions and related documents.
location_idstringIdentifier for the related location record.
metadataobjectMetadata
memostringMemo
metadataobjectMetadata
posting_periodstringPosting Period
reverses_entry_idstringIdentifier for the related reverses entry record.
source_id requiredstringStable external record ID from the source system. Backfill uses this with source_system and, when present, connection_id for idempotent imports and upserts.
source_system requiredstringConnector or provider that supplied the record, such as stripe, shopify, qbo, csv_upload, or manual.
status requiredstringStatus
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",
    "dimensions": {},
    "document_date": "2026-05-05",
    "effective_date": "2026-05-05",
    "entry_date": "2026-05-05",
    "entry_number": "1001",
    "id": "00000000-0000-0000-0000-000000000000",
    "lines": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "acc_1001",
        "class_id": "class_1001",
        "credit_amount": "125.00",
        "debit_amount": "125.00",
        "description": "Office supplies",
        "dimensions": {},
        "line_number": 0,
        "line_ref": "line_ref_sample",
        "location_id": "loc_1001",
        "metadata": {}
      }
    ],
    "memo": "Payment received",
    "metadata": {},
    "posting_period": "posting_period_sample",
    "reverses_entry_id": "reverses_entry_id_sample",
    "source_id": "src_1001",
    "source_system": "api",
    "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"
}
409 Conflict
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
FieldTypeDescription
accounting_methodstring
as_of_datestring (date)
assetsobject
Show assets fields
FieldTypeDescription
namestring
rowsarray of object
totalstringDecimal string

Plus user-defined fields (additionalProperties: true).

balancedboolean
equityobject
Show equity fields
FieldTypeDescription
namestring
rowsarray of object
totalstringDecimal string

Plus user-defined fields (additionalProperties: true).

liabilitiesobject
Show liabilities fields
FieldTypeDescription
namestring
rowsarray of object
totalstringDecimal string

Plus user-defined fields (additionalProperties: true).

object requiredstring
report_type requiredstring
tenant_id requiredstring (uuid)
total_assetsstringDecimal string
total_equitystringDecimal string
total_liabilitiesstringDecimal string
{
  "accounting_method": "acc_1001",
  "as_of_date": "2026-05-05",
  "assets": {
    "name": "Acme Supplies",
    "rows": [
      {}
    ],
    "total": "total_sample"
  },
  "balanced": false,
  "equity": {
    "name": "Acme Supplies",
    "rows": [
      {}
    ],
    "total": "total_sample"
  },
  "liabilities": {
    "name": "Acme Supplies",
    "rows": [
      {}
    ],
    "total": "total_sample"
  },
  "object": "report",
  "report_type": "balance_sheet",
  "tenant_id": "00000000-0000-0000-0000-000000000000",
  "total_assets": "total_assets_sample",
  "total_equity": "total_equity_sample",
  "total_liabilities": "total_liabilities_sample"
}
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 GET "https://api.backfill.io/v1/reports/balance_sheet" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/reports/cash_flow

Get cash-flow statement

NameTypeDescription
start_datestring (date)Period start date
end_datestring (date)Period end date
200 Cash-flow statement data
FieldTypeDescription
accounting_methodstring
actual_change_in_cashstringDecimal string
beginning_cashstringDecimal string
end_datestring (date)
ending_cashstringDecimal string
financingobject
Show financing fields
FieldTypeDescription
rowsarray of object
Show rows[] fields
FieldTypeDescription
account_code[string null]
account_idstring (uuid)
account_name[string null]
account_sub_type[string null]
account_type[string null]
amountstringDecimal string
closing_balancestringDecimal string
deltastringDecimal string
opening_balancestringDecimal string
sectionstring
totalstringDecimal string
investingobject
Show investing fields
FieldTypeDescription
rowsarray of object
Show rows[] fields
FieldTypeDescription
account_code[string null]
account_idstring (uuid)
account_name[string null]
account_sub_type[string null]
account_type[string null]
amountstringDecimal string
closing_balancestringDecimal string
deltastringDecimal string
opening_balancestringDecimal string
sectionstring
totalstringDecimal string
net_change_in_cashstringDecimal string
net_incomestringDecimal string
object requiredstring
operatingobject
Show operating fields
FieldTypeDescription
adjustmentsarray of object
Show adjustments[] fields
FieldTypeDescription
account_code[string null]
account_idstring (uuid)
account_name[string null]
account_sub_type[string null]
account_type[string null]
amountstringDecimal string
closing_balancestringDecimal string
deltastringDecimal string
opening_balancestringDecimal string
sectionstring
totalstringDecimal string
working_capitalarray of object
Show working_capital[] fields
FieldTypeDescription
account_code[string null]
account_idstring (uuid)
account_name[string null]
account_sub_type[string null]
account_type[string null]
amountstringDecimal string
closing_balancestringDecimal string
deltastringDecimal string
opening_balancestringDecimal string
sectionstring
reconciledboolean
reconciliation_differencestringDecimal string
report_type requiredstring
start_datestring (date)
tenant_id requiredstring (uuid)
{
  "accounting_method": "acc_1001",
  "actual_change_in_cash": "actual_change_in_cash_sample",
  "beginning_cash": "beginning_cash_sample",
  "end_date": "2026-05-05",
  "ending_cash": "ending_cash_sample",
  "financing": {
    "rows": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "00000000-0000-0000-0000-000000000000",
        "account_name": "acc_1001",
        "account_sub_type": "acc_1001",
        "account_type": "acc_1001",
        "amount": "125.00",
        "closing_balance": "125.00",
        "delta": "delta_sample",
        "opening_balance": "125.00",
        "section": "section_sample"
      }
    ],
    "total": "total_sample"
  },
  "investing": {
    "rows": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "00000000-0000-0000-0000-000000000000",
        "account_name": "acc_1001",
        "account_sub_type": "acc_1001",
        "account_type": "acc_1001",
        "amount": "125.00",
        "closing_balance": "125.00",
        "delta": "delta_sample",
        "opening_balance": "125.00",
        "section": "section_sample"
      }
    ],
    "total": "total_sample"
  },
  "net_change_in_cash": "net_change_in_cash_sample",
  "net_income": "net_income_sample",
  "object": "report",
  "operating": {
    "adjustments": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "00000000-0000-0000-0000-000000000000",
        "account_name": "acc_1001",
        "account_sub_type": "acc_1001",
        "account_type": "acc_1001",
        "amount": "125.00",
        "closing_balance": "125.00",
        "delta": "delta_sample",
        "opening_balance": "125.00",
        "section": "section_sample"
      }
    ],
    "total": "total_sample",
    "working_capital": [
      {
        "account_code": "VALIDATION_ERROR",
        "account_id": "00000000-0000-0000-0000-000000000000",
        "account_name": "acc_1001",
        "account_sub_type": "acc_1001",
        "account_type": "acc_1001",
        "amount": "125.00",
        "closing_balance": "125.00",
        "delta": "delta_sample",
        "opening_balance": "125.00",
        "section": "section_sample"
      }
    ]
  },
  "reconciled": false,
  "reconciliation_difference": "reconciliation_difference_sample",
  "report_type": "cash_flow",
  "start_date": "2026-05-05",
  "tenant_id": "00000000-0000-0000-0000-000000000000"
}
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 GET "https://api.backfill.io/v1/reports/cash_flow" \
  -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
FieldTypeDescription
accounting_methodstring
cogsobject
Show cogs fields
FieldTypeDescription
namestring
rowsarray of object
totalstringDecimal string

Plus user-defined fields (additionalProperties: true).

end_datestring (date)
expensesobject
Show expenses fields
FieldTypeDescription
namestring
rowsarray of object
totalstringDecimal string

Plus user-defined fields (additionalProperties: true).

gross_profitstringDecimal string
incomeobject
Show income fields
FieldTypeDescription
namestring
rowsarray of object
totalstringDecimal string

Plus user-defined fields (additionalProperties: true).

net_incomestringDecimal string
object requiredstring
report_type requiredstring
start_datestring (date)
tenant_id requiredstring (uuid)
{
  "accounting_method": "acc_1001",
  "cogs": {
    "name": "Acme Supplies",
    "rows": [
      {}
    ],
    "total": "total_sample"
  },
  "end_date": "2026-05-05",
  "expenses": {
    "name": "Acme Supplies",
    "rows": [
      {}
    ],
    "total": "total_sample"
  },
  "gross_profit": "gross_profit_sample",
  "income": {
    "name": "Acme Supplies",
    "rows": [
      {}
    ],
    "total": "total_sample"
  },
  "net_income": "net_income_sample",
  "object": "report",
  "report_type": "income_statement",
  "start_date": "2026-05-05",
  "tenant_id": "00000000-0000-0000-0000-000000000000"
}
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 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
FieldTypeDescription
as_of_date requiredstring (date)
balancedboolean
object requiredstring
report_type requiredstring
rows requiredarray of object
Show rows[] fields
FieldTypeDescription
account_code[string null]
account_id requiredstring (uuid)
account_name requiredstring
account_type requiredstring
credit_total requiredstringDecimal string
debit_total requiredstringDecimal string
net_credit requiredstringDecimal string
net_debit requiredstringDecimal string
tenant_id requiredstring (uuid)
totals requiredobject
Show totals fields
FieldTypeDescription
balancedboolean
creditsstringDecimal string
debitsstringDecimal string
{
  "as_of_date": "2026-05-05",
  "balanced": false,
  "object": "report",
  "report_type": "trial_balance",
  "rows": [
    {
      "account_code": "VALIDATION_ERROR",
      "account_id": "00000000-0000-0000-0000-000000000000",
      "account_name": "acc_1001",
      "account_type": "acc_1001",
      "credit_total": "credit_total_sample",
      "debit_total": "debit_total_sample",
      "net_credit": "net_credit_sample",
      "net_debit": "net_debit_sample"
    }
  ],
  "tenant_id": "00000000-0000-0000-0000-000000000000",
  "totals": {
    "balanced": false,
    "credits": "credits_sample",
    "debits": "debits_sample"
  }
}
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 GET "https://api.backfill.io/v1/reports/trial_balance" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/reports/balance_sheet/export

Export balance sheet CSV

NameTypeDescription
as_of_datestring (date)Report as-of date (YYYY-MM-DD)
201 Balance sheet export
FieldTypeDescription
download_url requiredstring
formatstring
id requiredstring (uuid)
object requiredstring
report_typestring
{
  "download_url": "download_url_sample",
  "format": "format_sample",
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export",
  "report_type": "report_type_sample"
}
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/reports/balance_sheet/export" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/reports/balance_sheet/export_pdf

Export balance sheet PDF

NameTypeDescription
as_of_datestring (date)Report as-of date (YYYY-MM-DD)
201 Balance sheet PDF export
FieldTypeDescription
download_url requiredstring
formatstring
id requiredstring (uuid)
object requiredstring
report_typestring
{
  "download_url": "download_url_sample",
  "format": "format_sample",
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export",
  "report_type": "report_type_sample"
}
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/reports/balance_sheet/export_pdf" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/reports/cash_flow/export

Export cash-flow statement CSV

NameTypeDescription
start_datestring (date)Period start date
end_datestring (date)Period end date
201 Cash-flow statement export
FieldTypeDescription
download_url requiredstring
formatstring
id requiredstring (uuid)
object requiredstring
report_typestring
{
  "download_url": "download_url_sample",
  "format": "format_sample",
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export",
  "report_type": "report_type_sample"
}
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/reports/cash_flow/export" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/reports/cash_flow/export_pdf

Export cash-flow statement PDF

NameTypeDescription
start_datestring (date)Period start date
end_datestring (date)Period end date
201 Cash-flow statement PDF export
FieldTypeDescription
download_url requiredstring
formatstring
id requiredstring (uuid)
object requiredstring
report_typestring
{
  "download_url": "download_url_sample",
  "format": "format_sample",
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export",
  "report_type": "report_type_sample"
}
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/reports/cash_flow/export_pdf" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/reports/income_statement/export

Export income statement CSV

NameTypeDescription
start_datestring (date)Period start date
end_datestring (date)Period end date
201 Income statement export
FieldTypeDescription
download_url requiredstring
formatstring
id requiredstring (uuid)
object requiredstring
report_typestring
{
  "download_url": "download_url_sample",
  "format": "format_sample",
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export",
  "report_type": "report_type_sample"
}
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/reports/income_statement/export" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/reports/income_statement/export_pdf

Export income statement PDF

NameTypeDescription
start_datestring (date)Period start date
end_datestring (date)Period end date
201 Income statement PDF export
FieldTypeDescription
download_url requiredstring
formatstring
id requiredstring (uuid)
object requiredstring
report_typestring
{
  "download_url": "download_url_sample",
  "format": "format_sample",
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export",
  "report_type": "report_type_sample"
}
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/reports/income_statement/export_pdf" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/reports/trial_balance/export

Export trial balance CSV

NameTypeDescription
as_of_datestring (date)Report as-of date (YYYY-MM-DD)
201 Trial balance export
FieldTypeDescription
download_url requiredstring
formatstring
id requiredstring (uuid)
object requiredstring
report_typestring
{
  "download_url": "download_url_sample",
  "format": "format_sample",
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export",
  "report_type": "report_type_sample"
}
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/reports/trial_balance/export" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Datasets

GET /v1/datasets

List datasets

NameTypeDescription
scopestringFilter by dataset scope
200 Dataset list
FieldTypeDescription
data requiredarray of object
Show data[] fields
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
columnsarray of string
description[string null]
filtersobject
is_defaultboolean
json_schemaobject
namestring
schema_versioninteger
scopestring
sortarray of object
temporal_paramsobject

Plus user-defined fields (additionalProperties: true).

id requiredstring (uuid)
object requiredstring
object requiredstring
{
  "data": [
    {
      "data": {
        "columns": [
          "columns_sample"
        ],
        "description": "Office supplies",
        "filters": {},
        "is_default": false,
        "json_schema": {},
        "name": "Acme Supplies",
        "schema_version": 0,
        "scope": "scope_sample",
        "sort": [
          {}
        ],
        "temporal_params": {}
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "object": "dataset"
    }
  ],
  "object": "list"
}
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 GET "https://api.backfill.io/v1/datasets" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/datasets/{id}

Get dataset metadata

NameTypeDescription
id requiredstringDataset ID
200 Dataset metadata
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
columnsarray of string
description[string null]
filtersobject
is_defaultboolean
json_schemaobject
namestring
schema_versioninteger
scopestring
sortarray of object
temporal_paramsobject

Plus user-defined fields (additionalProperties: true).

id requiredstring (uuid)
object requiredstring
{
  "data": {
    "columns": [
      "columns_sample"
    ],
    "description": "Office supplies",
    "filters": {},
    "is_default": false,
    "json_schema": {},
    "name": "Acme Supplies",
    "schema_version": 0,
    "scope": "scope_sample",
    "sort": [
      {}
    ],
    "temporal_params": {}
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "dataset"
}
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 GET "https://api.backfill.io/v1/datasets/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/datasets/{id}/export

Export dataset CSV

NameTypeDescription
id requiredstringDataset ID
201 Dataset export
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
dataset_id requiredstring (uuid)
dataset_name requiredstring
download_url requiredstring
row_count requiredinteger
id requiredstring (uuid)
object requiredstring
{
  "data": {
    "dataset_id": "00000000-0000-0000-0000-000000000000",
    "dataset_name": "Acme Supplies",
    "download_url": "download_url_sample",
    "row_count": 0
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "export"
}
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/datasets/{id}/export" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/datasets/{id}/data

Query dataset data

NameTypeDescription
id requiredstringDataset ID
NameTypeDescription
formatstringResponse format: json or csv
limitintegerMaximum number of rows
offsetintegerNumber of rows to skip
200 Dataset query result
FieldTypeDescription
data requiredarray of object
meta requiredobject
Show meta fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
offset requiredinteger
total_count requiredinteger
object requiredstring
pagination requiredobject
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
offset requiredinteger
total_count requiredinteger
{
  "data": [
    {}
  ],
  "meta": {
    "has_more": false,
    "limit": 0,
    "offset": 0,
    "total_count": 0
  },
  "object": "dataset_query",
  "pagination": {
    "has_more": false,
    "limit": 0,
    "offset": 0,
    "total_count": 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"
}
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 GET "https://api.backfill.io/v1/datasets/{id}/data" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Attachments

GET /v1/attachments

List record attachments

NameTypeDescription
record_typestringAttached record type
record_idstringAttached record ID
200 Attachment list
FieldTypeDescription
countinteger
data requiredarray of object
Show data[] fields
FieldTypeDescription
base64_content[string null]
byte_sizeinteger
content_typestring
description[string null]
filenamestring
idstring (uuid)
kind[string null]
source[string null]
title[string null]

Plus user-defined fields (additionalProperties: true).

object requiredstring
pagination requiredobject
Show pagination fields
FieldTypeDescription
has_more requiredboolean
limit requiredinteger
page requiredinteger
total_count requiredinteger
{
  "count": 0,
  "data": [
    {
      "base64_content": "base64_content_sample",
      "byte_size": 0,
      "content_type": "content_type_sample",
      "description": "Office supplies",
      "filename": "Acme Supplies",
      "id": "00000000-0000-0000-0000-000000000000",
      "kind": "kind_sample",
      "source": "src_1001",
      "title": "title_sample"
    }
  ],
  "object": "list",
  "pagination": {
    "has_more": false,
    "limit": 0,
    "page": 0,
    "total_count": 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"
}
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 GET "https://api.backfill.io/v1/attachments" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/attachments

Create record attachment

FieldTypeDescription
base64_content requiredstring
content_type requiredstring
descriptionstring
filename requiredstring
kindstring
record_id requiredstring (uuid)
record_type requiredstring
sourcestring
titlestring
{
  "base64_content": "base64_content_sample",
  "content_type": "content_type_sample",
  "description": "Office supplies",
  "filename": "Acme Supplies",
  "kind": "kind_sample",
  "record_id": "00000000-0000-0000-0000-000000000000",
  "record_type": "record_type_sample",
  "source": "src_1001",
  "title": "title_sample"
}
201 Created attachment
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
base64_content[string null]
byte_sizeinteger
content_typestring
description[string null]
filenamestring
idstring (uuid)
kind[string null]
source[string null]
title[string null]

Plus user-defined fields (additionalProperties: true).

id requiredstring (uuid)
object requiredstring
{
  "data": {
    "base64_content": "base64_content_sample",
    "byte_size": 0,
    "content_type": "content_type_sample",
    "description": "Office supplies",
    "filename": "Acme Supplies",
    "id": "00000000-0000-0000-0000-000000000000",
    "kind": "kind_sample",
    "source": "src_1001",
    "title": "title_sample"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "attachment"
}
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/attachments" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "base64_content": "base64_content_sample",
  "content_type": "content_type_sample",
  "description": "Office supplies",
  "filename": "Acme Supplies",
  "kind": "kind_sample",
  "record_id": "00000000-0000-0000-0000-000000000000",
  "record_type": "record_type_sample",
  "source": "src_1001",
  "title": "title_sample"
}'
GET /v1/attachments/{id}

Get record attachment

NameTypeDescription
id requiredstringAttachment ID
NameTypeDescription
record_typestringAttached record type
record_idstringAttached record ID
include_contentbooleanInclude base64 file content
200 Attachment
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
base64_content[string null]
byte_sizeinteger
content_typestring
description[string null]
filenamestring
idstring (uuid)
kind[string null]
source[string null]
title[string null]

Plus user-defined fields (additionalProperties: true).

id requiredstring (uuid)
object requiredstring
{
  "data": {
    "base64_content": "base64_content_sample",
    "byte_size": 0,
    "content_type": "content_type_sample",
    "description": "Office supplies",
    "filename": "Acme Supplies",
    "id": "00000000-0000-0000-0000-000000000000",
    "kind": "kind_sample",
    "source": "src_1001",
    "title": "title_sample"
  },
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "attachment"
}
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 GET "https://api.backfill.io/v1/attachments/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
DELETE /v1/attachments/{id}

Delete record attachment

NameTypeDescription
id requiredstringAttachment ID
NameTypeDescription
record_typestringAttached record type
record_idstringAttached record ID
200 Deleted attachment
FieldTypeDescription
deleted requiredboolean
id requiredstring (uuid)
object requiredstring
{
  "deleted": false,
  "id": "00000000-0000-0000-0000-000000000000",
  "object": "attachment"
}
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 DELETE "https://api.backfill.io/v1/attachments/{id}" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/attachments/{id}/download

Download record attachment

NameTypeDescription
id requiredstringAttachment ID
NameTypeDescription
record_typestringAttached record type
record_idstringAttached record ID
200 Attachment bytes

No response body.

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 GET "https://api.backfill.io/v1/attachments/{id}/download" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"

Extensions

GET /v1/extensions/{key}/versions

List extension versions

NameTypeDescription
key requiredstringExtension key
200 Extension versions
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
versionsarray of object
Show versions[] fields
FieldTypeDescription
idstring (uuid)
is_activeboolean
modestring
semver[string null]
statusstring
versioninteger

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "versions": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "is_active": false,
        "mode": "mode_sample",
        "semver": "semver_sample",
        "status": "draft",
        "version": 0
      }
    ]
  },
  "message": "Request validation failed",
  "status": "success"
}
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 GET "https://api.backfill.io/v1/extensions/{key}/versions" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/extensions/hooks

List extension hooks

NameTypeDescription
extension_keystringFilter hooks to an extension key
200 Extension hooks
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
hooksarray of object
Show hooks[] fields
FieldTypeDescription
entity_typestring
extension_keystring
idstring (uuid)
operationstring

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "hooks": [
      {
        "entity_type": "entity_type_sample",
        "extension_key": "extension_key_sample",
        "id": "00000000-0000-0000-0000-000000000000",
        "operation": "operation_sample"
      }
    ]
  },
  "message": "Request validation failed",
  "status": "success"
}
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 GET "https://api.backfill.io/v1/extensions/hooks" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/extensions/jobs

List extension jobs

NameTypeDescription
extension_keystringFilter jobs to an extension key
200 Extension jobs
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
jobsarray of object
Show jobs[] fields
FieldTypeDescription
enabledboolean
idstring (uuid)
namestring
schedule[string null]

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "jobs": [
      {
        "enabled": false,
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "Acme Supplies",
        "schedule": "schedule_sample"
      }
    ]
  },
  "message": "Request validation failed",
  "status": "success"
}
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 GET "https://api.backfill.io/v1/extensions/jobs" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/extensions/logs

List extension execution logs

NameTypeDescription
sincestringISO 8601 timestamp cursor
extension_keystringFilter logs to an extension key
200 Extension logs
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
cursorstring (date-time)
logsarray of object
Show logs[] fields
FieldTypeDescription
eventstring
idstring (uuid)
inserted_atstring (date-time)
statusstring

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "cursor": "2026-05-05T12:00:00Z",
    "logs": [
      {
        "event": "event_sample",
        "id": "00000000-0000-0000-0000-000000000000",
        "inserted_at": "2026-05-05T12:00:00Z",
        "status": "draft"
      }
    ]
  },
  "message": "Request validation failed",
  "status": "success"
}
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 GET "https://api.backfill.io/v1/extensions/logs" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
GET /v1/extensions/auth

Get extension API auth context

200 Extension authentication context
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
client_namestring
extensions_deployboolean
scopesarray of string
tenant_idstring (uuid)
tenant_name[string null]
message requiredstring
status requiredstring
{
  "data": {
    "client_name": "Acme Supplies",
    "extensions_deploy": false,
    "scopes": [
      "scopes_sample"
    ],
    "tenant_id": "00000000-0000-0000-0000-000000000000",
    "tenant_name": "Acme Supplies"
  },
  "message": "Request validation failed",
  "status": "success"
}
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 GET "https://api.backfill.io/v1/extensions/auth" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/extensions/deploy

Deploy extension

FieldTypeDescription
modestring
source_files requiredobject
{
  "mode": "live",
  "source_files": {}
}
201 Deployed extension version
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
idstring (uuid)
is_activeboolean
modestring
semver[string null]
statusstring
versioninteger

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "is_active": false,
    "mode": "mode_sample",
    "semver": "semver_sample",
    "status": "draft",
    "version": 0
  },
  "message": "Request validation failed",
  "status": "success"
}
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/extensions/deploy" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "mode": "live",
  "source_files": {}
}'
POST /v1/extensions/dev-deploy

Deploy mutable development extension

FieldTypeDescription
modestring
source_files requiredobject
{
  "mode": "live",
  "source_files": {}
}
201 Deployed development extension version
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
idstring (uuid)
is_activeboolean
modestring
semver[string null]
statusstring
versioninteger

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "is_active": false,
    "mode": "mode_sample",
    "semver": "semver_sample",
    "status": "draft",
    "version": 0
  },
  "message": "Request validation failed",
  "status": "success"
}
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/extensions/dev-deploy" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "mode": "live",
  "source_files": {}
}'
POST /v1/extensions/{key}/promote

Promote extension version

NameTypeDescription
key requiredstringExtension key
200 Promoted extension version
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
idstring (uuid)
is_activeboolean
modestring
semver[string null]
statusstring
versioninteger

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "is_active": false,
    "mode": "mode_sample",
    "semver": "semver_sample",
    "status": "draft",
    "version": 0
  },
  "message": "Request validation failed",
  "status": "success"
}
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/extensions/{key}/promote" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/extensions/{key}/rollback

Roll back extension

NameTypeDescription
key requiredstringExtension key
FieldTypeDescription
version_id requiredstring (uuid)
{
  "version_id": "00000000-0000-0000-0000-000000000000"
}
200 Rolled back extension version
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
idstring (uuid)
is_activeboolean
modestring
semver[string null]
statusstring
versioninteger

Plus user-defined fields (additionalProperties: true).

message requiredstring
status requiredstring
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "is_active": false,
    "mode": "mode_sample",
    "semver": "semver_sample",
    "status": "draft",
    "version": 0
  },
  "message": "Request validation failed",
  "status": "success"
}
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/extensions/{key}/rollback" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "version_id": "00000000-0000-0000-0000-000000000000"
}'
POST /v1/extensions/{key}/jobs/{name}/run

Run extension job

NameTypeDescription
key requiredstringExtension key
name requiredstringJob name
200 Triggered extension job
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
jobobject
Show job fields
FieldTypeDescription
enabledboolean
idstring (uuid)
namestring
schedule[string null]

Plus user-defined fields (additionalProperties: true).

triggeredboolean
message requiredstring
status requiredstring
{
  "data": {
    "job": {
      "enabled": false,
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "Acme Supplies",
      "schedule": "schedule_sample"
    },
    "triggered": false
  },
  "message": "Request validation failed",
  "status": "success"
}
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/extensions/{key}/jobs/{name}/run" \
  -H "Authorization: Bearer $BACKFILL_TOKEN"
POST /v1/extensions/trigger

Trigger extension hook

FieldTypeDescription
entity requiredobject
hook_id requiredstring (uuid)
{
  "entity": {},
  "hook_id": "00000000-0000-0000-0000-000000000000"
}
200 Hook execution result
FieldTypeDescription
data requiredobject
Show data fields
FieldTypeDescription
resultobject
message requiredstring
status requiredstring
{
  "data": {
    "result": {}
  },
  "message": "Request validation failed",
  "status": "success"
}
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/extensions/trigger" \
  -H "Authorization: Bearer $BACKFILL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "entity": {},
  "hook_id": "00000000-0000-0000-0000-000000000000"
}'