---
title: "Create a biller, each KLARA company can create 1 biller via KLARA network partner."
method: POST
path: "/ebill/billers"
tags: ["eBill Network Partner"]
---

# Create a biller, each KLARA company can create 1 biller via KLARA network partner.

`POST /ebill/billers`

## Request

- Base URL: `https://api.klara.ch`
- URL: `https://api.klara.ch/ebill/billers`
- Auth: one of:
  - API key in header `X-API-KEY`
  - HTTP bearer

## Request body

- Biller
  - `billerId` string: A unique id for the biller.
  - `status` 'ACTIVE' | 'INACTIVE', required: The status of the biller.
  - `defaultLanguage` string, required: The language will be sent to eBill infrastructure<br />Acceptable values: [ger, fre, ita, eng]
  - `companyName` string, required: The legal name of the company which is displayed in the invoice overview.
  - `sectorIds` string[], required: The list of assigned sector ids to the biller.
  - `companyUid` string: Swiss enterprise identification number (UID) without dashes, dots or extension.<br />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).
  - `billRecipientSubscriptionStatus` 'ALLOWED' | 'NOT_ALLOWED', required: If allowed, the biller can be found and bill recipients can subscribe with this biller.
  - `accounts` Account[], required: The list of biller accounts.
    - `currencyCode` string, required: The currency code in ISO-4217<br />We only accept CHF.
    - `iid` string: The required institution identification of the associated financial institute.<br />Please use leading zeroes to reach the 5 digit value.
    - `iban` string, required: We only accept QR iban for a biller registration.<br />In case the account number is of type QR-IBAN the account supplement can be used as additional information to this account number for distinguishing billers using the same QR-IBAN. <br />The combination of QR-IBAN and account supplement must be unique. <br />The account supplement is used during business case validation (if an account supplement is defined the QR-Reference has to start with these exact digits) and during direct subscription from online banking (if an account supplement is defined the QR-Reference has to start with these exact digits to produce a match for direct subscription).
    - `esrParticipantNumber` string
    - `qrIbanAccountSupplement` string
  - `localized` BillerLocalizedData[]
    - `companyName` string, required: The name which will be used for presentation in the biller overview
    - `street` string, required: The street name
    - `zipCode` string, required: The zipcode
    - `city` string, required: The city name
    - `language` 'ITALIAN' | 'GERMAN' | 'FRENCH' | 'ENGLISH', required: The supported language
    - `email` string: The email
    - `mobileNumber` string: The mobile number
    - `streetNumber` string: The street number
    - `website` string: The website
    - `logo` object: Logo of the biller
      - `name` string: Name of the biller's logo
      - `assetId` string: Id of an asset store biller's logo
  - `billerDirectSubscriptionSupport` 'ENABLED' | 'DISABLED', required: Defines whether the biller supports direct subscription.

## Response `201`

Biller created

- Biller
  - `billerId` string: A unique id for the biller.
  - `status` 'ACTIVE' | 'INACTIVE', required: The status of the biller.
  - `defaultLanguage` string, required: The language will be sent to eBill infrastructure<br />Acceptable values: [ger, fre, ita, eng]
  - `companyName` string, required: The legal name of the company which is displayed in the invoice overview.
  - `sectorIds` string[], required: The list of assigned sector ids to the biller.
  - `companyUid` string: Swiss enterprise identification number (UID) without dashes, dots or extension.<br />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).
  - `billRecipientSubscriptionStatus` 'ALLOWED' | 'NOT_ALLOWED', required: If allowed, the biller can be found and bill recipients can subscribe with this biller.
  - `accounts` Account[], required: The list of biller accounts.
    - `currencyCode` string, required: The currency code in ISO-4217<br />We only accept CHF.
    - `iid` string: The required institution identification of the associated financial institute.<br />Please use leading zeroes to reach the 5 digit value.
    - `iban` string, required: We only accept QR iban for a biller registration.<br />In case the account number is of type QR-IBAN the account supplement can be used as additional information to this account number for distinguishing billers using the same QR-IBAN. <br />The combination of QR-IBAN and account supplement must be unique. <br />The account supplement is used during business case validation (if an account supplement is defined the QR-Reference has to start with these exact digits) and during direct subscription from online banking (if an account supplement is defined the QR-Reference has to start with these exact digits to produce a match for direct subscription).
    - `esrParticipantNumber` string
    - `qrIbanAccountSupplement` string
  - `localized` BillerLocalizedData[]
    - `companyName` string, required: The name which will be used for presentation in the biller overview
    - `street` string, required: The street name
    - `zipCode` string, required: The zipcode
    - `city` string, required: The city name
    - `language` 'ITALIAN' | 'GERMAN' | 'FRENCH' | 'ENGLISH', required: The supported language
    - `email` string: The email
    - `mobileNumber` string: The mobile number
    - `streetNumber` string: The street number
    - `website` string: The website
    - `logo` object: Logo of the biller
      - `name` string: Name of the biller's logo
      - `assetId` string: Id of an asset store biller's logo
  - `billerDirectSubscriptionSupport` 'ENABLED' | 'DISABLED', required: Defines whether the biller supports direct subscription.

## Other responses

- `400`: Data invalid<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `401`: No Authorization header found or invalid token<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `415`: Unsupported Media Type<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.

---

[API](https://skmtc.dev/klara/apis/klara-public-api.md) · [All operations](https://skmtc.dev/klara/apis/klara-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/klara/apis/klara-public-api/revisions/490b1a879fc2?raw)
