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.

#Authorization

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.

WayWhen to use it
Authorization: Bearer <token> headerServer-to-server call, script.
access_token session cookieBrowser, 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

ParameterTypeDescription
brand_idintegerWhich 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
curl -i https://api.sealtrust.io/v1/distributor-portal/me \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.0000000000000000000000000000.0000000000000000000000000000"

#Example response

JSON
{
  "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

FieldTypeDescription
retailer_idintegerYour distributor's id FOR THE SELECTED BRAND (brand_id).
retailer_codestringThe distributor's code at that brand.
territory_countriesarray or nullISO2 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.
brandsarrayEvery 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

CodeConditionWhat to do
401Token missing, unreadable or expired.Sign in again, then call with Authorization: Bearer <token>.
403The account does not carry the distributor role. Message Distributor contact account required.Ask the brand for a distributor contact account.
403The 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.
404brand_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.
429Rate limit exceeded.Wait the delay in Retry-After.

#See also

Your answer opens a pre-filled email in your mail app, addressed to contact@sealtrust.io. You read it over before sending it.

Suggest a correctionReport a problem