openapi: 3.1.0 info: title: Credgenics Recovery Authentication API version: v1 description: REST API for the Credgenics debt collection and loan recovery platform. Lenders integrate loan, customer, payment and transaction data, and receive collections outcomes back. Authentication is a client-credentials exchange that returns a short-lived API token supplied in the `authenticationtoken` header; every resource request carries the tenant's `company_id` as a query parameter. This specification was generated faithfully from the public developer documentation at https://docs.credgenics.com/ — it captures the documented endpoints, headers and parameters only; request/response bodies are documented narratively and are represented here as open objects. contact: name: Credgenics Support email: support@credgenics.com url: https://docs.credgenics.com/ x-provenance: generated: '2026-07-18' method: generated source: https://docs.credgenics.com/#getting-started servers: - url: https://apiprod.credgenics.com description: Production security: - authenticationToken: [] tags: - name: Authentication description: Client-credentials access-token exchange. paths: /user/public/access-token: post: operationId: createAccessToken tags: - Authentication summary: Generate an API access token description: Exchange `client_id` and `client_secret` for a short-lived `api_key`. Default token expiry is 900 seconds (15 minutes); the maximum is 86400 seconds (24 hours). The client secret is valid for 6 months from creation. The response includes the token, its expiry, and a `company_details[]` array carrying the caller's `company_id`(s). security: [] requestBody: required: true content: application/json: schema: type: object required: - client_id - client_secret properties: client_id: type: string client_secret: type: string token_expiry_duration: type: integer description: Token lifetime in seconds. Default 900, max 86400. default: 900 responses: '200': description: Token issued. content: application/json: schema: type: object properties: api_key: type: string client_id: type: string expiry: type: string company_details: type: array items: type: object '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' components: responses: BadRequest: description: Validation error. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication failure (session expired or invalid credentials). content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Error: type: object description: Credgenics error envelope. Validation errors carry field-level messages under output.errors. properties: message: type: string success: type: boolean output: type: object properties: errors: type: object additionalProperties: type: string securitySchemes: authenticationToken: type: apiKey in: header name: authenticationtoken description: Short-lived API token obtained from POST /user/public/access-token. Supplied on every resource request.