Skip to main content
POST
/
v1
/
businesses
/
{businessId}
/
bills
/
bill-payments
Create bill payment
curl --request POST \
  --url https://sandbox.layerfi.com/v1/businesses/{businessId}/bills/bill-payments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "paid_at": "2023-11-07T05:31:56Z",
  "method": "CASH",
  "amount": 123,
  "bill_payment_allocations": [
    {
      "amount": 123,
      "bill_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "bill_external_id": "<string>",
      "tags": [
        {
          "key": "department",
          "value": "sales",
          "dimension_display_name": "Department",
          "value_display_name": "Sales Department"
        }
      ],
      "memo": "<string>",
      "metadata": {
        "custom_field": "value",
        "any valid json": "below 1kb",
        "nested": {
          "meaning of life": 42,
          "array": []
        }
      },
      "reference_number": "<string>"
    }
  ],
  "external_id": "<string>",
  "processor": "<string>",
  "payment_clearing_account_identifier": {
    "type": "AccountId",
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "tags": [
    {
      "key": "department",
      "value": "sales",
      "dimension_display_name": "Department",
      "value_display_name": "Sales Department"
    }
  ],
  "memo": "<string>",
  "metadata": {
    "custom_field": "value",
    "any valid json": "below 1kb",
    "nested": {
      "meaning of life": 42,
      "array": []
    }
  },
  "reference_number": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "external_id": "<string>",
  "at": "2023-11-07T05:31:56Z",
  "method": "CASH",
  "amount": 123,
  "processor": "<string>",
  "payment_clearing_account": {
    "id": {
      "type": "AccountId",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "name": "Current Assets",
    "account_number": "4000",
    "stable_name": {
      "type": "StableName",
      "stable_name": "CURRENT_ASSETS"
    },
    "normality": "CREDIT",
    "account_type": {
      "value": "ASSET",
      "display_name": "Asset"
    },
    "account_subtype": {
      "value": "BANK_ACCOUNTS",
      "display_name": "Current Assets"
    }
  },
  "imported_at": "2023-11-07T05:31:56Z",
  "allocations": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "bill_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "amount": 123,
      "transaction_tags": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "key": "ExampleTagKey",
          "value": "ExampleTagValue",
          "dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "dimension_display_name": "<string>",
          "value_display_name": "<string>",
          "archived_at": "2023-11-07T05:31:56Z"
        }
      ],
      "memo": "<string>",
      "metadata": {
        "custom_field": "value",
        "any valid json": "below 1kb",
        "nested": {
          "meaning of life": 42,
          "array": []
        }
      },
      "reference_number": "<string>"
    }
  ],
  "transaction_tags": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "key": "ExampleTagKey",
      "value": "ExampleTagValue",
      "dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "dimension_display_name": "<string>",
      "value_display_name": "<string>",
      "archived_at": "2023-11-07T05:31:56Z"
    }
  ],
  "memo": "<string>",
  "metadata": {
    "custom_field": "value",
    "any valid json": "below 1kb",
    "nested": {
      "meaning of life": 42,
      "array": []
    }
  },
  "reference_number": "<string>"
}

Rate Limiting

This endpoint has a custom rate limit policy. Rate Limit Details:
EnvironmentLimitRefill PeriodInitial Size
Sandbox5 requests1 second10 requests
Production25 requests1 second50 requests
Response Headers: All responses include the following rate limit headers:
  • X-RateLimit-Limit: The rate limit bucket capacity
  • X-RateLimit-Remaining: The number of tokens remaining in the bucket
  • X-RateLimit-Reset: UTC timestamp (in seconds) when the bucket will be refilled
For more details on rate limiting, see Rate Limiting.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

businessId
string<uuid>
required

The UUID of the business to create the payment for

Body

application/json
paid_at
string<date-time>
required

When the payment was made

method
enum<string>
required

Method used for payment

Available options:
CASH,
CHECK,
CREDIT_CARD,
ACH,
CREDIT_BALANCE,
OTHER
amount
integer<int64>
required

Payment amount in cents

bill_payment_allocations
object[]
required

How the payment is allocated across bills

external_id
string | null

External ID for the payment

processor
string | null

Payment processor used

payment_clearing_account_identifier
Account ID · object

The the ledger account to use for the payment (overrides the default determined by the payment method)

tags
object[]
memo
string | null

Memo for any text you would like to associate with the bill payment (for example, to display to end users).

metadata
object

Arbitrary custom metadata in JSON format with a size limit of 1KB

Example:
{
"custom_field": "value",
"any valid json": "below 1kb",
"nested": { "meaning of life": 42, "array": [] }
}
reference_number
string | null

Any (typically user-visible) identifier you would like to associate with the bill payment. Can be used to filter when listing bill payments.

Response

201 - application/json

Payment created successfully

id
string<uuid>

Unique identifier for the payment

external_id
string | null

External ID for the payment

at
string<date-time>

When the payment was made

method
enum<string>

Method used for payment

Available options:
CASH,
CHECK,
CREDIT_CARD,
ACH,
CREDIT_BALANCE,
OTHER
amount
integer<int64>

Payment amount in cents

processor
string | null

Payment processor used

payment_clearing_account
object

The the ledger account to use for the payment (overrides the default determined by the payment method), if specified.

imported_at
string<date-time>

When the payment was imported

allocations
object[]

How the payment is allocated across bills

transaction_tags
object[]

Tags associated with the payment

memo
string | null

Memo for any text you would like to associate with the bill payment (for example, to display to end users).

metadata
object

Arbitrary custom metadata in JSON format with a size limit of 1KB

Example:
{
"custom_field": "value",
"any valid json": "below 1kb",
"nested": { "meaning of life": 42, "array": [] }
}
reference_number
string | null

Any (typically user-visible) identifier you would like to associate with the bill payment. Can be used to filter when listing bill payments.