Skip to main content
POST
/
invoice
cURL
curl --request POST \
  --url https://api.slash.com/invoice \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "accountId": "<string>",
  "legalEntityCustomerId": "<string>",
  "details": {
    "issuedAt": "2023-12-25",
    "dueAt": "2023-12-25",
    "invoiceTz": "America/New_York",
    "lineItemsAndTotals": {
      "lineItems": [
        {
          "name": "<string>",
          "quantity": 123,
          "priceCents": 123,
          "catalogItemId": "<string>"
        }
      ],
      "discount": {
        "percent": 123
      },
      "tax": {
        "percent": 123
      }
    },
    "invoiceNumber": "<string>",
    "memo": "<string>",
    "version": 2,
    "ccEmails": [
      "<string>"
    ]
  },
  "legalEntityContactId": "<string>",
  "paymentMethods": [
    {
      "config": {
        "passFeeToPayer": true
      }
    }
  ]
}
'
{
  "invoice": {
    "id": "<string>",
    "collectedAmountCents": 123,
    "invoiceDetailsId": "<string>",
    "accountId": "<string>",
    "invoiceTransactions": [
      {
        "transaction": {
          "paymentMethod": {
            "config": {
              "passFeeToPayer": true
            }
          },
          "paidAt": "<string>"
        }
      }
    ],
    "legalEntityContactId": "<string>",
    "legalEntityCustomerId": "<string>",
    "invoicePaymentMethods": [
      {
        "config": {
          "passFeeToPayer": true
        }
      }
    ],
    "closedAt": "2023-11-07T05:31:56Z",
    "invoiceSeriesId": "<string>",
    "scheduledSendDate": "2023-11-07T05:31:56Z"
  },
  "invoiceDetails": {
    "id": "<string>",
    "issuedAt": "2023-11-07T05:31:56Z",
    "dueAt": "2023-11-07T05:31:56Z",
    "invoiceTz": "America/New_York",
    "currency": "<string>",
    "lineItemsAndTotals": {
      "lineItems": [
        {
          "name": "<string>",
          "quantity": 123,
          "priceCents": 123,
          "catalogItemId": "<string>"
        }
      ],
      "subtotalCents": 123,
      "totalAmountCents": 123,
      "discount": {
        "percent": 123
      },
      "tax": {
        "percent": 123
      }
    },
    "invoiceNumber": "<string>",
    "documentId": "<string>",
    "billedTo": {
      "name": "<string>",
      "email": "<string>",
      "address": {
        "addressLine": "<string>",
        "addressCity": "<string>",
        "addressState": "<string>",
        "addressZip": "<string>",
        "addressLine2": "<string>",
        "addressCountry": "<string>"
      },
      "ccEmails": [
        "<string>"
      ]
    },
    "version": 2,
    "memo": "<string>"
  },
  "invoiceAccount": {
    "id": "<string>",
    "name": "<string>",
    "slashAccountGroupId": "<string>",
    "accountNumber": "<string>",
    "routingNumber": "<string>",
    "closedAt": "<string>"
  }
}

Authorizations

X-API-Key
string
header
required

API key authentication for public API requests.

Keys come in two flavors:

  • Legal-entity-scoped keys are pinned to a single legal entity. Minted via the dashboard under a specific entity; every request acts on that entity.
  • User-scoped keys are pinned to a user and span every legal entity that user has access to. Every request made with a user-scoped key (except GET /legal-entity, which lists the legal entities the user can access) must include an x-legal-entity header naming the legal entity the request is operating on. Requests without the header are rejected with 400. The authenticated user must have an active permission role on the supplied legal entity, otherwise the request is rejected with 403.

Body

application/json
accountId
string
required

The ID of the account to receive payment. You can get this by calling GET /account.

The ID of the customer to bill. Create a customer first via POST /customer.

details
InvoiceDetailsInput · object
required

DEPRECATED. No longer accepted as of the contact→customer migration. Pass legalEntityCustomerId instead.

paymentMethods
(PaymentMethodAchDebit · object | PaymentMethodCardPayment · object | PaymentMethodCryptoDeposit · object | PaymentMethodInboundAchTransfer · object | PaymentMethodInboundInternationalWire · object | PaymentMethodInboundRtp · object | PaymentMethodInboundWireTransfer · object)[]

Payment methods to enable on this invoice.

Response

OK

Aggregate model for an invoice

invoice
Invoice · object
required

Top-level invoice model

invoiceDetails
InvoiceDetails · object
required
invoiceAccount
Model · object
required