openapi: 3.1.0 info: title: Paradox Authentication Location Rooms API description: API for the Paradox conversational AI recruiting platform powered by Olivia. Provides endpoints for managing candidates, users, interview scheduling, locations, company data, reporting, and candidate attributes. Paradox automates candidate screening, interview scheduling, and hiring workflows through chat, SMS, and mobile-driven experiences. version: 1.0.0 contact: name: Paradox Support url: https://www.paradox.ai/contact email: support@paradox.ai license: name: Proprietary url: https://www.paradox.ai/legal/service-terms termsOfService: https://www.paradox.ai/legal/service-terms servers: - url: https://api.paradox.ai/api/v1/public description: Production (US) - url: https://api.eu1.paradox.ai/api/v1/public description: Production (EU) - url: https://stgapi.paradox.ai/api/v1/public description: Staging (US) - url: https://api.stg.eu1.paradox.ai/api/v1/public description: Staging (EU) - url: https://testapi.paradox.ai/api/v1/public description: Test - url: https://dev2api.paradox.ai/api/v1/public description: Development security: - oauth2: [] - bearerAuth: [] tags: - name: Location Rooms description: Manage location rooms paths: /location/{location_id}/rooms: get: operationId: getLocationRooms summary: Paradox Get location rooms description: Retrieve all rooms for a specific location. tags: - Location Rooms parameters: - name: location_id in: path required: true description: Location identifier schema: type: string responses: '200': description: Rooms returned successfully content: application/json: schema: type: object properties: success: type: boolean rooms: type: array items: $ref: '#/components/schemas/Room' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: createLocationRoom summary: Paradox Create location room description: Create a new room within a location. tags: - Location Rooms parameters: - name: location_id in: path required: true description: Location identifier schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RoomCreate' responses: '200': description: Room created successfully content: application/json: schema: type: object properties: success: type: boolean room: $ref: '#/components/schemas/Room' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /location/{location_id}/rooms/{room_id}: get: operationId: getLocationRoom summary: Paradox Get single location room description: Retrieve details for a specific room within a location. tags: - Location Rooms parameters: - name: location_id in: path required: true description: Location identifier schema: type: string - name: room_id in: path required: true description: Room identifier schema: type: string responses: '200': description: Room details returned successfully content: application/json: schema: type: object properties: success: type: boolean room: $ref: '#/components/schemas/Room' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateLocationRoom summary: Paradox Update location room description: Update an existing room within a location. tags: - Location Rooms parameters: - name: location_id in: path required: true description: Location identifier schema: type: string - name: room_id in: path required: true description: Room identifier schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RoomCreate' responses: '200': description: Room updated successfully content: application/json: schema: type: object properties: success: type: boolean room: $ref: '#/components/schemas/Room' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' delete: operationId: deleteLocationRoom summary: Paradox Delete location room description: Delete a room within a location. tags: - Location Rooms parameters: - name: location_id in: path required: true description: Location identifier schema: type: string - name: room_id in: path required: true description: Room identifier schema: type: string responses: '200': description: Room deleted successfully content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: Room: type: object description: A room within a location used for interviews properties: oid: type: string description: Room identifier name: type: string description: Room name location_id: type: string description: Parent location identifier capacity: type: integer description: Room capacity active: type: boolean description: Whether the room is active SuccessResponse: type: object properties: success: type: boolean RoomCreate: type: object description: Request body for creating a new room required: - name properties: name: type: string description: Room name capacity: type: integer description: Room capacity responses: Unauthorized: description: Authentication failed content: application/json: schema: type: object properties: success: type: boolean const: false message: type: string BadRequest: description: Invalid request data content: application/json: schema: type: object properties: success: type: boolean const: false message: type: string NotFound: description: Resource not found content: application/json: schema: type: object properties: success: type: boolean const: false message: type: string securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 client credentials authentication flows: clientCredentials: tokenUrl: /auth/token scopes: {} bearerAuth: type: http scheme: bearer bearerFormat: JWT description: Bearer token obtained from the OAuth 2.0 token endpoint externalDocs: description: Paradox API Documentation url: https://readme.paradox.ai/docs