Skip to main content
GET /api/v2/storefront/join-context/{slug} Resolves a join-link slug to brand-safe context so the co-branded /join/{slug} signup page can theme itself before the prospective buyer has an account. This endpoint is public and unauthenticated — it never requires or accepts an API key, and it never returns seller or customer identifiers. It surfaces only what a public signup screen needs to render: storefront name, operator domain, logo, brand colors, and locale hints.
This is the only join-link endpoint that is unauthenticated. Minting, listing, and disabling links all require a seller API key.

Request

curl https://api.interchange.io/api/v2/storefront/join-context/northwind-advertisers

Parameters

FieldTypeRequiredNotes
slugstring (path)YesThe join-link slug (2–64 chars, lowercase letters, numbers, hyphens).

Response

200 OK with a JoinLinkContext. A usable link returns valid: true with branding populated:
{
  "slug": "northwind-advertisers",
  "valid": true,
  "storefrontName": "Northwind Media",
  "operatorDomain": "northwind.example.com",
  "logoUrl": "https://logos.interchange.io/northwind.png",
  "brandColors": {
    "primary": "#E4002B",
    "secondary": "#1A1A1A"
  },
  "defaultCurrency": "EUR",
  "supportedLanguages": ["nl", "en"]
}
A missing, revoked, expired, exhausted, or closed link returns valid: false with all branding fields null — never an error status:
{
  "slug": "northwind-advertisers",
  "valid": false,
  "storefrontName": null,
  "operatorDomain": null,
  "logoUrl": null,
  "brandColors": null,
  "defaultCurrency": null,
  "supportedLanguages": null
}

Response fields

FieldTypeNotes
slugstringEchoes the requested slug.
validbooleanfalse for a missing, revoked, expired, exhausted, or closed link.
storefrontNamestring | nullDisplay name for the signup header. Null when invalid.
operatorDomainstring | nullThe operator’s domain. Null when invalid.
logoUrlstring | nullBrand logo (http(s)). Null when invalid or unresolved.
brandColorsobject | nullbrand.json colors (primary, secondary, accent, …). Null when unresolved.
defaultCurrencystring | nullSeller-confirmed settlement currency (ISO-4217). Null until the seller confirms it.
supportedLanguagesstring[] | nullSeller-curated languages the join surface may localize within. Null if unset.

Errors

  • 400 VALIDATION_ERRORslug does not match the allowed format.
There is no 401: the endpoint is public. An unresolvable link is reported as valid: false with a 200, not an error. See Errors for the full error contract.

Join-link tasks

All operations

Create join link

Mint a link to resolve

Join links overview

Concepts and approval policies

Errors

Shared error contract