API-Referenz

Diese Seite listet jeden Endpunkt auf, der mit einem Personal API Token erreichbar ist — automatisch aus den Routendefinitionen des Backends generiert, sodass sie immer dem tatsächlich bereitgestellten Stand entspricht. Jede Anfrage muss beide erforderlichen Header enthalten:

Authorization: Bearer smv_live_...
x-api-key: <dein API-Schlüssel>

Wie du ein Token erzeugst und welche Ratenlimits/Kontingente gelten, steht unter API-Zugriff.

Antwortformate sind hier noch nicht dokumentiert — jeder Endpunkt unten zeigt die Form der Anfrage (falls vorhanden); die Form einer erfolgreichen Antwort ist noch nicht Teil dieser generierten Referenz. Eine eigenständige PDF dieser Seite ist ebenfalls verfügbar.

API-Tokens

GET /v1/api-tokens

Kein Request-Body.

POST /v1/api-tokens

FeldTypErforderlich
namestringJa
expiresAtstringNein

DELETE /v1/api-tokens/{tokenId}

Kein Request-Body.

Abo-Abrechnung

POST /v1/webhooks/stripe-subscriptions

Kein Request-Body.

Abrechnung

GET /v1/account/billing

Kein Request-Body.

PUT /v1/account/billing/bank-account

FeldTypErforderlich
cardobject (CardSchema)Ja
billingMethodstringJa
versionintegerJa

PUT /v1/account/billing/card

FeldTypErforderlich
cardobject (CardSchema)Ja
billingMethodstringJa
versionintegerJa

Aktivitätsprotokoll

GET /v1/audit-events

Kein Request-Body.

Anmeldung

POST /v1/auth/confirm

Kein Request-Body.

POST /v1/auth/forgot-password

Kein Request-Body.

POST /v1/auth/login

Kein Request-Body.

POST /v1/auth/logout

Kein Request-Body.

POST /v1/auth/refresh

Kein Request-Body.

POST /v1/auth/register

Kein Request-Body.

POST /v1/auth/reset-password

Kein Request-Body.

Benutzer

PATCH /v1/me/newsletter-subscription

FeldTypErforderlich
subscribedbooleanJa

GET /v1/users

Kein Request-Body.

POST /v1/users

FeldTypErforderlich
namestringJa
emailstringJa
roleadminuser

POST /v1/users/confirm

FeldTypErforderlich
namestringJa
emailstringJa
roleadminuser

GET /v1/users/{userId}

Kein Request-Body.

PATCH /v1/users/{userId}

FeldTypErforderlich
roleadminuser

DELETE /v1/users/{userId}

Kein Request-Body.

Budgeteinträge

GET /v1/budget-entries

Kein Request-Body.

POST /v1/budget-entries

FeldTypErforderlich
categoryIdstringJa
categoryNamestringNein
amountnumberJa
currencystringJa
entryDatestringJa
documentIdstringNein
vendorNamestringNein

DELETE /v1/budget-entries/{entryId}

Kein Request-Body.

Budgetkategorien

GET /v1/budget-categories

Kein Request-Body.

POST /v1/budget-categories

FeldTypErforderlich
namestringJa
monthlyLimitnumberJa
currencystringJa
keywordsarray of stringJa
activebooleanJa

PATCH /v1/budget-categories/{categoryId}

FeldTypErforderlich
versionintegerJa
namestringNein
monthlyLimitnumberNein
currencystringNein
keywordsarray of stringNein
activebooleanNein

DELETE /v1/budget-categories/{categoryId}

Kein Request-Body.

Dashboard

GET /v1/dashboard/cash-anchor

Kein Request-Body.

PUT /v1/dashboard/cash-anchor

FeldTypErforderlich
openingBalancenumberJa
effectiveDatestringJa

GET /v1/dashboard/stats

Kein Request-Body.

GET /v1/dashboard/timeseries

Kein Request-Body.

Dateien

GET /v1/files

Kein Request-Body.

GET /v1/files/download-url

Kein Request-Body.

POST /v1/files/upload-url

Kein Request-Body.

DELETE /v1/files/{fileId}

Kein Request-Body.

Dokumente

GET /v1/documents

Kein Request-Body.

POST /v1/documents

FeldTypErforderlich
documentTypeCONTRACTINVOICE
namestringJa
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringNein
partnerNamestringNein
creationDatestringJa
statusDRAFTFINAL
sourceGENERATEDUPLOADED
templateIdstringNein
fileIdstringNein
fileTypestringNein

POST /v1/documents/processing

FeldTypErforderlich
documentTypeCONTRACTINVOICE
namestringJa
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringNein
partnerNamestringNein
creationDatestringJa
statusDRAFTFINAL
sourceGENERATEDUPLOADED
templateIdstringNein
fileIdstringNein
fileTypestringNein

GET /v1/documents/{documentId}

Kein Request-Body.

PUT /v1/documents/{documentId}

FeldTypErforderlich
versionintegerJa
documentTypeCONTRACTINVOICE
namestringNein
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringNein
partnerNamestringNein
creationDatestringNein
statusDRAFTFINAL

DELETE /v1/documents/{documentId}

Kein Request-Body.

POST /v1/documents/{documentId}/send

Kein Request-Body.

Dokumenten-Rasterung

POST /v1/documents/rasterize

Kein Request-Body.

Dokumentvorlagen

GET /v1/document-templates

Kein Request-Body.

POST /v1/document-templates

FeldTypErforderlich
namestringJa
documentTypeLETTEROFFER
contentSourcestringJa
fieldsarray of object (TemplateField)Nein
headerSourcestringNein
headerVisibilityALL_PAGESFIRST_PAGE_ONLY
footerSourcestringNein
footerVisibilityALL_PAGESFIRST_PAGE_ONLY
showLogobooleanNein
logoPositionTOP_LEFTTOP_RIGHT
statusDRAFTPUBLISHED
systemKeyTERMINATIONNOTICE
compiledHeaderHtmlstringNein
compiledContentHtmlstringNein
compiledFooterHtmlstringNein

POST /v1/document-templates/compile

FeldTypErforderlich
namestringJa
documentTypeLETTEROFFER
contentSourcestringJa
fieldsarray of object (TemplateField)Nein
headerSourcestringNein
headerVisibilityALL_PAGESFIRST_PAGE_ONLY
footerSourcestringNein
footerVisibilityALL_PAGESFIRST_PAGE_ONLY
showLogobooleanNein
logoPositionTOP_LEFTTOP_RIGHT
statusDRAFTPUBLISHED
systemKeyTERMINATIONNOTICE
compiledHeaderHtmlstringNein
compiledContentHtmlstringNein
compiledFooterHtmlstringNein

GET /v1/document-templates/{templateId}

Kein Request-Body.

PUT /v1/document-templates/{templateId}

FeldTypErforderlich
versionintegerJa
namestringNein
documentTypeLETTEROFFER
contentSourcestringNein
fieldsarray of object (TemplateField)Nein
statusDRAFTPUBLISHED
headerSourcestringNein
headerVisibilityALL_PAGESFIRST_PAGE_ONLY
footerSourcestringNein
footerVisibilityALL_PAGESFIRST_PAGE_ONLY
showLogobooleanNein
logoPositionTOP_LEFTTOP_RIGHT
systemKeyTERMINATIONNOTICE
compiledHeaderHtmlstringNein
compiledContentHtmlstringNein
compiledFooterHtmlstringNein

Konto

GET /v1/account/addresses

Kein Request-Body.

PUT /v1/account/addresses

FeldTypErforderlich
versionintegerJa
addressesarray of object (AddressSchema)Ja

PATCH /v1/account/addresses

FeldTypErforderlich
versionintegerJa
budgetsSuppressedbooleanNein
reminderEmailstringNein
allowContractReminderOverridebooleanNein
dashboardWidgetsarray of object (DashboardWidgetSettingsSchema)Nein
dateFormatDD.MM.YYYYDD/MM/YYYY
numberFormat1.234,561,234.56
currencyEURGBP
incomingPaymentTermSOLLHABEN

Kontoauszugs-Import

POST /v1/bank-statement-imports

FeldTypErforderlich
fileIdstringJa
keystringJa
fileNamestringNein
periodFromstringJa
periodTostringJa
autoApprovebooleanNein

GET /v1/bank-statement-imports/active

Kein Request-Body.

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

Kein Request-Body.

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

FeldTypErforderlich
versionintegerJa

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

FeldTypErforderlich
versionintegerJa
decisionACCEPTEDREJECTED

Lizenzen

GET /v1/licenses

Kein Request-Body.

Newsletter

GET /v1/newsletter/confirm

Kein Request-Body.

POST /v1/newsletter/signup

FeldTypErforderlich
emailstringJa

GET /v1/newsletter/unsubscribe

Kein Request-Body.

Notizen

GET /v1/notes

Kein Request-Body.

POST /v1/notes

FeldTypErforderlich
parentTypePARTNERCONTRACT
parentIdstringJa
typeNOTEREMINDER
titlestringJa
contentstringJa
dueDatestringNein

GET /v1/notes/{noteId}

Kein Request-Body.

PUT /v1/notes/{noteId}

FeldTypErforderlich
versionintegerJa
titlestringNein
contentstringNein
dueDatestringNein
donebooleanNein

DELETE /v1/notes/{noteId}

Kein Request-Body.

Nutzung

GET /v1/usage

Kein Request-Body.

Partner

GET /v1/partners

Kein Request-Body.

POST /v1/partners

FeldTypErforderlich
namestringJa
typeCUSTOMERVENDOR
descriptionstringNein
websitestringNein
logoFileIdstringNein
addressesarray of object (AddressSchema)Nein
tagsarray of stringNein

GET /v1/partners/{partnerId}

Kein Request-Body.

PUT /v1/partners/{partnerId}

FeldTypErforderlich
versionintegerJa
namestringNein
typeCUSTOMERVENDOR
descriptionstringNein
websitestringNein
logoFileIdstringNein
addressesarray of object (AddressSchema)Nein
tagsarray of stringNein

DELETE /v1/partners/{partnerId}

Kein Request-Body.

Produkte

GET /v1/products

Kein Request-Body.

POST /v1/products

FeldTypErforderlich
namestringJa
typeSERVICEGOODS
unitPricenumberJa
currencystringJa
unitstringNein
descriptionstringNein
photoFileIdstringNein
taxRateIdstringNein
tagsarray of stringNein

GET /v1/products/{productId}

Kein Request-Body.

PUT /v1/products/{productId}

FeldTypErforderlich
versionintegerJa
namestringNein
typeSERVICEGOODS
unitPricenumberNein
currencystringNein
unitstringNein
descriptionstringNein
photoFileIdstringNein
taxRateIdstringNein
tagsarray of stringNein

DELETE /v1/products/{productId}

Kein Request-Body.

Steuersätze

GET /v1/tax-rates

Kein Request-Body.

POST /v1/tax-rates

FeldTypErforderlich
namestringJa
ratenumberJa
isDefaultbooleanNein

PATCH /v1/tax-rates/{taxRateId}

FeldTypErforderlich
versionintegerJa
namestringNein
ratenumberNein
isDefaultbooleanNein

DELETE /v1/tax-rates/{taxRateId}

Kein Request-Body.

Tarife

GET /v1/plans

Kein Request-Body.

PATCH /v1/plans

Kein Request-Body.

Verträge

GET /v1/contracts

Kein Request-Body.

POST /v1/contracts

FeldTypErforderlich
namestringJa
partnerIdstringJa
partnerNamestringJa
partnerTypeCUSTOMERVENDOR
startDatestringJa
totalValuenumberJa
currencystringJa
statusDRAFTACTIVE
endDatestringNein
descriptionstringNein
tagsarray of stringNein
advancedobject (ContractAdvanced)Nein

GET /v1/contracts/{contractId}

Kein Request-Body.

PUT /v1/contracts/{contractId}

FeldTypErforderlich
versionintegerJa
namestringNein
partnerIdstringNein
partnerNamestringNein
partnerTypeCUSTOMERVENDOR
statusDRAFTACTIVE
startDatestringNein
endDatestringNein
totalValuenumberNein
currencystringNein
descriptionstringNein
tagsarray of stringNein
advancedobject (ContractAdvanced)Nein

DELETE /v1/contracts/{contractId}

Kein Request-Body.

Zahlungen

GET /v1/payments

Kein Request-Body.

POST /v1/payments

FeldTypErforderlich
directionINCOMINGOUTGOING
documentIdstringNein
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringJa
partnerNamestringJa
amountnumberJa
currencystringJa
paymentDatestringJa
statusPENDINGMARKED
paymentMethodBANK_TRANSFERCREDIT_CARD
stripePaymentIntentIdstringNein
failureReasonstringNein

GET /v1/payments/{paymentId}

Kein Request-Body.

PUT /v1/payments/{paymentId}

FeldTypErforderlich
versionintegerJa
statusPENDINGMARKED
amountnumberNein
currencystringNein
paymentDatestringNein
paymentMethodBANK_TRANSFERCREDIT_CARD
stripePaymentIntentIdstringNein
failureReasonstringNein
contractIdstringNein
contractNamestringNein

DELETE /v1/payments/{paymentId}

Kein Request-Body.

POST /v1/webhooks/stripe

FeldTypErforderlich
directionINCOMINGOUTGOING
documentIdstringNein
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringJa
partnerNamestringJa
amountnumberJa
currencystringJa
paymentDatestringJa
statusPENDINGMARKED
paymentMethodBANK_TRANSFERCREDIT_CARD
stripePaymentIntentIdstringNein
failureReasonstringNein