Ga naar de inhoud

Ontwikkelaars · Integratie

Referentie

Alle endpoints in één tabel, gegenereerd uit de OpenAPI-beschrijving. Dezelfde beschrijving draait live.

Als Markdown ↗

OpenAPI

De machineleesbare beschrijving staat op https://docs.cijfr.com/openapi.json (CORS open) en op https://api.cijfr.com/api/v1/openapi. Importeer hem in Postman, Insomnia of je eigen codegen.

Spec ophalen
curl https://docs.cijfr.com/openapi.json

Endpoints

GET /api/v1/me

Current organisation, plan, profile and scopes

scope none

GET /api/v1/customers

List customers

scope customers:read

POST /api/v1/customers

Create a customer. externalId upserts on your own id.

scope customers:write

  • name? string
  • companyName? string
  • contactName? string
  • type string · `company`, `person`
  • email? string email
  • phone? string
  • externalId? string
  • addressLine1? string
  • addressLine2? string
  • postalCode? string
  • city? string
  • countryCode string
  • btwId? string
  • kvkNumber? string
  • paymentTermDays? integer
  • language? string · `nl`, `en`
  • notes? string
  • metadata? object

GET /api/v1/customers/{id}

Retrieve one customer

scope customers:read

PATCH /api/v1/customers/{id}

Update a customer

scope customers:write

  • name? string
  • companyName? string
  • contactName? unknown
  • email? unknown
  • phone? unknown
  • externalId? unknown
  • addressLine1? unknown
  • addressLine2? unknown
  • postalCode? unknown
  • city? unknown
  • countryCode? string
  • btwId? unknown
  • kvkNumber? unknown
  • paymentTermDays? integer
  • language? string · `nl`, `en`
  • notes? unknown
  • metadata? object

DELETE /api/v1/customers/{id}

Archive a customer (documents stay linked)

scope customers:write

GET /api/v1/products

List products

scope products:read

POST /api/v1/products

Create a product

scope products:write

  • name string
  • unitPriceCents integer
  • vatRateBps? unknown
  • vatTreatment? string · `standard_21`, `reduced_9`, `zero`, `exempt`, `reverse_charge`, `intra_community`
  • unit string
  • sku? string
  • externalId? string
  • metadata? object

GET /api/v1/products/{id}

Retrieve one product

scope products:read

PATCH /api/v1/products/{id}

Update a product

scope products:write

  • name? string
  • unitPriceCents? integer
  • vatRateBps? unknown
  • vatTreatment? string · `standard_21`, `reduced_9`, `zero`, `exempt`, `reverse_charge`, `intra_community`
  • unit? string
  • sku? unknown
  • externalId? unknown
  • metadata? object

DELETE /api/v1/products/{id}

Archive a product

scope products:write

GET /api/v1/invoices

List invoices

scope invoices:read

POST /api/v1/invoices

Create an invoice. send:true issues it (gap-free number, locked) and emails the customer.

scope invoices:write

  • customerId string uuid
  • issueDate? string date
  • dueDate? string date
  • profileId? string uuid
  • reference? string
  • subject? string
  • notes? string
  • terms? string
  • locale? string · `nl`, `en`
  • externalId? string
  • metadata? object
  • lines array
  • send boolean

GET /api/v1/invoices/{id}

Retrieve one invoice with lines and customer. ?expand=payments,credit_notes,reminders adds related rows.

scope invoices:read

PATCH /api/v1/invoices/{id}

Update a DRAFT invoice

scope invoices:write

  • customerId? string uuid
  • issueDate? string date
  • dueDate? string date
  • deliveryDate? string date
  • reference? unknown
  • subject? unknown
  • notes? unknown
  • terms? unknown
  • expiresOn? unknown
  • externalId? unknown
  • metadata? object
  • lines? array

DELETE /api/v1/invoices/{id}

Delete a DRAFT invoice

scope invoices:write

POST /api/v1/invoices/{id}/send

Issue and email a draft invoice

scope invoices:write

POST /api/v1/invoices/{id}/payments

Register a manual incoming payment (bank transfer etc.). operationId makes the call safely repeatable.

scope payments:write

  • amountCents integer
  • paidAt string date
  • method string · `ideal`, `bancontact`, `creditcard`, `sepa`, `bank_transfer`, `cash`, `other`
  • reference? string
  • operationId? string

POST /api/v1/invoices/{id}/credit-notes

Create a credit note on a sent invoice: full credit, or a subset via lines[].sourceLineId + quantity. send:true issues and emails it.

scope credit-notes:write

  • lines? array
  • reason? string
  • send boolean
  • externalId? string
  • metadata? object

GET /api/v1/invoices/{id}/reminders

Reminder history for one invoice

scope reminders:read

POST /api/v1/invoices/{id}/reminders

Send the next legal reminder (Dutch dunning ladder)

scope reminders:write

POST /api/v1/invoices/{id}/checkout

Create or reuse the PSP checkout link for the remaining balance

scope invoices:write

  • method? string

GET /api/v1/invoices/{id}/pdf

Invoice PDF (application/pdf)

scope invoices:read

GET /api/v1/invoices/{id}/ubl

Invoice as UBL 2.1 XML

scope invoices:read

GET /api/v1/quotes

List quotes

scope quotes:read

POST /api/v1/quotes

Create a quote. send:true issues and emails it; acceptance stays on the public link.

scope quotes:write

  • customerId string uuid
  • issueDate? string date
  • dueDate? string date
  • profileId? string uuid
  • reference? string
  • subject? string
  • notes? string
  • terms? string
  • locale? string · `nl`, `en`
  • externalId? string
  • metadata? object
  • lines array
  • expiresOn? string date
  • send boolean

GET /api/v1/quotes/{id}

Retrieve one quote with lines

scope quotes:read

PATCH /api/v1/quotes/{id}

Update a DRAFT quote

scope quotes:write

  • customerId? string uuid
  • issueDate? string date
  • dueDate? string date
  • deliveryDate? string date
  • reference? unknown
  • subject? unknown
  • notes? unknown
  • terms? unknown
  • expiresOn? unknown
  • externalId? unknown
  • metadata? object
  • lines? array

DELETE /api/v1/quotes/{id}

Delete a DRAFT quote

scope quotes:write

POST /api/v1/quotes/{id}/send

Issue and email a draft quote

scope quotes:write

POST /api/v1/quotes/{id}/convert

Copy a quote into a draft invoice (source quote untouched)

scope quotes:write

GET /api/v1/quotes/{id}/pdf

Quote PDF (application/pdf)

scope quotes:read

GET /api/v1/credit-notes

List credit notes

scope credit-notes:read

GET /api/v1/credit-notes/{id}

Retrieve one credit note with lines

scope credit-notes:read

PATCH /api/v1/credit-notes/{id}

Update a DRAFT credit note

scope credit-notes:write

  • customerId? string uuid
  • issueDate? string date
  • dueDate? string date
  • deliveryDate? string date
  • reference? unknown
  • subject? unknown
  • notes? unknown
  • terms? unknown
  • expiresOn? unknown
  • externalId? unknown
  • metadata? object
  • lines? array

DELETE /api/v1/credit-notes/{id}

Delete a DRAFT credit note

scope credit-notes:write

POST /api/v1/credit-notes/{id}/send

Issue and email a draft credit note

scope credit-notes:write

GET /api/v1/credit-notes/{id}/pdf

Credit note PDF (application/pdf)

scope credit-notes:read

GET /api/v1/credit-notes/{id}/ubl

Credit note as UBL 2.1 XML

scope credit-notes:read

GET /api/v1/payments

List payments

scope payments:read

GET /api/v1/payments/{id}

Retrieve one payment

scope payments:read

POST /api/v1/payments/{id}/reverse

Reverse a payment: allocation undone, reversal journal entry posted

scope payments:write

GET /api/v1/expenses

List expenses

scope expenses:read

POST /api/v1/expenses

Create an expense (header + excl-VAT lines) and post it to the journal

scope expenses:write

  • kind string · `receipt`, `incoming_invoice`
  • supplierName? string
  • title? string
  • invoiceNumber? string
  • expenseDate string date
  • dueDate? string date
  • amountInclCents? integer
  • vatAmountCents? integer
  • vatTreatment string · `standard`, `reverse_charge`, `eu_service`, `import`, `article_23`, `import_customs`, `bua`, `foreign_vat`
  • deductiblePercent integer
  • amountsIncludeVat boolean
  • paymentMethod? string · `ideal`, `bancontact`, `creditcard`, `sepa`, `bank_transfer`, `cash`, `other`, `bank`
  • paidAt? string date
  • notes? string
  • lines? array
  • currency string · `EUR`, `USD`, `GBP`, `CHF`, `SEK`, `NOK`, `DKK`, `PLN`, `CZK`, `HUF`, `RON`, `TRY`, `ISK`, `JPY`, `CAD`, `AUD`, `NZD`, `CNY`, `HKD`, `SGD`, `KRW`, `INR`, `IDR`, `MYR`, `PHP`, `THB`, `MXN`, `BRL`, `ZAR`, `ILS`
  • fxSource string · `ecb`, `bank_sell`
  • fxMoment string · `invoice`, `supply`, `statutory`
  • supplyDate? string date
  • bankRate? string
  • externalId? string
  • metadata? object

GET /api/v1/expenses/{id}

Retrieve one expense with its lines

scope expenses:read

PATCH /api/v1/expenses/{id}

Update an expense; the posted journal entry is reversed and reposted

scope expenses:write

  • supplierName? unknown
  • title? unknown
  • invoiceNumber? unknown
  • expenseDate? string date
  • dueDate? unknown
  • vatTreatment? string · `standard`, `reverse_charge`, `eu_service`, `import`, `article_23`, `import_customs`, `bua`, `foreign_vat`
  • amountsIncludeVat? boolean
  • deductiblePercent? integer
  • paymentMethod? unknown
  • paidAt? unknown
  • notes? unknown
  • amountInclCents? integer
  • vatAmountCents? integer
  • lines? array
  • currency? string · `EUR`, `USD`, `GBP`, `CHF`, `SEK`, `NOK`, `DKK`, `PLN`, `CZK`, `HUF`, `RON`, `TRY`, `ISK`, `JPY`, `CAD`, `AUD`, `NZD`, `CNY`, `HKD`, `SGD`, `KRW`, `INR`, `IDR`, `MYR`, `PHP`, `THB`, `MXN`, `BRL`, `ZAR`, `ILS`
  • fxSource? string · `ecb`, `bank_sell`
  • fxMoment? string · `invoice`, `supply`, `statutory`
  • supplyDate? unknown
  • bankRate? unknown
  • externalId? unknown
  • metadata? object

DELETE /api/v1/expenses/{id}

Soft-delete an expense

scope expenses:write

GET /api/v1/expenses/{id}/receipt

Download URL for the stored receipt (fetch it with the same API key)

scope expenses:read

POST /api/v1/expenses/{id}/receipt

Returns uploadUrl; PUT the receipt bytes there with the same API key

scope expenses:write

PUT /api/v1/expenses/{id}/receipt

Stores the receipt bytes sent as the raw request body

scope expenses:write

POST /api/v1/expenses/{id}/extract

Reads the stored receipt and returns a draft. Nothing is posted until the user saves.

scope expenses:write

GET /api/v1/expenses/{id}/receipt/download

Streams the stored receipt file (private storage)

scope expenses:read

GET /api/v1/subscriptions

List recurring schedules

scope subscriptions:read

POST /api/v1/subscriptions

Create a subscription from invoice-like lines

scope subscriptions:write

  • customerId string uuid
  • freq string · `weekly`, `monthly`, `quarterly`, `yearly`
  • interval integer
  • autoSendEmail boolean
  • autoSendPost boolean
  • profileId? string uuid
  • externalId? string
  • metadata? object
  • lines array

GET /api/v1/subscriptions/{id}

Retrieve one schedule with its source invoice

scope subscriptions:read

PATCH /api/v1/subscriptions/{id}

Pause/resume or change cadence

scope subscriptions:write

  • isActive? boolean
  • autoSendEmail? boolean
  • autoSendPost? boolean
  • freq? string · `weekly`, `monthly`, `quarterly`, `yearly`
  • interval? integer

DELETE /api/v1/subscriptions/{id}

Deactivate and archive a schedule

scope subscriptions:write

GET /api/v1/checkouts

List hosted checkout sessions

scope checkouts:read

POST /api/v1/checkouts

Create a hosted checkout; the response `url` is the Cijfr-hosted payment page

scope checkouts:write

  • title string
  • kind string · `fixed`, `subscription`, `platform_plan`, `platform_credits`
  • metadata? object
  • profileId? string uuid
  • lines array
  • options? array
  • allowDowngrade boolean
  • currentOptionId? string
  • currentInterval? string · `week`, `month`, `quarter`, `year`
  • scheduleRenewal boolean
  • customer? object
  • redirectUrl? string uri
  • description? string
  • cancelUrl? string uri
  • customerType? string · `business`, `consumer`, `choose`
  • methods? array
  • requiresShipping boolean
  • expiresInHours integer

GET /api/v1/checkouts/{id}

Retrieve one checkout session

scope checkouts:read

GET /api/v1/ledger/accounts

Chart of accounts (RGS-keyed)

scope ledger:read

GET /api/v1/ledger/entries

Journal entries

scope ledger:read

GET /api/v1/ledger/entries/{id}

One journal entry with balanced lines

scope ledger:read

GET /api/v1/ledger/periods

VAT/bookkeeping periods

scope ledger:read

GET /api/v1/vat/effects

Per-document VAT effects

scope ledger:read

GET /api/v1/vat/returns

Prepared/submitted VAT returns

scope ledger:read

GET /api/v1/vat/returns/{id}

One VAT return with its rubriek boxes

scope ledger:read

GET /api/v1/webhooks

List webhook endpoints (secrets never returned)

scope webhooks:read

POST /api/v1/webhooks

Create a webhook endpoint; the signing secret is returned exactly once

scope webhooks:write

  • url string uri
  • events array

GET /api/v1/webhooks/{id}

Retrieve one webhook endpoint

scope webhooks:read

PATCH /api/v1/webhooks/{id}

Update URL, event filter or active flag

scope webhooks:write

  • url? string uri
  • events? array
  • isActive? boolean

DELETE /api/v1/webhooks/{id}

Delete a webhook endpoint

scope webhooks:write

GET /api/v1/webhooks/{id}/deliveries

Delivery history for one endpoint

scope webhooks:read

POST /api/v1/webhooks/{id}/rotate-secret

Rotate the signing secret; the new value is returned exactly once

scope webhooks:write

POST /api/v1/webhooks/{id}/test

Deliver a webhook.test event to the endpoint and report the result

scope webhooks:write

GET /api/v1/webhook-deliveries

All webhook deliveries

scope webhooks:read

GET /api/v1/webhook-deliveries/{id}

Inspect one delivery attempt

scope webhooks:read

POST /api/v1/webhook-deliveries/{id}/retry

Re-deliver one failed delivery now

scope webhooks:write

POST /api/v1/agent/chat

One agent turn, non-streaming. Returns { data: { text, widgets } } where widgets are proposals/choices/actions the client renders; proposals confirm through the regular write endpoints. Requires agent:write.

scope agent:write

  • messages array
  • tier? string · `low`, `high`

GET /api/v1/store/stores

List stores and sites in this organisation, including each publishable storefront_token.

scope store:read

POST /api/v1/store/stores

Create a draft store or site in this organisation. The response is the id and the publishable storefront_token for that shop. It is not an order link or a download token.

scope store:write

PATCH /api/v1/store/stores/{id}

Rename a store or site in this organisation, or change its slug. The slug can change only while the shop has never been published, because buyer mails and order links carry it. A slug already taken is a conflict. A shop from another organisation is not found.

scope store:write

GET /api/v1/store/stores/{id}/chrome

Read the theme, header and footer of a shop in this organisation. An unreadable part is null. A shop from another organisation is not found.

scope store:read

PATCH /api/v1/store/stores/{id}/chrome

Update the theme, header or footer of a shop in this organisation. Only the fields in the body change. An unreadable stored part must be replaced in the same request. A link must be a path or https. A shop from another organisation is not found.

scope store:write

POST /api/v1/store/stores/{id}/publish

Publish or pause a store or site in this organisation. publish is true or false. Publishing requires the organisation KvK number already stored on the account. The request cannot supply a different number. The front page has to exist and be readable. Its address may differ from home.

scope store:write

PATCH /api/v1/store/products/{id}

Update a product in this organisation. Only the fields in the body change. price_incl_cents is an integer number of cents. An unknown kind, rate, status, or weight is rejected. A product from another organisation is not found. Changing the address moves shop links that used /product/{slug}. If a link cannot move, the address stays.

scope store:write

GET /api/v1/store/products/{id}/images

List the pictures on a product in this organisation. The storage path is not included. A product from another organisation is not found.

scope store:read

POST /api/v1/store/products/{id}/images

Attach a picture to a product in this organisation. The body is multipart form data with one file. png, jpeg, webp, and gif are accepted. A ninth picture is refused. A product from another organisation is not found.

scope store:write

DELETE /api/v1/store/products/{id}/images/{imageId}

Remove a picture from a product in this organisation. The picture stays in the shop. A picture that is not on this product is not found.

scope store:write

GET /api/v1/store/products/{id}/files

List the download files on a product in this organisation. The storage path is not included. A product from another organisation is not found.

scope store:read

POST /api/v1/store/products/{id}/files

Attach a download file to a digital product in this organisation. The body is multipart form data with one file. The type has to match the extension, and the bytes have to match that type. A program, a script, or HTML is refused. A physical product is refused. A product from another organisation is not found.

scope store:write

POST /api/v1/store/products/{id}/variants

Add an option to a product in this organisation. price_incl_cents is an integer number of cents, or null to use the product price. inventory_qty is a whole number. A product from another organisation is not found.

scope store:write

PATCH /api/v1/store/products/{id}/variants/{variantId}

Update an option on a product in this organisation. Only the fields in the body change. An option from another product is not found.

scope store:write

DELETE /api/v1/store/products/{id}/variants/{variantId}

Remove an option from a product in this organisation. Past orders keep the title already stored on the line. An option from another product is not found.

scope store:write

POST /api/v1/store/products/{id}/status

Set a product in this organisation to draft, active, or archived. A product from another organisation is not found.

scope store:write

GET /api/v1/store/products

List store products

scope store:read

POST /api/v1/store/products

Create a draft product in a store owned by this organisation. price_incl_cents is an integer number of cents. kind is physical or digital. vat_treatment is a known rate. weight_grams is whole grams, or omitted. An unknown kind, rate, or weight is rejected. The list includes each option and its price, stock, and the product's image ids.

scope store:write

GET /api/v1/store/collections

List collections in a shop, including the products in each one.

scope store:read

POST /api/v1/store/collections

Create a collection in a shop owned by this organisation. The slug comes from the title when it is omitted. A reserved slug is refused. product_ids must already belong to this shop. A slug already used in the shop is rejected.

scope store:write

PATCH /api/v1/store/collections/{id}

Update a collection in this organisation. Send title, slug, product_ids, or any of them. product_ids is the full list. A new title without a slug moves the slug along. A product from another shop is refused. A collection from another organisation is not found.

scope store:write

DELETE /api/v1/store/collections/{id}

Remove a collection in this organisation. A collection that a discount is scoped to is a conflict: change or remove that discount first.

scope store:write

GET /api/v1/store/discounts

List shop discounts, including how many times each code has been used.

scope store:read

POST /api/v1/store/discounts

Create a discount in a shop owned by this organisation. kind is percent or fixed. percent_bps is an integer from 1 to 10000. amount_incl_cents is an integer number of cents. A window without an offset is Europe/Amsterdam. A code already used in the shop is rejected.

scope store:write

PATCH /api/v1/store/discounts/{id}

Update a discount in this organisation. Only the fields in the body change. The number of uses stays. A discount from another organisation is not found.

scope store:write

DELETE /api/v1/store/discounts/{id}

Remove a discount in this organisation that has never been used. A used code stays on its orders and is a conflict: pause it instead.

scope store:write

POST /api/v1/store/discounts/{id}/status

Pause or resume a discount in this organisation. status is active or paused. A discount from another organisation is not found.

scope store:write

GET /api/v1/store/shipping

List shipping zones and rates for a shop in this organisation.

scope store:read

POST /api/v1/store/shipping/zones

Create a shipping zone. countries are two-letter codes. An empty list is the rest of the world. A word that is not a code is rejected. A shop from another organisation is not found.

scope store:write

PATCH /api/v1/store/shipping/zones/{id}

Update a shipping zone in this organisation. Only the fields in the body change. Rates in the zone stay. A zone from another organisation is not found.

scope store:write

DELETE /api/v1/store/shipping/zones/{id}

Remove a shipping zone that has no rates. A zone that still has rates is rejected. A zone from another organisation is not found.

scope store:write

POST /api/v1/store/shipping/rates

Create a shipping rate in a zone of this organisation. price_incl_cents is an integer number of cents. carrier is manual, postnl, dhl, dpd, ups, or gls. A minimum weight above the maximum is rejected.

scope store:write

PATCH /api/v1/store/shipping/rates/{id}

Update a shipping rate in this organisation. Only the fields in the body change. The rate stays in its zone. A rate from another organisation is not found.

scope store:write

DELETE /api/v1/store/shipping/rates/{id}

Remove a shipping rate in this organisation. Past orders keep the rate name already stored. A rate from another organisation is not found.

scope store:write

GET /api/v1/store/pages

List shop pages in this organisation. An unreadable document is null. Drafts are included.

scope store:read

POST /api/v1/store/pages

Create a draft page in a shop owned by this organisation. The slug is taken from the title when it is omitted. A shop from another organisation is not found.

scope store:write

PATCH /api/v1/store/pages/{id}

Update a page in this organisation. Only the fields in the body change. An unreadable stored document must be replaced in the same request. The shop home cannot be unpublished. A slug must be a page address. A reserved slug is refused. A slug already used in the shop is rejected. A page from another organisation is not found.

scope store:write

DELETE /api/v1/store/pages/{id}

Remove a page in this organisation. The shop home is a conflict: make another published page the home first. Links to the removed address stay until you change them.

scope store:write

POST /api/v1/store/pages/{id}/home

Make a published page the shop home. The previous home stops being the home. A draft is rejected. A page from another organisation is not found.

scope store:write

GET /api/v1/store/orders

List store orders with lines, the discount, the shipping amount, the chosen shipping method, and the shipping address. A free method is still named. The buyer link is not included. Older orders are on the next page: pass cursor from next_cursor. status narrows the list to one order status.

scope store:read

POST /api/v1/store/orders/{id}/fulfill

Mark a paid order in this organisation as shipped. A tracking URL, when set, must start with https://. Customer email and address are not returned.

scope store:write

POST /api/v1/store/orders/{id}/refund

Refund a paid or shipped order in this organisation. The payment goes back through the shop's payment provider, then a credit note is issued. A later call on an already refunded order changes nothing. The response includes the credit note id. Customer email is not returned.

scope store:write

GET /api/storefront/pages

Published pages, theme, header and footer for the shop in x-cijfr-storefront-token. Drafts are left out. A site returns its pages and no catalogue. The page id is not included.

scope none

GET /api/storefront/products

List active products for the shop in x-cijfr-storefront-token. Prices are integer cents including VAT, and they are the amount checkout charges for one item. from_price_incl_cents is the lowest price the buyer can still choose. price_from is true when those options differ. A sold-out cheaper option does not set that price while another option is in stock. available is true when the buyer can add it. A digital product with no file is not available. The quantity is not included. A site is not a store.

scope none

GET /api/storefront/products/{slug}

One active product in this shop. Prices are the amount checkout charges for one item. from_price_incl_cents is the lowest price the buyer can still choose. A product from another shop, or a site, is not found.

scope none

POST /api/storefront/shipping

Quote shipping for this shop without opening an order. country is two letters. Prices are whole cents. A site is not a store.

scope none

POST /api/storefront/checkout

Start checkout for this shop. The server prices the lines, requires a complete address, and returns the payment URL. A shop without a KvK number does not open an order. When expectedTotalCents is set, the order opens only at that total. When cartToken is set, those quantities leave that cart before the order opens, and they go back if the order does not open. A second checkout of the same cart does not open another order. A site is not a store.

scope none

GET /api/storefront/cart

Read one cart for the shop in x-cijfr-storefront-token. Pass the cart token as token. The response uses server prices and does not rotate the token. Repeated lines of one option are returned as one line. checkout is cart when nothing is left, lines when the cart holds more than 40 products, null when every line can be bought, otherwise product, file, stock, or quantity. quantity means the same option adds up to more than 99. Products past 40 stay in the response. total_incl_cents is the shelf line. charge_incl_cents is the amount checkout charges for that line before a discount and before shipping. payable_goods_incl_cents is the goods total of those charges. It is null when checkout is not null. A cart from another shop is not found. A site is not a store.

scope none

POST /api/storefront/cart

Add a product, or set an absolute quantity when set is true. Quantity 0 removes the line. The response token replaces the previous cart token. A parallel add is applied to the newer cart. Three lost races are a conflict. Prices are the server prices. Repeated lines of one option are returned as one line. checkout is cart when nothing is left, lines when the cart holds more than 40 products, null when every line can be bought, otherwise product, file, stock, or quantity. A new product is refused once the cart holds 40. Products already stored stay. quantity means the same option adds up to more than 99. total_incl_cents is the shelf line. charge_incl_cents is the amount checkout charges for that line before a discount and before shipping. payable_goods_incl_cents is the goods total of those charges. It is null when checkout is not null. A digital product with no file is refused.

scope none

GET /api/v1/sign/envelopes

List sign envelopes

scope sign:read

POST /api/v1/sign/envelopes

Create a draft envelope from a PDF. This does not send. A request that asks to send is rejected. An envelope without fields is never sent from this endpoint. Place fields in the workspace before sending.

scope sign:write

GET /api/v1/kyoosk/orders

List KYOOSK orders with their lines. Paid orders carry the receipt document_id

scope kyoosk:read

GET /api/v1/kyoosk/products

List KYOOSK menu products

scope kyoosk:read

GET /api/v1/kyoosk/kiosks

List KYOOSK kiosks. Device tokens and PIN hashes are never returned

scope kyoosk:read

GET /api/v1/openapi

This OpenAPI document as JSON (unauthenticated, CORS open)

scope none

POST /api/v1/credits

Add mail credits

scope credits:write

  • orgId string uuid
  • credits integer
  • reason string
Referentie · Cijfr