Getting Started
Business profile
Read the store's public business details, social links and content languages.
View as MarkdownOne endpoint returns the public side of the merchant's business profile: how the business is named and reached, where it is registered, which social profiles it links, and which languages its content is written in. Use it for a storefront footer, a contact page or a language switcher. The merchant edits these values in the dashboard under Settings → Business.
The endpoint takes a tenant API key carrying the tenant:read scope, sent as Authorization: Bearer {api_key}. It does not depend on any module. A key without the scope gets 403 {"message": "Invalid ability provided."}. The shared tenant rate limit of 120 requests per minute applies.
One endpoint returns the public side of the merchant's business profile: how the business is named and reached, where it is registered, which social profiles it links, and which languages its content is written in. Use it for a storefront footer, a contact page or a language switcher. The merchant edits these values in the dashboard under Settings → Business.
The endpoint takes a tenant API key carrying the tenant:read scope, sent as Authorization: Bearer {api_key}. It does not depend on any module. A key without the scope gets 403 {"message": "Invalid ability provided."}. The shared tenant rate limit of 120 requests per minute applies.
GET /v1/api/business
Returns the public allow-list of the business profile. Banking, signer, sender and terms fields are never part of it. The call does not create a profile: a store that has not filled in its profile yet answers 200 with every text field null, social_links as [], and the default language.
Request
Response
Fields
| Field | Type | Description |
|---|---|---|
trade_name | string or null | Name the business trades under. |
legal_name | string or null | Registered legal name. |
email | string or null | Public contact email. |
phone | string or null | Public contact phone number. |
website | string or null | The business's own website. |
street | string or null | Street of the business address. |
house_number | string or null | House number. |
postal_code | string or null | Postal code. |
city | string or null | City. |
country | string or null | Two-letter country code, uppercase, for example NL. |
registration_number | string or null | Chamber of commerce or company registration number. |
vat_id | string or null | VAT number, uppercase. |
social_links | array | The social profiles the merchant links, in the order they set. Empty array when none. Each item is described below. |
locale | string | The store's default language, a language tag such as nl. |
content_locales | array of strings | The languages the store's content is written in. Always contains locale. Same list as the languages that localized Objects values are cut down to. |
Social link items
| Field | Type | Description |
|---|---|---|
platform | string | One of instagram, facebook, x, linkedin, youtube, tiktok, pinterest, threads, bluesky, snapchat, whatsapp, telegram, github, behance, dribbble, vimeo, reddit, discord, mastodon, twitch, spotify, medium, other. |
url | string | An https:// address. For every platform except mastodon and other the host belongs to that platform. |
label | string or null | Display text. Always present for other, optional (often null) for the rest. |
The platform list can grow. Treat a platform you do not know as a plain link and show it with its label or url.
Errors
| Status | When |
|---|---|
401 | Missing or invalid API key. |
403 | The key does not carry the tenant:read scope. |
429 | Rate limit reached. See Errors and rate limits. |
curl https://api.borkol.com/v1/api/business \
-H "Authorization: Bearer {api_key}"{
"data": {
"trade_name": "Sunrise Bakery",
"legal_name": "Sunrise Bakery BV",
"email": "hello@bakery.example",
"phone": "+31 20 123 4567",
"website": "https://bakery.example",
"street": "Kerkstraat",
"house_number": "12",
"postal_code": "2011 AB",
"city": "Haarlem",
"country": "NL",
"registration_number": "12345678",
"vat_id": "NL123456789B01",
"social_links": [
{ "platform": "instagram", "url": "https://www.instagram.com/sunrisebakery", "label": null },
{ "platform": "other", "url": "https://bakery.example/blog", "label": "Blog" }
],
"locale": "nl",
"content_locales": ["nl", "en"]
}
}GET /v1/api/business
Returns the public allow-list of the business profile. Banking, signer, sender and terms fields are never part of it. The call does not create a profile: a store that has not filled in its profile yet answers 200 with every text field null, social_links as [], and the default language.
Request
curl https://api.borkol.com/v1/api/business \
-H "Authorization: Bearer {api_key}"Response
{
"data": {
"trade_name": "Sunrise Bakery",
"legal_name": "Sunrise Bakery BV",
"email": "hello@bakery.example",
"phone": "+31 20 123 4567",
"website": "https://bakery.example",
"street": "Kerkstraat",
"house_number": "12",
"postal_code": "2011 AB",
"city": "Haarlem",
"country": "NL",
"registration_number": "12345678",
"vat_id": "NL123456789B01",
"social_links": [
{ "platform": "instagram", "url": "https://www.instagram.com/sunrisebakery", "label": null },
{ "platform": "other", "url": "https://bakery.example/blog", "label": "Blog" }
],
"locale": "nl",
"content_locales": ["nl", "en"]
}
}Fields
| Field | Type | Description |
|---|---|---|
trade_name | string or null | Name the business trades under. |
legal_name | string or null | Registered legal name. |
email | string or null | Public contact email. |
phone | string or null | Public contact phone number. |
website | string or null | The business's own website. |
street | string or null | Street of the business address. |
house_number | string or null | House number. |
postal_code | string or null | Postal code. |
city | string or null | City. |
country | string or null | Two-letter country code, uppercase, for example NL. |
registration_number | string or null | Chamber of commerce or company registration number. |
vat_id | string or null | VAT number, uppercase. |
social_links | array | The social profiles the merchant links, in the order they set. Empty array when none. Each item is described below. |
locale | string | The store's default language, a language tag such as nl. |
content_locales | array of strings | The languages the store's content is written in. Always contains locale. Same list as the languages that localized Objects values are cut down to. |
Social link items
| Field | Type | Description |
|---|---|---|
platform | string | One of instagram, facebook, x, linkedin, youtube, tiktok, pinterest, threads, bluesky, snapchat, whatsapp, telegram, github, behance, dribbble, vimeo, reddit, discord, mastodon, twitch, spotify, medium, other. |
url | string | An https:// address. For every platform except mastodon and other the host belongs to that platform. |
label | string or null | Display text. Always present for other, optional (often null) for the rest. |
The platform list can grow. Treat a platform you do not know as a plain link and show it with its label or url.
Errors
| Status | When |
|---|---|
401 | Missing or invalid API key. |
403 | The key does not carry the tenant:read scope. |
429 | Rate limit reached. See Errors and rate limits. |