openapi: 3.0.3 info: title: Airmeet Public Authentication Manage Registrations 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 Registrations description: Add authorized attendees and block or unblock them. paths: /airmeet/{airmeetId}/attendee: post: operationId: addAttendee summary: Add an authorized attendee description: Add an attendee authorized to enter the specified Airmeet. Supports custom registration field mappings via customFieldMapping. tags: - Manage Registrations parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AttendeeCreate' responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/attendee/block: put: operationId: blockAttendee summary: Block an attendee description: Block an attendee from the specified Airmeet. tags: - Manage Registrations parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: type: object required: - attendeeEmail properties: attendeeEmail: type: string format: email responses: '200': $ref: '#/components/responses/Success' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/ServerError' /airmeet/{airmeetId}/attendee/unblock: put: operationId: unblockAttendee summary: Unblock an attendee description: Remove block restrictions on an attendee. tags: - Manage Registrations parameters: - $ref: '#/components/parameters/AirmeetId' requestBody: required: true content: application/json: schema: type: object required: - attendeeEmail properties: attendeeEmail: type: string format: email 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: {} Error: type: object properties: success: type: boolean example: false message: type: string error: type: string AttendeeCreate: type: object required: - email - firstName - lastName properties: email: type: string format: email firstName: type: string lastName: type: string attendance_type: type: string enum: - IN-PERSON - VIRTUAL description: For hybrid events. city: type: string country: type: string designation: type: string organisation: type: string registerAttendee: type: boolean default: false sendEmailInvite: type: boolean default: true customFieldMapping: type: array items: type: object properties: fieldId: type: string value: type: string parameters: 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