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 (Query-Parameter und Body, 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

FeldTypErforderlich
paymentMethodIdstringJa

Aktivitätsprotokoll

GET /v1/audit-events

Query-Parameter

ParameterTypErforderlichStandardwert
cursorstringNein—
limitintegerNein20
userIdstringNein—

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

Query-Parameter

ParameterTypErforderlichStandardwert
categoryIdstringNein—
limitintegerNein20
pageintegerNein1

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

Query-Parameter

ParameterTypErforderlichStandardwert
limitintegerNein20
pageintegerNein1

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

Query-Parameter

ParameterTypErforderlichStandardwert
fromstringNein—
tostringNein—

Kein Request-Body.

GET /v1/dashboard/timeseries

Query-Parameter

ParameterTypErforderlichStandardwert
metricstringNein—
granularitystringNein—
viewstringNein—
tostringNein—
fromstringNein—

Kein Request-Body.

Dateien

GET /v1/files

Query-Parameter

ParameterTypErforderlichStandardwert
limitintegerNein20
pageintegerNein1

Kein Request-Body.

GET /v1/files/download-url

Query-Parameter

ParameterTypErforderlichStandardwert
keystringNein—
fileIdstringNein—

Kein Request-Body.

POST /v1/files/upload-url

FeldTypErforderlich
fileNamestringJa
fileSizeintegerNein
contentTypestringNein
skipProcessingbooleanNein

DELETE /v1/files/{fileId}

Kein Request-Body.

Dokumente

GET /v1/documents

Query-Parameter

ParameterTypErforderlichStandardwert
contractIdstringNein—
limitintegerNein20
pageintegerNein1

Kein Request-Body.

POST /v1/documents

FeldTypErforderlich
documentTypeCONTRACTINVOICE
namestringJa
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringNein
partnerNamestringNein
creationDatestringJa
statusDRAFTFINAL
sourceGENERATEDUPLOADED
templateIdstringNein
sourceDocumentIdstringNein
lineItemsarray of object (LineItemSchema)Nein
taxBreakdownarray of object (TaxBreakdownEntrySchema)Nein
netAmountnumberNein
taxAmountnumberNein
totalAmountnumberNein
currencystringNein
dueDatestringNein
fileIdstringNein
fileTypestringNein

POST /v1/documents/processing

FeldTypErforderlich
documentTypeCONTRACTINVOICE
namestringJa
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringNein
partnerNamestringNein
creationDatestringJa
statusDRAFTFINAL
sourceGENERATEDUPLOADED
templateIdstringNein
sourceDocumentIdstringNein
lineItemsarray of object (LineItemSchema)Nein
taxBreakdownarray of object (TaxBreakdownEntrySchema)Nein
netAmountnumberNein
taxAmountnumberNein
totalAmountnumberNein
currencystringNein
dueDatestringNein
fileIdstringNein
fileTypestringNein

GET /v1/documents/{documentId}

Kein Request-Body.

PUT /v1/documents/{documentId}

FeldTypErforderlich
versionintegerJa
documentTypeCONTRACTINVOICE
namestringNein
documentNumberstringNein
contractIdstringNein
contractNamestringNein
partnerIdstringNein
partnerNamestringNein
creationDatestringNein
statusDRAFTFINAL
sourceGENERATEDUPLOADED
templateIdstringNein
sourceDocumentIdstringNein
lineItemsarray of object (LineItemSchema)Nein
taxBreakdownarray of object (TaxBreakdownEntrySchema)Nein
netAmountnumberNein
taxAmountnumberNein
totalAmountnumberNein
currencystringNein
dueDatestringNein
fileIdstringNein
fileTypestringNein

DELETE /v1/documents/{documentId}

Kein Request-Body.

POST /v1/documents/{documentId}/generate-einvoice

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

Query-Parameter

ParameterTypErforderlichStandardwert
statusstringNein—
limitintegerNein20
pageintegerNein1

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

DELETE /v1/document-templates/{templateId}

Kein Request-Body.

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
allowInvoiceLineItemOverridebooleanNein
dashboardWidgetsarray of object (DashboardWidgetSettingsSchema)Nein
companyProfileobject (CompanyProfileSchema)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.

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

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

Leads

GET /v1/leads

Query-Parameter

ParameterTypErforderlichStandardwert
statusstringNein—
limitintegerNein20
pageintegerNein1

Kein Request-Body.

POST /v1/leads

FeldTypErforderlich
namestringJa
contactEmailstringNein
contactPhonestringNein
sourceWEBSITEREFERRAL
notesstringNein

GET /v1/leads/{leadId}

Kein Request-Body.

PUT /v1/leads/{leadId}

FeldTypErforderlich
versionintegerJa
namestringNein
contactEmailstringNein
contactPhonestringNein
sourceWEBSITEREFERRAL
statusLEADQUALIFIED
notesstringNein

DELETE /v1/leads/{leadId}

Kein Request-Body.

POST /v1/leads/{leadId}/convert

FeldTypErforderlich
contractNamestringNein
totalValuenumberNein
currencystringNein
startDatestringNein

Lizenzen

GET /v1/licenses

Kein Request-Body.

Newsletter

GET /v1/newsletter/confirm

Query-Parameter

ParameterTypErforderlichStandardwert
tokenstringNein—

Kein Request-Body.

POST /v1/newsletter/signup

FeldTypErforderlich
emailstringJa

GET /v1/newsletter/unsubscribe

Query-Parameter

ParameterTypErforderlichStandardwert
tokenstringNein—

Kein Request-Body.

Notizen

GET /v1/notes

Query-Parameter

ParameterTypErforderlichStandardwert
parentTypestringNein—
parentIdstringNein—
limitintegerNein20
pageintegerNein1

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

Query-Parameter

ParameterTypErforderlichStandardwert
limitintegerNein20
pageintegerNein1

Kein Request-Body.

POST /v1/partners

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

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
vatIdstringNein
registrationCourtstringNein
registrationNumberstringNein

DELETE /v1/partners/{partnerId}

Kein Request-Body.

Produkte

GET /v1/products

Query-Parameter

ParameterTypErforderlichStandardwert
limitintegerNein20
pageintegerNein1

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.

Startup Metrics

GET /v1/startup-metrics/timeseries

Kein Request-Body.

Steuersätze

GET /v1/tax-rates

Query-Parameter

ParameterTypErforderlichStandardwert
limitintegerNein20
pageintegerNein1

Kein Request-Body.

POST /v1/tax-rates

FeldTypErforderlich
namestringJa
ratenumberJa
isDefaultbooleanNein
vatCategoryCodestringNein

PATCH /v1/tax-rates/{taxRateId}

FeldTypErforderlich
versionintegerJa
namestringNein
ratenumberNein
isDefaultbooleanNein
vatCategoryCodestringNein

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

Query-Parameter

ParameterTypErforderlichStandardwert
partnerIdstringNein—
sortstringNein—
limitintegerNein20
pageintegerNein1

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

Query-Parameter

ParameterTypErforderlichStandardwert
documentIdstringNein—
contractIdstringNein—
sortstringNein—
limitintegerNein1000
pageintegerNein1

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