A promoter
A promoter is an account, and the promoter is a user on it: a staff JWT, the selling permissions at channel scope, and access to their own channel. No new credential kind.
A promoter sells your tickets under their own name, on their own terms, to their own audience. In Ticketlayer that is an account, the same as an outlet, and the promoter is a user on it. There is no promoter credential and no choice to make between "staff" and "partner": the account is the business relationship, the channel is the terms, and the credential is only how this particular person arrives.
The credential. A staff JWT (high trust) from the identity issuer. The promoter
role grants the selling permissions at channel scope, and the promoter
has access to their own channel only, so every selling request carries
X-Ticketlayer-Channel: <their slug>. The buyer is the promoter's;
there is usually no customer to authenticate.
The four moments#
| Moment | What happens | Credential |
|---|---|---|
| List what is on sale | GET /events with the promoter's channel in the header returns what that channel sells: the events listed on it, in their sale windows, at its prices. | staff JWT plus X-Ticketlayer-Channel |
| Make an order | POST /cart with the channel header, items, checkout, then POST /orders/{id}/payments. The channel's fee profile and pinned payment method apply. | staff JWT plus X-Ticketlayer-Channel |
| Authenticate a customer | Usually not at all: the promoter is selling to their buyer, on behalf of them. | staff JWT |
| Read the order back | GET /orders/{id}, scoped to the promoter's channel. | staff JWT plus X-Ticketlayer-Channel |
Scope, access and the channel header#
The promoter role sells at channel scope, like box office staff and
unlike an organisation owner, a venue admin or an event manager, who hold
the same permissions at organisation scope and see everything without a
header. A promoter app therefore learns its channels once, at sign-in, from
GET /my/sales-channels, and sends the slug on every request after. A
request that names another channel is a 403; one that names none is a
400, so a promoter can never fall through to the organisation-wide view by
leaving the header off.
Granting a promoter access to a second channel is one grant, not a role change. Which events reach the channel is the channel's own event filter, which is configuration, not a permission.
A promoter with their own system#
A promoter whose own website sells online is the partner storefront case: a secret key issued for this same channel, on this same account. Same terms, same access, a different credential because a server is arriving rather than a person.