Skip to content

Reference

Every address, with its scope.

This table is generated from the same catalogue the interface checks against. What stands here is therefore not a description of the behaviour but the same fact, read twice.

Path Scope Permission What comes back
GET /api/extern/v1/me

The key itself: company, environment, scopes, last use. The first call anybody writes.

GET /api/extern/v1/customers customers:read VIEW_CUSTOMERS

One page of customers and suppliers, newest first.

GET /api/extern/v1/customers/{id} customers:read VIEW_CUSTOMERS

A single customer with all of their master data.

POST /api/extern/v1/customers customers:write EDIT_CUSTOMERS

Creates a customer. KRONENWERK draws the partner number from the business's own sequence.

GET /api/extern/v1/invoices invoices:read VIEW_INVOICES

Issued invoices, filterable by payment state and issue date.

GET /api/extern/v1/invoices/{number} invoices:read VIEW_INVOICES

One issued invoice, exactly as the archive froze it.

POST /api/extern/v1/invoices/drafts invoices:write customers:read companies:read EDIT_INVOICES VIEW_COMPANY_SETTINGS VIEW_CUSTOMERS

Starts an invoice draft for a customer. It is not thereby issued.

GET /api/extern/v1/transactions transactions:read VIEW_TRANSACTIONS

Transactions — orders, projects, production runs — with their stage and due date, newest first. Narrow to a period with period, from and to; the window goes by the date the work started.

POST /api/extern/v1/transactions transactions:write transactions:read EDIT_TRANSACTIONS VIEW_TRANSACTIONS

Creates a transaction. Number, stage and timeline are produced as they are on the product's own screen.

PATCH /api/extern/v1/transactions/{id} transactions:write transactions:read EDIT_TRANSACTIONS VIEW_TRANSACTIONS

Changes a transaction that already exists. A field left out stays as it is; "none" as the customer removes the customer.

GET /api/extern/v1/reports/outstanding reports:read VIEW_REPORTS

Receivables and payables outstanding today, kept apart by direction.

GET /api/extern/v1/webhooks webhooks:write MANAGE_WEBHOOKS

This company's webhook endpoints.

GET /api/extern/v1/webhooks/events webhooks:write MANAGE_WEBHOOKS

The events an endpoint can subscribe to.

POST /api/extern/v1/webhooks webhooks:write MANAGE_WEBHOOKS

Register an endpoint; the signing secret is in the answer once.

DELETE /api/extern/v1/webhooks/{id} webhooks:write MANAGE_WEBHOOKS

Disable an endpoint; the delivery log stays.

Paging and filtering.

Every collection is a page. A nonsensical value is bounded rather than refused: a number in a URL is rarely malice and almost always a typing slip.

page Zero-based page number.
size Rows per page, default and maximum (25 / 100)
status, from, to Invoices only: payment state and a range of issue dates.
stage, search, includeArchived Transactions only: stage, free-text search, and whether archived rows come too.

One call, in full.

Amounts arrive as a count of minor units and a currency code. Never as formatted text, which would carry one language's separators into a document meant for machines.

GET https://kronenwerk.org/api/extern/v1/invoices?status=OPEN&size=1\n\n{"data":[{"number":"R-2026-0001","issuedOn":"2026-04-02","buyer":"Kellermann GmbH","currency":"EUR","gross":{"minor":105910,"currency":"EUR"},"outstanding":{"minor":105910,"currency":"EUR"},"paymentState":"OPEN","overdue":false}],"page":0,"size":1,"total":1,"more":false}

A write.

Three addresses create something, and each of them requires the idempotency header. There is no address that issues an invoice, records a payment or cancels a document.

POST https://kronenwerk.org/api/extern/v1/customers\nAuthorization: Bearer greif_live_…\nIdempotency-Key: 6f1c2a8e-4b3d-4a21-9d77-0c5e1f9b2a44\n\n{"name":"Kellermann Elektrotechnik GmbH","email":"buchhaltung@kellermann.de","street":"Am Sandtorkai 41","postalCode":"20457","city":"Hamburg","country":"DE"}