Get a badge template
Fetches a single badge template. Requires an owner, admin, or staff role on the event.
/badges/{template_id}Fetches a single badge template. Requires an owner, admin, or staff role on the event.
Authorization
bearerAuth JWT issued by IdentityX, signed with Ed25519
In: header
Path Parameters
Badge template ID.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/badges/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"edition_id": "aeda7fca-56fe-426a-8c37-1876faaaf005",
"ticket_type_id": "eca4fbe0-9707-40d2-b5fb-9c6a9e458262",
"origin": "staff",
"name": "string",
"design_data": {},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"deleted_at": "2019-08-24T14:15:22Z"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 401,
"title": "Unauthenticated"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 403,
"title": "Insufficient Role"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 404,
"title": "Not Found"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 500,
"title": "Internal Server Error"
}Create a badge template POST
Creates a badge template for the edition (design data is opaque JSON consumed by the badge renderer). Set origin to "staff" for the edition's staff-only design (ticket_type_id must be absent); at most one staff template per edition. The actor must be an owner or admin of the event.
Update a badge template PATCH
Updates a badge template's name and/or design data. The target ticket type and origin are immutable — move a template by deleting and recreating it. Designs are read live, so emissions re-render automatically; no emails are sent. The actor must be an owner or admin of the event.