Skip to main content
POST
/
api
/
v1
/
invoices
/
documents
/
contracts
/
invoices
/
uploaded
Create incoming invoice from uploaded document
curl --request POST \
  --url https://api.hevn.finance/api/v1/invoices/documents/contracts/invoices/uploaded \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "amount": 1,
  "contractorEmail": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "amount": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "onchainTransactionId": "<string>",
  "transaction": {
    "onchainTransactionId": "<string>",
    "amount": 123,
    "txHash": "<string>",
    "type": "<string>",
    "createdAt": "2023-11-07T05:31:56Z"
  },
  "discount": "<string>",
  "comment": "<string>",
  "emailMessage": "<string>",
  "invoiceNumber": "<string>",
  "periodNumber": 123,
  "issuedDate": "2023-12-25",
  "dueDate": "2023-12-25",
  "items": [
    {}
  ],
  "paymentMethods": [
    {
      "bankName": "<string>",
      "ibanNumber": "<string>",
      "beneficiaryName": "<string>",
      "bankAddress": "<string>",
      "currency": "<string>",
      "accountHolderFirstName": "<string>",
      "accountHolderLastName": "<string>",
      "accountHolderBusinessName": "<string>",
      "accountHolderAddress": {
        "streetAddress": "<string>",
        "addressLine2": "<string>",
        "city": "<string>",
        "state": "<string>",
        "zip": "<string>"
      },
      "paymentReference": "<string>",
      "accountType": "sepa",
      "bic": "<string>"
    }
  ],
  "client": {
    "email": "<string>",
    "displayName": "<string>",
    "address": {
      "streetAddress": "<string>",
      "addressLine2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "zip": "<string>"
    }
  },
  "contractor": {
    "email": "<string>",
    "displayName": "<string>",
    "address": {
      "streetAddress": "<string>",
      "addressLine2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "zip": "<string>"
    }
  },
  "contract": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "isRecurring": true,
    "period": "<string>",
    "activationAt": "2023-11-07T05:31:56Z",
    "expirationAt": "2023-11-07T05:31:56Z"
  },
  "invoiceLink": "<string>",
  "documents": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "key": "<string>"
    }
  ],
  "paidAt": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
default:Bearer <token>
required

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

Headers

x-api-key
string | null

Body

application/json

Create an incoming invoice from a manually uploaded/local document.

Current user is the client/payer. Payment methods are resolved from saved contacts; direct paymentMethods input is intentionally not accepted.

amount
required
Required range: x > 0
contractorEmail
string
required
currency
enum<string>
default:USD

Supported invoice/contract currencies. G10 majors + AED/HKD.

Available options:
USD,
EUR,
GBP,
JPY,
CHF,
CAD,
AUD,
NZD,
SEK,
NOK,
AED,
HKD
comment
string | null
emailMessage
string | null
Maximum string length: 2000
issuedDate
string<date> | null
dueDate
string<date> | null
items
Items · object[]
documentIds
string<uuid>[]
contractorDisplayName
string | null
contractorAddress
UserAddress · object

Address schema for user.

Canonical field names: street_address, address_line_2, city, state, country, zip. Accepts legacy Align/IBAN field names (street_line_1, street_line_2, postal_code) for backward compatibility with existing JSONB data.

contactIds
string<uuid>[]

Response

Successful Response

Invoice response.

id
string<uuid>
required
amount
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
currency
enum<string>
required

Supported invoice/contract currencies. G10 majors + AED/HKD.

Available options:
USD,
EUR,
GBP,
JPY,
CHF,
CAD,
AUD,
NZD,
SEK,
NOK,
AED,
HKD
status
enum<string>
required

Invoice status.

Available options:
draft,
sent,
paid,
cancelled,
client_paid,
client_declined
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
onchainTransactionId
string | null
transaction
InvoiceTransactionInfo · object

Minimal transaction info embedded in invoice response.

discount
string | null
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
comment
string | null
emailMessage
string | null
invoiceNumber
string | null
periodNumber
integer | null
issuedDate
string<date> | null
dueDate
string<date> | null
items
Items · object[]
paymentMethods
(IBANAccountDetails · object | USExternalAccountDetails · object | SwiftAccountDetails · object | ContactWalletResponse · object | EmailAccountInput · object)[]

IBAN (SEPA) external account.

client
InvoiceParticipant · object

Minimal participant info for invoice response.

contractor
InvoiceParticipant · object

Minimal participant info for invoice response.

contract
InvoiceContractInfo · object

Minimal contract info embedded in invoice response.

documents
InvoiceDocumentInfo · object[]
paidAt
string<date-time> | null