Get started with the Conciar API
Conciar has two APIs. Use them to build your own customer app, a website backend or an integration on top of your Conciar account.
| API | What it's for | Key | Base URL |
|---|---|---|---|
| Connect API | Locations, the restaurant menu and takeaway orders, customer sign-in and loyalty, the webshop catalogue, cart, checkout and subscriptions. | Yes | https://api.conciar.com/connect/v1 |
| Public booking API | Table reservations: availability, booking (with a deposit or card guarantee), the guest's own reservation, ticketed events and gift cards. | No | https://api.conciar.com/public/v1 |
The public booking API needs no key. You address a restaurant by its guid. If you only want reservations on a website, you don't have to build anything: embed the booking widget.
1. Create an API key
- Sign in to my.conciar.com as an admin or manager.
- Open Management → API Keys and click New API Key.
- Enter a Key Name, for example "Customer app", and click Create Key.
- Copy both parts of the key right away: the publishable key (
pk_…) and the secret key (cnct_…). They are shown only once.
The difference between the two parts, and how to keep them safe, is on API keys and authentication.
2. Find your sales channel token
Each location or shop you sell through is a sales channel. Calls to /store/… and /app/init need the channel's token (cnct_ch_…) in the X-Sales-Channel header. The channel decides the menu or catalogue, prices, currency, language and payment methods.
You can find the token in two places:
- in my.conciar.com under Settings → Sales channels, as Channel token;
- in the response of
GET /locations, assales_channel_token.
3. Make your first request
List your locations with the publishable key:
curl "https://api.conciar.com/connect/v1/locations" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key"Response (shortened):
{
"data": {
"timezone": "Europe/Amsterdam",
"locations": [
{
"sales_channel_token": "cnct_ch_your_channel_token",
"name": "Bistro Example",
"is_test": false,
"address": "Example Street 1, 1000 AA Example City",
"is_open_now": true
}
]
}
}GET /locations lists your active sales channels. Delivery platform channels, such as Uber Eats, aren't in the list.
Request headers
| Header | When | Value |
|---|---|---|
X-Api-Key | Every Connect call | Your publishable (pk_…) or secret (cnct_…) key. |
X-Sales-Channel | Every /store/… call and /app/init | The channel token (cnct_ch_…). |
Accept-Language | Optional | For example nl or zh-TW. Defaults to the channel's language. |
X-Currency | Optional | Defaults to the channel's currency. An unknown value is ignored. |
Authorization | Calls for a signed-in customer | Bearer <access_token> from /auth/otp/verify. |
Idempotency-Key | Optional, when placing a restaurant order | 1–64 characters. A retry with the same key returns the first order. |
X-Order-Token | A guest reading, paying or cancelling a restaurant order | The order_token you got when placing it. |
Signed-in customers
Customers sign in with a 6-digit code sent by email:
POST /auth/otp/requestsends the code.POST /auth/otp/verifychecks it and returns anaccess_token. The token is valid for 6 months.
Send the token as Authorization: Bearer … next to the API key. The /store/customer/… endpoints require it. On restaurant orders it's optional: with it, the order belongs to the customer and earns loyalty stamps and points.
No code: the booking widget
To take table reservations on your website, paste this where the booking form should appear. Replace the guid with your restaurant's; you'll find the full snippet in my.conciar.com under Settings → Restaurant.
<div class="conciar-widget"
data-widget-type="restaurant-reservation"
data-guid="YOUR_RESTAURANT_GUID"
data-lang="auto"></div>
<script src="https://widget.conciar.com/conciar-widget.iife.js" defer></script>data-lang takes a language code such as en or nl, or auto for the visitor's browser language.
Next steps
- API keys and authentication: key types, errors and rate limits.
- API reference: every endpoint, with code examples and Try it.
- Code examples: a takeaway order, customer sign-in and a table booking, step by step.