API Reference

This page lists every endpoint available to a Personal API Token — auto-generated from the backend's route definitions, so it always matches what's actually deployed. Every request must carry both required headers:

Authorization: Bearer smv_live_...
x-api-key: <your API key>

See API Access for how to generate a token, and for rate limits and quotas.

Response bodies are not yet documented here — every endpoint below shows the request shape (if any); the shape of a successful response isn't part of this generated reference yet. A standalone PDF of this page is also available.

API Tokens

GET /v1/api-tokens

No request body.

POST /v1/api-tokens

FieldTypeRequired
namestringYes
expiresAtstringNo

DELETE /v1/api-tokens/{tokenId}

No request body.

Account

GET /v1/account/addresses

No request body.

PUT /v1/account/addresses

FieldTypeRequired
versionintegerYes
addressesarray of object (AddressSchema)Yes

PATCH /v1/account/addresses

FieldTypeRequired
versionintegerYes
budgetsSuppressedbooleanNo
reminderEmailstringNo
allowContractReminderOverridebooleanNo
dashboardWidgetsarray of object (DashboardWidgetSettingsSchema)No
dateFormatDD.MM.YYYYDD/MM/YYYY
numberFormat1.234,561,234.56
currencyEURGBP
incomingPaymentTermSOLLHABEN

Audit Trail

GET /v1/audit-events

No request body.

Authentication

POST /v1/auth/confirm

No request body.

POST /v1/auth/forgot-password

No request body.

POST /v1/auth/login

No request body.

POST /v1/auth/logout

No request body.

POST /v1/auth/refresh

No request body.

POST /v1/auth/register

No request body.

POST /v1/auth/reset-password

No request body.

Bank Statement Imports

POST /v1/bank-statement-imports

FieldTypeRequired
fileIdstringYes
keystringYes
fileNamestringNo
periodFromstringYes
periodTostringYes
autoApprovebooleanNo

GET /v1/bank-statement-imports/active

No request body.

DELETE /v1/bank-statement-imports/{importId}

No request body.

POST /v1/bank-statement-imports/{importId}/finalize

FieldTypeRequired
versionintegerYes

PATCH /v1/bank-statement-imports/{importId}/transactions/{index}

FieldTypeRequired
versionintegerYes
decisionACCEPTEDREJECTED

Billing

GET /v1/account/billing

No request body.

PUT /v1/account/billing/bank-account

FieldTypeRequired
cardobject (CardSchema)Yes
billingMethodstringYes
versionintegerYes

PUT /v1/account/billing/card

FieldTypeRequired
cardobject (CardSchema)Yes
billingMethodstringYes
versionintegerYes

Budget Categories

GET /v1/budget-categories

No request body.

POST /v1/budget-categories

FieldTypeRequired
namestringYes
monthlyLimitnumberYes
currencystringYes
keywordsarray of stringYes
activebooleanYes

PATCH /v1/budget-categories/{categoryId}

FieldTypeRequired
versionintegerYes
namestringNo
monthlyLimitnumberNo
currencystringNo
keywordsarray of stringNo
activebooleanNo

DELETE /v1/budget-categories/{categoryId}

No request body.

Budget Entries

GET /v1/budget-entries

No request body.

POST /v1/budget-entries

FieldTypeRequired
categoryIdstringYes
categoryNamestringNo
amountnumberYes
currencystringYes
entryDatestringYes
documentIdstringNo
vendorNamestringNo

DELETE /v1/budget-entries/{entryId}

No request body.

Contracts

GET /v1/contracts

No request body.

POST /v1/contracts

FieldTypeRequired
namestringYes
partnerIdstringYes
partnerNamestringYes
partnerTypeCUSTOMERVENDOR
startDatestringYes
totalValuenumberYes
currencystringYes
statusDRAFTACTIVE
endDatestringNo
descriptionstringNo
tagsarray of stringNo
advancedobject (ContractAdvanced)No

GET /v1/contracts/{contractId}

No request body.

PUT /v1/contracts/{contractId}

FieldTypeRequired
versionintegerYes
namestringNo
partnerIdstringNo
partnerNamestringNo
partnerTypeCUSTOMERVENDOR
statusDRAFTACTIVE
startDatestringNo
endDatestringNo
totalValuenumberNo
currencystringNo
descriptionstringNo
tagsarray of stringNo
advancedobject (ContractAdvanced)No

DELETE /v1/contracts/{contractId}

No request body.

Dashboard

GET /v1/dashboard/cash-anchor

No request body.

PUT /v1/dashboard/cash-anchor

FieldTypeRequired
openingBalancenumberYes
effectiveDatestringYes

GET /v1/dashboard/stats

No request body.

GET /v1/dashboard/timeseries

No request body.

Document Rasterization

POST /v1/documents/rasterize

No request body.

Document Templates

GET /v1/document-templates

No request body.

POST /v1/document-templates

FieldTypeRequired
namestringYes
documentTypeLETTEROFFER
contentSourcestringYes
fieldsarray of object (TemplateField)No
headerSourcestringNo
headerVisibilityALL_PAGESFIRST_PAGE_ONLY
footerSourcestringNo
footerVisibilityALL_PAGESFIRST_PAGE_ONLY
showLogobooleanNo
logoPositionTOP_LEFTTOP_RIGHT
statusDRAFTPUBLISHED
systemKeyTERMINATIONNOTICE
compiledHeaderHtmlstringNo
compiledContentHtmlstringNo
compiledFooterHtmlstringNo

POST /v1/document-templates/compile

FieldTypeRequired
namestringYes
documentTypeLETTEROFFER
contentSourcestringYes
fieldsarray of object (TemplateField)No
headerSourcestringNo
headerVisibilityALL_PAGESFIRST_PAGE_ONLY
footerSourcestringNo
footerVisibilityALL_PAGESFIRST_PAGE_ONLY
showLogobooleanNo
logoPositionTOP_LEFTTOP_RIGHT
statusDRAFTPUBLISHED
systemKeyTERMINATIONNOTICE
compiledHeaderHtmlstringNo
compiledContentHtmlstringNo
compiledFooterHtmlstringNo

GET /v1/document-templates/{templateId}

No request body.

PUT /v1/document-templates/{templateId}

FieldTypeRequired
versionintegerYes
namestringNo
documentTypeLETTEROFFER
contentSourcestringNo
fieldsarray of object (TemplateField)No
statusDRAFTPUBLISHED
headerSourcestringNo
headerVisibilityALL_PAGESFIRST_PAGE_ONLY
footerSourcestringNo
footerVisibilityALL_PAGESFIRST_PAGE_ONLY
showLogobooleanNo
logoPositionTOP_LEFTTOP_RIGHT
systemKeyTERMINATIONNOTICE
compiledHeaderHtmlstringNo
compiledContentHtmlstringNo
compiledFooterHtmlstringNo

Documents

GET /v1/documents

No request body.

POST /v1/documents

FieldTypeRequired
documentTypeCONTRACTINVOICE
namestringYes
documentNumberstringNo
contractIdstringNo
contractNamestringNo
partnerIdstringNo
partnerNamestringNo
creationDatestringYes
statusDRAFTFINAL
sourceGENERATEDUPLOADED
templateIdstringNo
fileIdstringNo
fileTypestringNo

POST /v1/documents/processing

FieldTypeRequired
documentTypeCONTRACTINVOICE
namestringYes
documentNumberstringNo
contractIdstringNo
contractNamestringNo
partnerIdstringNo
partnerNamestringNo
creationDatestringYes
statusDRAFTFINAL
sourceGENERATEDUPLOADED
templateIdstringNo
fileIdstringNo
fileTypestringNo

GET /v1/documents/{documentId}

No request body.

PUT /v1/documents/{documentId}

FieldTypeRequired
versionintegerYes
documentTypeCONTRACTINVOICE
namestringNo
documentNumberstringNo
contractIdstringNo
contractNamestringNo
partnerIdstringNo
partnerNamestringNo
creationDatestringNo
statusDRAFTFINAL

DELETE /v1/documents/{documentId}

No request body.

POST /v1/documents/{documentId}/send

No request body.

Files

GET /v1/files

No request body.

GET /v1/files/download-url

No request body.

POST /v1/files/upload-url

No request body.

DELETE /v1/files/{fileId}

No request body.

Licenses

GET /v1/licenses

No request body.

Newsletter

GET /v1/newsletter/confirm

No request body.

POST /v1/newsletter/signup

FieldTypeRequired
emailstringYes

GET /v1/newsletter/unsubscribe

No request body.

Notes

GET /v1/notes

No request body.

POST /v1/notes

FieldTypeRequired
parentTypePARTNERCONTRACT
parentIdstringYes
typeNOTEREMINDER
titlestringYes
contentstringYes
dueDatestringNo

GET /v1/notes/{noteId}

No request body.

PUT /v1/notes/{noteId}

FieldTypeRequired
versionintegerYes
titlestringNo
contentstringNo
dueDatestringNo
donebooleanNo

DELETE /v1/notes/{noteId}

No request body.

Partners

GET /v1/partners

No request body.

POST /v1/partners

FieldTypeRequired
namestringYes
typeCUSTOMERVENDOR
descriptionstringNo
websitestringNo
logoFileIdstringNo
addressesarray of object (AddressSchema)No
tagsarray of stringNo

GET /v1/partners/{partnerId}

No request body.

PUT /v1/partners/{partnerId}

FieldTypeRequired
versionintegerYes
namestringNo
typeCUSTOMERVENDOR
descriptionstringNo
websitestringNo
logoFileIdstringNo
addressesarray of object (AddressSchema)No
tagsarray of stringNo

DELETE /v1/partners/{partnerId}

No request body.

Payments

GET /v1/payments

No request body.

POST /v1/payments

FieldTypeRequired
directionINCOMINGOUTGOING
documentIdstringNo
documentNumberstringNo
contractIdstringNo
contractNamestringNo
partnerIdstringYes
partnerNamestringYes
amountnumberYes
currencystringYes
paymentDatestringYes
statusPENDINGMARKED
paymentMethodBANK_TRANSFERCREDIT_CARD
stripePaymentIntentIdstringNo
failureReasonstringNo

GET /v1/payments/{paymentId}

No request body.

PUT /v1/payments/{paymentId}

FieldTypeRequired
versionintegerYes
statusPENDINGMARKED
amountnumberNo
currencystringNo
paymentDatestringNo
paymentMethodBANK_TRANSFERCREDIT_CARD
stripePaymentIntentIdstringNo
failureReasonstringNo
contractIdstringNo
contractNamestringNo

DELETE /v1/payments/{paymentId}

No request body.

POST /v1/webhooks/stripe

FieldTypeRequired
directionINCOMINGOUTGOING
documentIdstringNo
documentNumberstringNo
contractIdstringNo
contractNamestringNo
partnerIdstringYes
partnerNamestringYes
amountnumberYes
currencystringYes
paymentDatestringYes
statusPENDINGMARKED
paymentMethodBANK_TRANSFERCREDIT_CARD
stripePaymentIntentIdstringNo
failureReasonstringNo

Plans

GET /v1/plans

No request body.

PATCH /v1/plans

No request body.

Products

GET /v1/products

No request body.

POST /v1/products

FieldTypeRequired
namestringYes
typeSERVICEGOODS
unitPricenumberYes
currencystringYes
unitstringNo
descriptionstringNo
photoFileIdstringNo
taxRateIdstringNo
tagsarray of stringNo

GET /v1/products/{productId}

No request body.

PUT /v1/products/{productId}

FieldTypeRequired
versionintegerYes
namestringNo
typeSERVICEGOODS
unitPricenumberNo
currencystringNo
unitstringNo
descriptionstringNo
photoFileIdstringNo
taxRateIdstringNo
tagsarray of stringNo

DELETE /v1/products/{productId}

No request body.

Subscription Billing

POST /v1/webhooks/stripe-subscriptions

No request body.

Tax Rates

GET /v1/tax-rates

No request body.

POST /v1/tax-rates

FieldTypeRequired
namestringYes
ratenumberYes
isDefaultbooleanNo

PATCH /v1/tax-rates/{taxRateId}

FieldTypeRequired
versionintegerYes
namestringNo
ratenumberNo
isDefaultbooleanNo

DELETE /v1/tax-rates/{taxRateId}

No request body.

Usage

GET /v1/usage

No request body.

Users

PATCH /v1/me/newsletter-subscription

FieldTypeRequired
subscribedbooleanYes

GET /v1/users

No request body.

POST /v1/users

FieldTypeRequired
namestringYes
emailstringYes
roleadminuser

POST /v1/users/confirm

FieldTypeRequired
namestringYes
emailstringYes
roleadminuser

GET /v1/users/{userId}

No request body.

PATCH /v1/users/{userId}

FieldTypeRequired
roleadminuser

DELETE /v1/users/{userId}

No request body.