Method GET/distributor-portal /me
Read your profile, your distributor and its territory. Distributor contact account session, no API key scope.
On this page
You read your distributor-contact profile: the distributor you work for and its contractual territory. This is the call to make at the start of your integration: it tells you which distributor your session reaches FOR THE SELECTED BRAND, and the list of every brand you are an active contact at.
The full address is https://api.sealtrust.io/v1/distributor-portal/me. The
same route exists without the /v1 prefix, and the /v1 form is the one
recommended for a new integration.
#
Session of a distributor contact account. No API key scope applies here.
The account must carry the distributor role. A client account, a partner
account (repairer, recycler) or a brand team account gets a 403, with the
message Distributor contact account required.
| Way | When to use it |
|---|---|
Authorization: Bearer <token> header | Server-to-server call, script. |
access_token session cookie | Browser, once signed in to the portal. |
You get a token by calling POST /v1/auth/login with username and
password, like any other account.
#Query parameters
| Parameter | Type | Description |
|---|---|---|
brand_id | integer | Which brand to describe. Omitted: the only accessible brand when there is exactly one (historical behaviour, unchanged); otherwise the first one alphabetically — call GET /distributor-portal/brands for the full list and let the person choose. |
#Rate limit
30 calls a minute, the same ceiling and the same human rhythm as the partner
portal: you browse your shipments then confirm a reception. It covers the
whole distributor portal; switching between entry points does not give you
more room. Beyond it, the API answers 429 with a Retry-After header.
#Example request
curl -i https://api.sealtrust.io/v1/distributor-portal/me \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.0000000000000000000000000000.0000000000000000000000000000"#Example response
{
"id": 214,
"email": "contact@distributeur-exemple.test",
"name": "Camille Exemple",
"retailer_id": 9,
"retailer_code": "DIST-DE",
"retailer_name": "Distribution Exemple GmbH",
"brand_id": 42,
"brand_code": "7K3QXW9M2A",
"brand_name": "Exemple SAS",
"territory_countries": ["DE", "AT"],
"brands": [
{
"brand_id": 42,
"brand_code": "7K3QXW9M2A",
"brand_name": "Exemple SAS",
"retailer_id": 9,
"retailer_code": "DIST-DE",
"retailer_name": "Distribution Exemple GmbH",
"territory_countries": ["DE", "AT"],
"alerts_opt_in": false
},
{
"brand_id": 57,
"brand_code": "9PQ2WZ4KXR",
"brand_name": "Other Brand SAS",
"retailer_id": 31,
"retailer_code": "DIST-OM-DE",
"retailer_name": "Distribution Exemple GmbH (Other Brand)",
"territory_countries": ["DE"],
"alerts_opt_in": true
}
]
}#Response fields
| Field | Type | Description |
|---|---|---|
retailer_id | integer | Your distributor's id FOR THE SELECTED BRAND (brand_id). |
retailer_code | string | The distributor's code at that brand. |
territory_countries | array or null | ISO2 codes of the exclusive contractual territory, for that brand. null or empty: your distributor has no territory of its own, the brand's authorized countries apply. |
brands | array | Every brand you are an ACTIVE contact at — a selector, never a list to merge. A single entry: nothing to choose, this is the historical behaviour. alerts_opt_in says whether that brand turned on the out-of-territory view for you (GET /distributor-portal/out-of-territory). |
#Errors
| Code | Condition | What to do |
|---|---|---|
| 401 | Token missing, unreadable or expired. | Sign in again, then call with Authorization: Bearer <token>. |
| 403 | The account does not carry the distributor role. Message Distributor contact account required. | Ask the brand for a distributor contact account. |
| 403 | The contact was revoked everywhere: no active row remains for this account, at any brand. Message No active distributor access. | Ask a brand to invite you again. |
| 404 | brand_id given, but no active contact for that brand (including a brand that does not exist). Same answer either way. | Check the id, or call without brand_id / via GET /distributor-portal/brands to see the brands you can actually reach. |
| 429 | Rate limit exceeded. | Wait the delay in Retry-After. |
#See also
GET /distributor-portal/brands, the list of your brands, to build a selector.GET /distributor-portal/shipments, list your own shipments.GET /distributor-portal/out-of-territory, your units seen outside your territory.
Was this page helpful?
Your answer opens a pre-filled email in your mail app, addressed to contact@sealtrust.io. You read it over before sending it.