openapi: 3.0.3 info: title: Airmeet Public Authentication Manage Event API version: '1.0' description: 'The Airmeet Public API lets you programmatically manage events (Airmeets), registrations, sessions, speakers, booths and event series on the Airmeet virtual, hybrid and in-person events platform, and read back event engagement and attendance data. Authentication is a two-step flow: exchange an access key and secret key at POST /auth for a bearer access token (valid 30 days), then send that token as the X-Airmeet-Access-Token header on every other request. Several read endpoints (attendees, booth attendance, UTMs, replay attendance) are asynchronous and return a job/URL to poll for the result. Responses share a { "success": boolean, "data": ... } envelope.' contact: name: Airmeet Support email: support@airmeet.com url: https://help.airmeet.com/support/solutions/82000362508 termsOfService: https://www.airmeet.com/hub/terms-of-use/ servers: - url: https://api-gateway.airmeet.com/prod description: Default region (Mumbai) - url: https://api-gateway-prod.eu.airmeet.com/prod description: EU region - url: https://api-gateway-prod.us.airmeet.com/prod description: US region security: - accessToken: [] tags: - name: Manage Event description: Create and manage events, speakers, sessions, booths and landing pages. paths: /airmeet/{airmeetId}/booths: post: operationId: createBooth summary: Create a booth description: Add a booth to your Airmeet event. tags: - Manage Event parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BoothCreate' responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet: post: operationId: createAirmeet summary: Create an event description: Create an Airmeet in your community. tags: - Manage Event requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AirmeetCreate' responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/speaker: post: operationId: addSpeaker summary: Add a speaker description: Add a speaker to your Airmeet event. tags: - Manage Event parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SpeakerCreate' responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/session: post: operationId: createSession summary: Create a session description: Add a session to your Airmeet event. tags: - Manage Event parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SessionCreate' responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/session/{sessionId}: delete: operationId: deleteSession summary: Delete a session description: Delete a session in your Airmeet. tags: - Manage Event parameters: - $ref: '#/components/parameters/AirmeetId' - $ref: '#/components/parameters/SessionId' responses: '200': $ref: '#/components/responses/Success' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/status: post: operationId: updateAirmeetStatus summary: Update event status description: Start and end your Airmeet programmatically without visiting the dashboard. Status is one of ONGOING, PAUSED, FINISHED, ARCHIVE. tags: - Manage Event parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: type: object required: - status properties: status: type: string enum: - ONGOING - PAUSED - FINISHED - ARCHIVE responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/landing-page: put: operationId: customizeLandingPage summary: Customize the landing page description: Customize the landing page for your Airmeet. tags: - Manage Event parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: type: object properties: ambience: type: string layout: type: string highlightColor: type: string buttonTextColor: type: string imageUrl: type: string responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/duplication: post: operationId: duplicateAirmeet summary: Duplicate an event description: Duplicate an Airmeet. tags: - Manage Event parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: type: object properties: eventName: type: string startTime: type: string timezone: type: string duplicateSpeakers: type: boolean responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' components: responses: ServerError: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Missing or invalid credentials/token. content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/Error' Success: description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Envelope' schemas: Envelope: type: object properties: success: type: boolean data: {} SessionCreate: type: object required: - sessionTitle - sessionStartTime properties: sessionTitle: type: string sessionStartTime: type: string sessionDuration: type: integer hostEmail: type: string format: email speakerEmails: type: array items: type: string cohostEmails: type: array items: type: string type: type: string tracks: type: array items: type: string tags: type: array items: type: string boothId: type: string speedNetworkingData: type: object sessionMeta: type: object BoothCreate: type: object required: - name properties: name: type: string exhibitors: type: array items: type: string tags: type: array items: type: string metaData: type: object properties: chatEnabled: type: boolean loungeEnabled: type: boolean broadcastEnabled: type: boolean tableCount: type: integer exhibitorInfo: type: object SpeakerCreate: type: object required: - name - email properties: name: type: string email: type: string format: email organisation: type: string designation: type: string imageUrl: type: string bio: type: string city: type: string country: type: string Error: type: object properties: success: type: boolean example: false message: type: string error: type: string AirmeetCreate: type: object required: - hostEmail - eventName properties: hostEmail: type: string format: email eventName: type: string shortDesc: type: string startTime: type: string endTime: type: string timezone: type: string accessType: type: string eventType: type: string venueTitle: type: string registrationApprovalRequired: type: boolean venueCapacity: type: integer parameters: SessionId: name: sessionId in: path required: true schema: type: string description: Session identifier. AirmeetId: name: airmeetId in: path required: true schema: type: string description: Airmeet (event) identifier. securitySchemes: accessKey: type: apiKey in: header name: X-Airmeet-Access-Key description: Community access key, presented at POST /auth. secretKey: type: apiKey in: header name: X-Airmeet-Secret-Key description: Community secret key, presented at POST /auth. accessToken: type: apiKey in: header name: X-Airmeet-Access-Token description: Bearer access token issued by POST /auth, valid for 30 days. webhookAccessKey: type: apiKey in: header name: x-access-key description: Access key for webhook registration. webhookSecretKey: type: apiKey in: header name: x-secret-key description: Secret key for webhook registration. externalDocs: description: Airmeet Public API documentation url: https://help.airmeet.com/support/solutions/articles/82000467794-airmeet-public-api-introduction