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.