OpenAPI Specification
openapi: 3.0.3
info:
title: sevdesk CheckAccount Invoice API
description: 'The sevdesk API is a RESTful interface to the sevdesk cloud accounting and invoicing platform. Every function and every piece of data available in the sevdesk web application can also be driven through this API - contacts, invoices, orders, credit notes, vouchers (receipts), bank check accounts and transactions, parts (inventory), and tags. All requests are authenticated with a per-administrator API token, passed as the value of an `Authorization` header. Nested resources can be pulled in with the `embed` query parameter.
This OpenAPI document is a grounded, representative subset authored by API Evangelist from sevdesk''s official OpenAPI specification (openapi 3.0.0, reported API version 2.0.0, served at https://my.sevdesk.de/api/v1). The paths, HTTP methods, operationIds, and the apiKey security scheme are taken directly from the official specification; request and response schemas here are simplified representations of the far richer official models. See review.yml for confirmed-vs-modeled detail.'
version: '1.0'
contact:
name: sevdesk
url: https://api.sevdesk.de/
servers:
- url: https://my.sevdesk.de/api/v1
description: sevdesk main application instance
security:
- api_key: []
tags:
- name: Invoice
description: Outgoing invoices and their lifecycle.
paths:
/Invoice:
get:
operationId: getInvoices
tags:
- Invoice
summary: Retrieve invoices
description: Retrieves a list of invoices.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Embed'
responses:
'200':
description: A list of invoices.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectList'
'401':
$ref: '#/components/responses/Unauthorized'
/Invoice/{invoiceId}:
parameters:
- $ref: '#/components/parameters/InvoiceId'
get:
operationId: getInvoiceById
tags:
- Invoice
summary: Find invoice by ID
description: Retrieves a single invoice by its ID.
responses:
'200':
description: The requested invoice.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/Invoice/Factory/saveInvoice:
post:
operationId: createInvoiceByFactory
tags:
- Invoice
summary: Create a new invoice
description: Creates a new invoice together with its positions in a single call using the saveInvoice factory endpoint.
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
description: Invoice plus invoicePosSave / invoicePosDelete arrays.
responses:
'201':
description: The created invoice.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/Invoice/{invoiceId}/getPdf:
parameters:
- $ref: '#/components/parameters/InvoiceId'
get:
operationId: invoiceGetPdf
tags:
- Invoice
summary: Retrieve pdf document of an invoice
description: Returns the rendered PDF document for an invoice.
responses:
'200':
description: The PDF document metadata and base64 content.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/Invoice/{invoiceId}/sendViaEmail:
parameters:
- $ref: '#/components/parameters/InvoiceId'
post:
operationId: sendInvoiceViaEMail
tags:
- Invoice
summary: Send invoice via email
description: Sends the invoice to a recipient by email.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
toEmail:
type: string
subject:
type: string
text:
type: string
responses:
'201':
description: Send confirmation.
'401':
$ref: '#/components/responses/Unauthorized'
components:
parameters:
Embed:
name: embed
in: query
required: false
description: Comma-separated list of nested resources to embed fully in the response instead of returning only their id and objectName.
schema:
type: string
InvoiceId:
name: invoiceId
in: path
required: true
description: The ID of the invoice.
schema:
type: integer
Limit:
name: limit
in: query
required: false
description: Limits the number of entries returned.
schema:
type: integer
Offset:
name: offset
in: query
required: false
description: Number of entries to skip for pagination.
schema:
type: integer
responses:
Unauthorized:
description: Missing or invalid API token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
ObjectResponse:
type: object
description: Standard sevdesk single-object envelope.
properties:
objects:
type: object
additionalProperties: true
Error:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: integer
ObjectList:
type: object
description: Standard sevdesk list envelope. The objects array carries the requested resources.
properties:
objects:
type: array
items:
type: object
additionalProperties: true
securitySchemes:
api_key:
type: apiKey
name: Authorization
in: header
description: Per-administrator sevdesk API token - a 32-character hexadecimal string found in the sevdesk web app under user settings. Passed as the raw value of the `Authorization` header (no `Bearer` prefix). Tokens have an infinite lifetime.