Journey Docs
Partner API ExplorerTheme Kits

Create or replace an entity’s theme kit

Required scopepartner:theme-kits:manage
PUT
/v1/partner/theme-kits/{entityType}/{entityExternalId}

Full replacement, optimistically concurrent: pass the version you read back as expectedVersion and the write is rejected if someone else changed the kit meanwhile.

Authorization

headerAuthorizationBearer <token>

WorkOS access token (JWT) for a user who is a member of the partner organization. The organization the request is scoped to is taken from the token, not from a header or query parameter.

Only a JWT is accepted in this header. A Journey jny_ API key sent as a bearer token is rejected with 401 Invalid or expired token; send it in X-API-Key instead.

WorkOS organization API keys are not accepted yet.

Path Parameters

entityExternalId*string

External id of that organization, brand, or property.

entityType*string

The kind of entity the kit is attached to.

Value in"organization""brand""property"

Query Parameters

organizationId?string

Global (Journey staff) callers name the organization they act within.

Lengthlength <= 100

Request Body

application/json
  1. body
colors*array<>
Itemsitems <= 24
expectedVersion*number

The version that was loaded; 0 when the owner had no kit of its own.

Range0 <= value
favicons*array<>
Itemsitems <= 10
fonts*array<>
Itemsitems <= 10
logos*array<>
Itemsitems <= 10
name*string
Length1 <= length <= 255

Response Body

The stored theme kit.

curl -X PUT 'https://api-prd.cf.journey.com/v1/partner/theme-kits/organization/string' \  -H 'Content-Type: application/json' \  -d '{  "colors": [    {      "hex": "string",      "label": "string"    }  ],  "expectedVersion": 0,  "favicons": [    {      "isDefault": true,      "label": "string",      "url": "http://example.com"    }  ],  "fonts": [    {      "font": {        "family": "string",        "source": "custom"      },      "label": "string"    }  ],  "logos": [    {      "isDefault": true,      "label": "string",      "url": "http://example.com"    }  ],  "name": "string"}'
Empty