Hevn Inc invoices API
The invoices API from Hevn Inc — 14 operation(s) for invoices.
The invoices API from Hevn Inc — 14 operation(s) for invoices.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/hevn-inc-invoices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: HEVN 2FA Invoices API
description: Backend API for HEVN mobile neobank
version: 0.1.2
servers:
- url: https://api.hevn.finance
description: Production
tags:
- name: invoices
paths:
/api/v1/documents/contracts/invoices:
post:
tags:
- invoices
summary: Create invoice
operationId: create_invoice_api_v1_documents_contracts_invoices_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInvoiceRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- invoices
summary: List invoices for current user
operationId: list_invoices_api_v1_documents_contracts_invoices_get
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/documents/contracts/invoices/uploaded:
post:
tags:
- invoices
summary: Create incoming invoice from uploaded document
operationId: create_uploaded_invoice_api_v1_documents_contracts_invoices_uploaded_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUploadedInvoiceRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/documents/contracts/invoices/share_link:
post:
tags:
- invoices
summary: Generate a share link for invoice creation
operationId: invoice_share_link_api_v1_documents_contracts_invoices_share_link_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceShareLinkResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/documents/contracts/invoices/batch_invoicing:
post:
tags:
- invoices
summary: Generate invoices for multiple contracts
operationId: batch_invoicing_api_v1_documents_contracts_invoices_batch_invoicing_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BatchInvoicingRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BatchInvoicingResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/documents/contracts/invoices/{invoice_id}:
get:
tags:
- invoices
summary: Get invoice by ID
operationId: get_invoice_api_v1_documents_contracts_invoices__invoice_id__get
security:
- HTTPBearer: []
parameters:
- name: invoice_id
in: path
required: true
schema:
type: string
format: uuid
title: Invoice Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- invoices
summary: Update invoice (set transaction_hash)
operationId: update_invoice_api_v1_documents_contracts_invoices__invoice_id__put
security:
- HTTPBearer: []
parameters:
- name: invoice_id
in: path
required: true
schema:
type: string
format: uuid
title: Invoice Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInvoiceRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/documents/contracts/{contract_id}/create-invoice:
post:
tags:
- invoices
summary: Create invoice from contract
operationId: create_invoice_from_contract_api_v1_documents_contracts__contract_id__create_invoice_post
security:
- HTTPBearer: []
parameters:
- name: contract_id
in: path
required: true
schema:
type: string
format: uuid
title: Contract Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInvoiceFromContractRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/documents/contracts/invoices/ai_parse:
post:
tags:
- invoices
summary: AI parse invoice PDF and return invoice preview
operationId: ai_parse_invoice_api_v1_documents_contracts_invoices_ai_parse_post
security:
- HTTPBearer: []
parameters:
- name: document_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Document Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicInvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/invoices/documents/contracts/invoices:
post:
tags:
- invoices
summary: Create invoice
operationId: create_invoice_package_alias_api_v1_invoices_documents_contracts_invoices_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInvoiceRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- invoices
summary: List invoices for current user
operationId: list_invoices_package_alias_api_v1_invoices_documents_contracts_invoices_get
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/invoices/documents/contracts/invoices/uploaded:
post:
tags:
- invoices
summary: Create incoming invoice from uploaded document
operationId: create_uploaded_invoice_package_alias_api_v1_invoices_documents_contracts_invoices_uploaded_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUploadedInvoiceRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/invoices/documents/contracts/invoices/share_link:
post:
tags:
- invoices
summary: Generate a share link for invoice creation
operationId: invoice_share_link_package_alias_api_v1_invoices_documents_contracts_invoices_share_link_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceShareLinkResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/invoices/documents/contracts/invoices/batch_invoicing:
post:
tags:
- invoices
summary: Generate invoices for multiple contracts
operationId: batch_invoicing_package_alias_api_v1_invoices_documents_contracts_invoices_batch_invoicing_post
security:
- HTTPBearer: []
parameters:
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BatchInvoicingRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BatchInvoicingResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/invoices/documents/contracts/invoices/{invoice_id}:
get:
tags:
- invoices
summary: Get invoice by ID
operationId: get_invoice_package_alias_api_v1_invoices_documents_contracts_invoices__invoice_id__get
security:
- HTTPBearer: []
parameters:
- name: invoice_id
in: path
required: true
schema:
type: string
format: uuid
title: Invoice Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- invoices
summary: Update invoice (set transaction_hash)
operationId: update_invoice_package_alias_api_v1_invoices_documents_contracts_invoices__invoice_id__put
security:
- HTTPBearer: []
parameters:
- name: invoice_id
in: path
required: true
schema:
type: string
format: uuid
title: Invoice Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInvoiceRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/invoices/documents/contracts/{contract_id}/create-invoice:
post:
tags:
- invoices
summary: Create invoice from contract
operationId: create_invoice_from_contract_package_alias_api_v1_invoices_documents_contracts__contract_id__create_invoice_post
security:
- HTTPBearer: []
parameters:
- name: contract_id
in: path
required: true
schema:
type: string
format: uuid
title: Contract Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInvoiceFromContractRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/invoices/documents/contracts/invoices/ai_parse:
post:
tags:
- invoices
summary: AI parse invoice PDF and return invoice preview
operationId: ai_parse_invoice_package_alias_api_v1_invoices_documents_contracts_invoices_ai_parse_post
security:
- HTTPBearer: []
parameters:
- name: document_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Document Id
- name: x-api-key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicInvoiceResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
InvoiceDocumentInfo:
properties:
id:
type: string
format: uuid
title: Id
name:
type: string
title: Name
key:
type: string
title: Key
type: object
required:
- id
- name
- key
title: InvoiceDocumentInfo
description: 'Document attached to an invoice.
`key` is a short-lived signed token. To download call
GET /documents/download/{id}?key={key}.'
InvoiceParticipant:
properties:
email:
type: string
title: Email
displayName:
anyOf:
- type: string
- type: 'null'
title: Displayname
address:
anyOf:
- $ref: '#/components/schemas/UserAddress'
- type: 'null'
type: object
required:
- email
title: InvoiceParticipant
description: Minimal participant info for invoice response.
PublicInvoiceResponse:
properties:
id:
type: string
format: uuid
title: Id
amount:
type: number
title: Amount
currency:
type: string
title: Currency
comment:
anyOf:
- type: string
- type: 'null'
title: Comment
invoiceNumber:
anyOf:
- type: string
- type: 'null'
title: Invoicenumber
issuedDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Issueddate
dueDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Duedate
status:
$ref: '#/components/schemas/InvoiceStatus'
client:
anyOf:
- $ref: '#/components/schemas/InvoiceParticipant'
- type: 'null'
contractor:
anyOf:
- $ref: '#/components/schemas/InvoiceParticipant'
- type: 'null'
items:
items:
$ref: '#/components/schemas/PublicInvoiceItem'
type: array
title: Items
paymentMethods:
items:
anyOf:
- $ref: '#/components/schemas/IBANAccountDetails-Output'
- $ref: '#/components/schemas/USExternalAccountDetails-Output'
- $ref: '#/components/schemas/SwiftAccountDetails-Output'
- $ref: '#/components/schemas/ContactWalletResponse'
- $ref: '#/components/schemas/EmailAccountInput'
type: array
title: Paymentmethods
default: []
contract:
anyOf:
- $ref: '#/components/schemas/PublicInvoiceContractInfo'
- type: 'null'
invoiceLink:
anyOf:
- type: string
- type: 'null'
title: Invoicelink
documents:
items:
$ref: '#/components/schemas/InvoiceDocumentInfo'
type: array
title: Documents
default: []
createdAt:
type: string
format: date-time
title: Createdat
type: object
required:
- id
- amount
- currency
- status
- items
- createdAt
title: PublicInvoiceResponse
CreateInvoiceRequest:
properties:
currency:
$ref: '#/components/schemas/Currency'
default: USD
comment:
anyOf:
- type: string
- type: 'null'
title: Comment
emailMessage:
anyOf:
- type: string
maxLength: 2000
- type: 'null'
title: Emailmessage
invoicePrefix:
type: string
maxLength: 16
minLength: 1
pattern: ^[A-Za-z0-9_-]+$
title: Invoiceprefix
description: Prefix for auto-generated invoice_number, e.g. "INV" → "INV-0001".
default: INV
issuedDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Issueddate
dueDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Duedate
items:
items:
additionalProperties: true
type: object
type: array
title: Items
discount:
anyOf:
- type: number
minimum: 0
- type: string
pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
- type: 'null'
title: Discount
description: Fixed discount in invoice currency. Subtracted from sum of items.
documentIds:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Documentids
contractorEmail:
type: string
title: Contractoremail
contractorDisplayName:
type: string
title: Contractordisplayname
contractorAddress:
anyOf:
- $ref: '#/components/schemas/UserAddress'
- type: 'null'
clientEmail:
type: string
title: Clientemail
clientDisplayName:
type: string
title: Clientdisplayname
clientAddress:
anyOf:
- $ref: '#/components/schemas/UserAddress'
- type: 'null'
banks:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Banks
onchain:
type: boolean
title: Onchain
default: false
type: object
required:
- contractorEmail
- contractorDisplayName
- clientEmail
- clientDisplayName
title: CreateInvoiceRequest
description: 'Request to create an invoice.
Participant data (email, display_name, address) is snapshotted at creation time.
Amount is computed as sum of items[].price * items[].quantity.
invoice_number is auto-generated per (contractor, client) pair.'
UserAddress:
properties:
streetAddress:
anyOf:
- type: string
- type: 'null'
title: Streetaddress
addressLine2:
anyOf:
- type: string
- type: 'null'
title: Addressline2
city:
anyOf:
- type: string
- type: 'null'
title: City
state:
anyOf:
- type: string
- type: 'null'
title: State
country:
anyOf:
- $ref: '#/components/schemas/CountryCode'
- type: 'null'
zip:
anyOf:
- type: string
- type: 'null'
title: Zip
type: object
title: UserAddress
description: '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.'
BatchInvoicingRequest:
items:
$ref: '#/components/schemas/BatchContractInvoiceRequest'
type: array
minItems: 1
title: BatchInvoicingRequest
description: Generate invoices for multiple contracts.
Currency:
type: string
enum:
- USD
- EUR
- GBP
- JPY
- CHF
- CAD
- AUD
- NZD
- SEK
- NOK
- AED
- HKD
title: Currency
description: Supported invoice/contract currencies. G10 majors + AED/HKD.
ContactWalletResponse:
properties:
address:
type: string
title: Address
chainId:
anyOf:
- type: string
- type: 'null'
title: Chainid
currency:
type: string
title: Currency
default: EUR
internal:
type: boolean
title: Internal
default: false
type: object
required:
- address
title: ContactWalletResponse
description: Wallet payment method block used by invoice/payment method schemas.
BatchContractInvoiceRequest:
properties:
contractId:
type: string
format: uuid
title: Contractid
items:
items:
additionalProperties: true
type: object
type: array
minItems: 1
title: Items
period:
type: integer
minimum: 0
title: Period
memo:
anyOf:
- type: string
- type: 'null'
title: Memo
finalize:
type: boolean
title: Finalize
default: false
type: object
required:
- contractId
- items
- period
title: BatchContractInvoiceRequest
description: 'Per-contract invoice options for batch invoicing.
A call without ``finalize`` creates the period invoice as a DRAFT (or
updates its items if a DRAFT already exists). Both the client and the
contractor may edit a DRAFT. Setting ``finalize=True`` additionally moves
the invoice to SENT, generates the PDF and emails the client — only the
client (contract owner) is allowed to finalize.'
InvoiceResponse:
properties:
id:
type: string
format: uuid
title: Id
onchainTransactionId:
anyOf:
- type: string
- type: 'null'
title: Onchaintransactionid
transaction:
anyOf:
- $ref: '#/components/schemas/InvoiceTransactionInfo'
- type: 'null'
amount:
type: string
pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
title: Amount
discount:
anyOf:
- type: string
pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
- type: 'null'
title: Discount
currency:
$ref: '#/components/schemas/Currency'
comment:
anyOf:
- type: string
- type: 'null'
title: Comment
emailMessage:
anyOf:
- type: string
- type: 'null'
title: Emailmessage
invoiceNumber:
anyOf:
- type: string
- type: 'null'
title: Invoicenumber
periodNumber:
anyOf:
- type: integer
- type: 'null'
title: Periodnumber
issuedDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Issueddate
dueDate:
anyOf:
- type: string
format: date
- type: 'null'
title: Duedate
items:
items:
additionalProperties: true
type: object
type: array
title: Items
paymentMethods:
items:
anyOf:
- $ref: '#/components/schemas/IBANAccountDetails-Output'
- $ref: '#/components/schemas/USExternalAccountDetails-Output'
- $ref: '#/components/schemas/SwiftAccountDetails-Output'
- $ref: '#/components/schemas/ContactWalletResponse'
- $ref: '#/components/schemas/EmailAccountInput'
type: array
title: Paymentmethods
status:
$ref: '#/components/schemas/InvoiceStatus'
client:
anyOf:
- $ref: '#/components/schemas/InvoiceParticipant'
- type: 'null'
contractor:
anyOf:
- $ref: '#/components/schemas/InvoiceParticipant'
- type: 'null'
contract:
anyOf:
- $ref: '#/components/schemas/InvoiceContractInfo'
- type: 'null'
invoiceLink:
anyOf:
- type: string
- type: 'null'
title: Invoicelink
documents:
items:
$ref: '#/components/schemas/InvoiceDocumentInfo'
type: array
title: Documents
paidAt:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Paidat
createdAt:
type: string
format: date-time
title: Createdat
updatedAt:
type: string
format: date-time
title: Updatedat
type: object
required:
- id
- amount
- currency
- status
- createdAt
- updatedAt
title: InvoiceResponse
description: Invoice response.
InvoiceShareLinkResponse:
properties:
link:
type: string
title: Link
key:
type: string
title: Key
keyPreview:
type: string
title: Keypreview
type: object
required:
- link
- key
- keyPreview
title: InvoiceShareLinkResponse
description: Response with a share link for invoice creation.
ContractType:
type: string
enum:
- service
- employment
- nda
- contractor
- default_contractor
- custom
- vendor
- milestone
- msa
- other
title: ContractType
description: Contract type.
PublicInvoiceContractInfo:
properties:
id:
type: string
format: uuid
title: Id
documentName:
anyOf:
- type: string
- type: 'null'
title: Documentname
documentLink:
anyOf:
- type: string
- type: 'null'
title: Documentlink
type: objec
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hevn-inc/refs/heads/main/openapi/hevn-inc-invoices-api-openapi.yml