openapi: 3.1.0 info: title: Paradox Authentication Candidate Attributes 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: Candidate Attributes description: Manage custom candidate attribute data paths: /candidate/attributes/{oid}: get: operationId: getCandidateAttributes summary: Paradox Get candidate attributes description: Retrieve all current custom attributes for a specific candidate. tags: - Candidate Attributes parameters: - name: oid in: path required: true description: Candidate OID or external OID schema: type: string responses: '200': description: Candidate attributes returned successfully content: application/json: schema: type: object properties: success: type: boolean attributes: type: object additionalProperties: type: string maxLength: 255 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /candidate/attributes: patch: operationId: patchCandidateAttributes summary: Paradox Patch candidate attributes description: Partially update candidate attributes. Only the specified attributes will be modified; existing attributes not included will remain unchanged. tags: - Candidate Attributes requestBody: required: true content: application/json: schema: type: object required: - oid - attributes properties: oid: type: string description: Candidate OID or external OID attributes: type: object additionalProperties: type: string maxLength: 255 description: Key-value pairs of attributes to update responses: '200': description: Candidate attributes patched successfully content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' put: operationId: updateCandidateAttributes summary: Paradox Update candidate attributes description: Replace all candidate attributes with the provided set. Any attributes not included in the request will be removed. tags: - Candidate Attributes requestBody: required: true content: application/json: schema: type: object required: - oid - attributes properties: oid: type: string description: Candidate OID or external OID attributes: type: object additionalProperties: type: string maxLength: 255 description: Complete set of key-value attribute pairs responses: '200': description: Candidate attributes updated successfully content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' components: schemas: SuccessResponse: type: object properties: success: type: boolean responses: 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 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