openapi: 3.1.0 info: title: Paradox Authentication 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: Authentication description: OAuth 2.0 token and JWT verification endpoints paths: /auth/token: post: operationId: getAuthToken summary: Paradox Get OAuth 2.0 access token description: Obtain an access token using OAuth 2.0 client credentials grant. The returned token should be included in the Authorization header as a Bearer token for subsequent API requests. tags: - Authentication security: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: - client_id - client_secret - grant_type properties: client_id: type: string description: Account ID provided by Paradox client_secret: type: string description: Secret key provided by Paradox grant_type: type: string enum: - client_credentials description: OAuth 2.0 grant type responses: '200': description: Access token issued successfully content: application/json: schema: type: object properties: access_token: type: string description: Bearer access token expires_in: type: integer description: Token expiration time in seconds token_type: type: string description: Token type (Bearer) '401': $ref: '#/components/responses/Unauthorized' /verify-jwt: post: operationId: verifyJwt summary: Paradox Verify JWT token description: Verify the validity of a JWT authentication token. tags: - Authentication responses: '200': description: Token is valid content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '401': $ref: '#/components/responses/Unauthorized' '432': description: Token expired components: schemas: SuccessResponse: type: object properties: success: type: boolean responses: Unauthorized: description: Authentication failed 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