JustOneEvent MCP server
JustOneEvent exposes an MCP (Model Context Protocol) server: connect Claude Desktop, Cursor or any compatible MCP client to create and manage your events in natural language.
Authentication
Generate an API key in your dashboard, then send it in the Authorization header of every request (personal key or OAuth token):
Authorization: Bearer joe_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Each key only acts on your account. Revocable at any time from the dashboard.
Connect
Generate an API key in your dashboard, then add this block to your MCP client config (replace the token):
{
"mcpServers": {
"justoneevent": {
"url": "https://www.justoneevent.com/mcp",
"headers": {
"Authorization": "Bearer joe_live_xxx"
}
}
}
}
Each key only acts on the account that created it. Revoke it anytime from the dashboard.
Endpoint reference
Click an endpoint to see its parameters, request body and an example response. All responses are JSON.
Authenticated — API key required
POST
/api/v1/events
Create an event (title, description, location, dates, capacity, visibility).
Request body
{
"title": "string (required, 3–200)",
"description": "string (required)",
"location": "string (required)",
"start_date": "string (required, ISO-8601)",
"end_date": "string (optional, defaults to start_date)",
"max_capacity": "integer (optional, 1–10000, default 100)",
"is_public": "boolean (optional, default false)",
"city": "string (optional, ≤120)",
"image_query": "string (optional, auto-fetch a stock cover)",
"custom_fields":[{ "label":"string", "field_type":"text|integer|select|multi_select|checkbox",
"required":false, "options":["…"] }]
}
Example responses
{ "id": "uuid", "slug": "my-event",
"event_url": "https://www.justoneevent.com/events/my-event",
"admin_url": "https://www.justoneevent.com/dashboard/events/uuid/edit" }
GET
/api/v1/me/events
List your events (active, past or all) with registration counts.
Parameters
status = active | past | all (default active)
limit = 1–100 (default 20)
Example responses
{ "items": [ { "id":"uuid","slug":"…","title":"…","start_date":"…",
"registration_count":0,"max_capacity":100,
"is_published":true,"is_cancelled":false,"event_url":"…" } ], "count": 1 }
GET
/api/v1/me/events/{id}
Get the details and registration stats of an event.
Example responses
{ "id":"uuid","slug":"…","title":"…","description":"…","location":"…",
"start_date":"…","end_date":"…","timezone":"UTC","max_capacity":100,
"is_published":true,"is_cancelled":false,
"registrations_total":0,"registrations_confirmed":0,"event_url":"…" }
GET
/api/v1/me/events/{id}/registrations
List an event's registrants (paid plans only).
Example responses
{ "items": [ { "name":"…","email":"…","registered_at":"…",
"status":"Confirmed","checked_in":false } ], "count": 1 }
POST
/api/v1/me/events/{id}/cancel
Cancel an event (explicit confirmation required).
Request body
{ "reason": "string (optional)" }
Example responses
{ "id":"uuid","cancelled":true,"reason":"…","registrants_notified":12 }
Public read-only — no key
GET
/api/v1/events
List public, published, upcoming events.
Parameters
limit = 1–100 (default 50)
offset = ≥0 (default 0)
GET
/api/v1/events/{slug}
Get a single public event by its slug.
GET
/api/v1/use-cases·
/api/v1/guides
Static lists of use-cases and guides (slugs + URLs).
OpenAPI
Full contract (all endpoints, fields and schemas): OpenAPI specification. Import it into Postman, Insomnia or a client generator.
Ready to connect your assistant?
Generate an API key in seconds from your dashboard.
Generate an API key