SwaySway

API Overview

Pull your Sway data into your own website with the crew-scoped public API.

Sway Public API

The Sway Public API lets a crew (an artist agency or promoter collective) pull its Sway data into external websites — roster, events, venues, ticket tiers — and receive booking requests submitted from those sites. It is designed for partner websites: your agency site stays fully independent and talks to Sway only through the API.

The API is read-only except for one endpoint, POST /v1/booking-requests.


Base URL

https://www.sway.events/api/v1

All endpoints are versioned under /v1. Responses are JSON with snake_case keys.


Who gets access

API access is included in the Studio and Roster plans.

API keys are created from the crew admin: Crew admin → API. Each key belongs to exactly one crew — the key alone determines whose data you see, never a request parameter. If the crew's subscription lapses, its keys stop working until the subscription is active again.


The two visibility levels

Every resource you can reach through the API is either managed or public:

LevelWhat it coversWhat you get
ManagedPages linked to your crew (your artists, your promoters) and their eventsFull representation — bio, all external links including contact emails, gig history
Public (foreign)Resources embedded in your events but not managed by your crew — lineup guests, venuesReduced public representation: only what the Sway public page already shows. Marked "managed": false

Example — the lineup guest. Your promoter's event features a guest artist who is not part of your crew. That artist appears inline in the event's lineup with public fields only (name, image, genres) and "managed": false. You cannot fetch them directly: GET /v1/artists/{id} for a foreign artist returns 404.

Anything outside your crew's graph also returns 404 — never 403 — so the API reveals nothing about resources you cannot access.

Your crew's roster artists are returned even while unpublished — the roster is your own data. Every other resource (promoters, events, venues, and any embedded/foreign resource) is only returned once published; unpublished ones return 404 or are omitted from lineups.

Quickstart

Verify your key and see what it can do with the introspection endpoint:

curl https://www.sway.events/api/v1/me \
  -H "Authorization: Bearer sway_sk_YOUR_KEY"
{
  "key": {
    "id": "3f9a1c02-7b45-4c8e-9d21-0a1b2c3d4e5f",
    "scopes": ["read:profile", "read:artists", "read:promoters", "read:events", "read:venues"],
    "rate_limit": { "per_minute": 120, "per_day": 20000 }
  },
  "crew": { "id": "a2628d53-4f21-4c1e-9b7d-1a2b3c4d5e6f", "name": "Insomnia", "slug": "insomnia" }
}

The response is the object itself — single-resource endpoints are not wrapped in a data envelope (only list endpoints are).


Learn more

Authentication

API keys, scopes, rate limits and error format.

Endpoint reference

All 13 endpoints with parameters and response examples.

Pagination & filtering

Cursors, filters, expansion and visibility semantics.

Website integration

The recipe for powering a partner website with the API.