Create Support Agent
POST/api/support/admin/agents
Grants a support seat to an existing central sku.io user, looked up by email. If that user already has a seat (including a revoked one) the seat is re-activated and its role replaced with the one sent — this is also how you restore a revoked agent. The seat only takes effect (is_effective) once the user is a super admin; a seat for a non-super-admin is stored but grants nothing until they are one. The email lookup skips deleted users, so a seat cannot be granted to one (422). No notification email is sent.
support:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Request body
email(string, required) — the user's email; case-insensitive, max 255. Must belong to an existing central user.role(string, required) — one of: admin, agent, viewer.display_name(string, optional, nullable) — the name the agent signs with; max 100. Falls back to the user's name.signature(string, optional, nullable) — appended to outbound replies; max 2000.notifications(object, optional, nullable) — which agent notifications this seat receives. Keys:new_ticket,customer_reply,sla,mention(each boolean, optional). Keys you omit keep their default of true; unknown keys are ignored.
Response: 201 with the seat, including the resolved user_name, email, is_super_admin and is_effective.
Authentication: Bearer token with the support:write scope, or an authenticated session, from a caller with an active support role who also holds the support admin role. No tenant context — this endpoint is central.
Every seat carries is_deleted (its user has been removed from sku.io); such a seat is never is_effective.
Request
Responses
- 201
- 401
- 403
- 422
- 429
Created
Response Headers
Unauthorized
Response Headers
Forbidden
Response Headers
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.