Skip to content

Dibito REST API (1.1)

The Dibito REST API provides services to submit, verify and deliver eBills. The API is designed to be used by biller integrations.
Please refer to the API tutorial for your first eBill submission.

API Key

This API requires an API key to be passed in the `X-API-Key` header.
Generate your API key in the Dibito application under "Dibito -> API Keys".

Top level overview

  • Create bills by posting either a QR-Invoice as PDF to the /v1/business-cases` endpoint or a fully populated JSON object to one of the business case type endpoints.
  • If the request succeeds, it passed validation and can be delivered to the eBill recipients.
  • Use the webhook endpoints to be notified about changes to your recipient subscriptions or business case statuses.

Referencing existing bills

If you pass one of the reference parameters or fill in the referenced bills section in your business case, the submitted eBill will:
  • In case of a reminder: Add a reminder to the eBill portal of the reciepient for the referenced bill.
  • In case of a donation inquiry: Will do nothing. Donation inquiries cannot be referenced.
  • In any other case: Replace the referenced bill with the new one in the eBill portal of the recipient. (Hint: Use advices to effectively cancel delivered eBills.)

Product Website

https://www.dibito.ch

Further Informations

Consult our documentation for further informations about creating and handling eBills.
Download OpenAPI description
Languages
Servers
Generated server url

https://app.dibito.ch/

Operations
Operations
Operations

Search for multiple bill recipients

Request

For each item in the request body, the endpoint will respond if it is allowed to submit a business case for a bill recipient with the provided ID. In addition to the provided ID, the response will always contain the billRecipientId, if a business case submission is allowed.

Security
X-API-Key
Bodyapplication/jsonrequired
itemsArray of objects(BillRecipientsSearchRequestItem)[ 1 .. 100 ] itemsrequired
items[].​emailAddressstring[ 1 .. 256 ] characters

email address of the bill recipient

Example: "peter@muster.ch"
items[].​billRecipientSixIdstring[ 1 .. 17 ] characters([0-9])*

SIX ID of the bill recipient

Example: 41010560425610180
items[].​enterpriseIdentificationNumberstring[ 0 .. 12 ] charactersCHE[0-9]{9}

Swiss enterprise identification number (UID) without dashes, dots or extension. Note that this has to contain the swiss enterprise identification number (UID) from the commercial register (Handelsregister) which may be different from the VAT UID (Mehrwertsteuer UID).

Example: "CHE123456789"
curl -i -X POST \
  https://app.dibito.ch/api/v1/bill-recipients/search \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "items": [
      {
        "emailAddress": "peter@muster.ch",
        "billRecipientSixId": 41010560425610180,
        "enterpriseIdentificationNumber": "CHE123456789"
      }
    ]
  }'

Responses

Search successfully executed

Bodyapplication/json
itemsArray of objects(BillRecipientsForBillerSearchResponseItem)[ 1 .. 100 ] itemsrequired
items[].​emailAddressstring[ 1 .. 256 ] characters

email address of the bill recipient

Example: "peter@muster.ch"
items[].​billRecipientSixIdstring[ 1 .. 17 ] characters([0-9])*

SIX ID of the bill recipient

Example: 41010560425610180
items[].​activeSubscriptionboolean
items[].​enterpriseIdentificationNumberstring[ 0 .. 12 ] charactersCHE[0-9]{9}

Swiss enterprise identification number (UID) without dashes, dots or extension. Note that this has to contain the swiss enterprise identification number (UID) from the commercial register (Handelsregister) which may be different from the VAT UID (Mehrwertsteuer UID).

Example: "CHE123456789"
items[].​submissionStatusstringrequired

Defines if the biller can submit a business-case for the provided ID in the request (=ALLOWED) or if the ID is either not known to the eBill infrastructure or the submission is not allowed (=NOT_ALLOWED).

Enum"ALLOWED""NOT_ALLOWED"
Response
application/json
{ "items": [ {} ] }

Request

Verify if a bill recipient is part of the eBill infrastructure by its billRecipientSixId. The call will return the billRecipientSixId if the bill recipient has been found in the eBill infrastructure. Receiving a billRecipientSixId does not necessary mean that the corresponding bill recipient is an active eBill user, it only means that this billRecipientSixId exists in the eBill infrastructure.

Security
X-API-Key
Path
billRecipientSixIdstring[ 1 .. 17 ] characters([0-9])*required

SIX ID of the bill recipient Maximal length: 17 Example: "41010560425610173" Pattern: ([0-9])*

curl -i -X GET \
  'https://app.dibito.ch/api/v1/bill-recipients/{billRecipientSixId}' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Bill recipient found

Bodyapplication/json
billRecipientSixIdstring[ 1 .. 17 ] characters([0-9])*

SIX ID of the bill recipient

Example: 41010560425610180
Response
application/json
{ "billRecipientSixId": 41010560425610180 }
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Webhooks
Operations