Home Features Pricing Blog Docs
Log in Start for Free
English | Deutsch

Performers are the people or groups appearing at your events: DJs, bands, comedians, speakers. Each performer is account-scoped and can be assigned to any number of events via the event’s lineup.

GET /admin/performers

Returns all performers in your account, alphabetically by name. Includes a count of events each performer is assigned to.

curl -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  https://app.usetix.io/admin/performers

Response:

{
  "performers": [
    {
      "id": 17,
      "name": "DJ Snake",
      "performer_type": "person",
      "bio": "House DJ since 2010.",
      "bio_html": "<div class=\"trix-content\"><p>House DJ since 2010.</p></div>",
      "website_url": "https://djsnake.example.com",
      "instagram_url": null,
      "spotify_url": null,
      "soundcloud_url": null,
      "tiktok_url": null,
      "youtube_url": null,
      "image_url": null,
      "event_count": 3
    }
  ]
}

GET /admin/performers/:id

Returns a single performer along with the events they’re assigned to.

curl -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  https://app.usetix.io/admin/performers/17

The events array uses the same shape as the events endpoint.

POST /admin/performers

Creates a new performer.

curl -X POST \
  -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name": "Berlin Beats Collective", "performer_type": "performing_group", "bio": "<p>House and techno DJs from Berlin.</p>"}' \
  https://app.usetix.io/admin/performers

Body parameters:

Field Required Notes
name yes Display name. Unique within your account.
performer_type no person (default) or performing_group.
bio no Rich text. Accepts HTML; we sanitize unsafe tags and attributes server-side.
website_url no External URL.
instagram_url no External URL.
spotify_url no External URL.
soundcloud_url no External URL.
tiktok_url no External URL.
youtube_url no External URL.
image no signed_id from a direct upload.

Response: 201 Created with the performer JSON and a Location header.

PATCH /admin/performers/:id

Updates a performer. Send only the fields you want to change.

curl -X PATCH \
  -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"bio": "<p>Updated bio.</p>"}' \
  https://app.usetix.io/admin/performers/17

Response: 200 OK with the updated performer JSON.

DELETE /admin/performers/:id

Deletes a performer. Removing a performer also clears them from any event lineups they were assigned to (the events themselves remain).

curl -X DELETE \
  -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  https://app.usetix.io/admin/performers/17

Response: 204 No Content on success.

Performer fields

Field Type Notes
id integer Internal numeric ID. Path parameter.
name string Display name. Unique within the account.
performer_type string person or performing_group.
bio string | null Plain-text version of the bio (rich text body, stripped of HTML).
bio_html string | null Sanitized HTML version of the bio, ready to embed.
website_url string | null External URL.
instagram_url string | null External URL.
spotify_url string | null External URL.
soundcloud_url string | null External URL.
tiktok_url string | null External URL.
youtube_url string | null External URL.
image_url string | null URL to the performer’s image, if attached. Set via direct upload — pass the signed_id to image on create or update.
event_count integer Number of events this performer is assigned to (only present on index).