Overview
Welcome to the eventOne Developer Platform. This documentation is your starting point for building applications and integrations on top of the eventOne API — a GraphQL-first platform for event management.
What is eventOne?
eventOne is an event management platform that enables organizations to create, manage, and publish events — including schedules, speakers, venues, registrations, ticketing, and mobile audience engagement. The eventOne API gives third-party developers programmatic access to this data and functionality.
API Overview
The eventOne API is a GraphQL API powered by Apollo Server. All data reads and writes are performed through a single endpoint:
| Environment | Endpoint |
|---|---|
| Production | https://api.event1.io/graphql |
Note: A subset of operations (OAuth callbacks, OIDC endpoints) are handled by REST endpoints. These are documented where relevant.
Authentication
The eventOne API supports two authentication mechanisms for third-party applications.
OAuth 2.0 / OIDC (Recommended for Third-Party Apps)
eventOne is an OpenID Connect (OIDC) provider. Your application can authenticate users via the standard OAuth 2.0 Authorization Code flow.
Steps:
- Register an OAuth application under User Dropdown → Developer Settings in the eventOne dashboard.
- Redirect users to the eventOne authorization endpoint.
- Exchange the returned authorization code for an access token.
- Include the access token as a
Bearertoken in theAuthorizationheader of all API requests.
Authorization: Bearer <access_token>
Authorization endpoint:
GET https://api.event1.io/oauth/authorize
?response_type=code
&client_id=YOUR_CLIENT_ID
&redirect_uri=https://YOUR_APP/callback
&scope=openid api
&state=STATE
Token exchange:
POST https://api.event1.io/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&code=AUTHORIZATION_CODE
&redirect_uri=https://YOUR_APP/callback
Grant types supported: authorization_code, implicit, refresh_token
Personal Access Tokens (PATs)
For server-to-server integrations or scripting, you can generate a Personal Access Token from your account settings.
Authorization: Bearer <personal_access_token>
Core Concepts
Understanding these core resources will help you navigate the API effectively.
| Resource | Description |
|---|---|
Organization (Org) | The top-level entity. All events, members, and settings belong to an org. |
| Event | A conference, summit, meetup, or any other event managed under an org. |
| Attendee | A registered participant in an event. |
| Schedule | A collection of Days, Timeslots, and Sessions that make up an event program. |
| Speaker | A presenter or panelist associated with sessions. |
| Sponsor / Exhibitor | Organizations sponsoring or exhibiting at an event. |
| Room / Building | Physical or virtual venue spaces where sessions occur. |
| Page | Custom content pages attached to an event or org (e.g. About, Maps, Webviews). |
| Message | Push notification messages broadcast to event or org channels. |
| Feed | RSS feeds surfaced within the event app experience. |
| Registration / Order | Ticketing and registration records for attendees. |
Making Your First Request
Once you have an access token, try fetching your organization:
query GetMyOrg {
getOrg(slug: "your-org-slug") {
id
name
slug
events {
id
name
startDate
endDate
}
}
}
cURL example:
curl -X POST https://api.event1.io/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your_token>" \
-d '{"query": "{ getOrg(slug: \"your-org-slug\") { id name } }"}'
Key API Capabilities
Events
Create and manage events, including publishing/unpublishing and searching by location or date.
query {
getEvents(org: "your-org-slug") {
id
name
slug
published
startDate
endDate
}
}
Schedule
Build out an event program with days, timeslots, sessions, rooms, and buildings.
query {
getTimeslots(eventId: "event-id") {
id
name
startTime
endTime
sessions {
id
name
speakers { id name }
room { id name }
}
}
}
Registrations & Ticketing
Manage attendee registration forms, ticket types, and orders — with Stripe Connect powering payments.
Push Notifications (Messages)
Send targeted push notifications to event or org-level audiences via Firebase Cloud Messaging.
mutation SendMessage {
createMessage(message: {
orgId: "org-id"
eventId: "event-id"
channel: events
title: "Session starting soon"
body: "Keynote begins in 10 minutes in Hall A."
url: "https://yourevent.com/schedule"
}) {
id
}
}
Pagination & Filtering
List queries accept filter arguments using the Filter input type for date ranges and other fields. Refer to the full API reference for filter options available on each query.
Error Handling
The eventOne API returns standard GraphQL errors. All mutation responses also include a Response type for non-nullable operations:
type Response {
message: String!
id: ID
success: Boolean
}
Common HTTP status codes used by the REST layer:
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad request / validation error |
401 | Unauthenticated |
403 | Forbidden / insufficient permissions |
404 | Resource not found |
429 | Rate limited |
500 | Internal server error |
Rate Limiting
API requests are rate-limited to protect platform stability. If you receive a 429 Too Many Requests response, implement exponential backoff before retrying. Contact [email protected] if you need higher rate limits for your integration.
OAuth App Registration
To register a third-party OAuth application:
- Log in to the eventOne Dashboard.
- Navigate to User Dropdown → Developer Settings.
- Click New Application and provide:
- Application name
- Authorized redirect URIs
- Grant types
- Copy your Client ID and Client Secret from the application settings page.
Resources
| Resource | Link |
|---|---|
| Developer Support | [email protected] |
| Organization Website | event1.io |