Credgenics Lending API
Loan and payment ingestion and retrieval.
Loan and payment ingestion and retrieval.
openapi: 3.1.0
info:
title: Credgenics Recovery Authentication Lending 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: Lending
description: Loan and payment ingestion and retrieval.
paths:
/recovery/v1/loans/{loan_id}:
get:
operationId: getLoan
tags:
- Lending
summary: Get loan details
description: Retrieve a loan by id, including applicant details, loan variables, allocation variables (outstanding, DPD, penalties), module-wise statuses, payments and tags.
parameters:
- $ref: '#/components/parameters/LoanId'
- $ref: '#/components/parameters/CompanyId'
- $ref: '#/components/parameters/AttributeLevels'
- $ref: '#/components/parameters/DataTypeConversion'
- $ref: '#/components/parameters/AuditInfo'
- $ref: '#/components/parameters/IdInfo'
responses:
'200':
description: Loan details.
content:
application/json:
schema:
type: object
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/recovery/v1/loan/{loan_id}:
post:
operationId: uploadLoan
tags:
- Lending
summary: Upload a loan
description: Upload new loan / EMI data for a loan id.
parameters:
- $ref: '#/components/parameters/LoanId'
- $ref: '#/components/parameters/CompanyId'
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Loan created.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
patch:
operationId: updateLoan
tags:
- Lending
summary: Update a loan
description: Update loan details for a loan id.
parameters:
- $ref: '#/components/parameters/LoanId'
- $ref: '#/components/parameters/CompanyId'
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Loan updated.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/recovery/payments/{loan_id}:
patch:
operationId: updatePayment
tags:
- Lending
summary: Update payment information
description: Record a payment against a loan. Supports recovery-amount bifurcation across EMI, late fees and penalties via prefixed keys such as `recovered_expected_emi`, `recovered_late_fee` and `recovered_penalty`.
parameters:
- $ref: '#/components/parameters/LoanId'
- $ref: '#/components/parameters/CompanyId'
- name: allocation_month
in: query
required: false
description: Allocation month in "YYYY-M-01" format (e.g. "2025-11-01").
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Payment updated.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
parameters:
AuditInfo:
name: audit_info
in: query
required: false
description: Include created/updated metadata.
schema:
type: boolean
LoanId:
name: loan_id
in: path
required: true
schema:
type: string
AttributeLevels:
name: attribute_levels
in: query
required: true
description: Controls which data sections are returned.
schema:
type: string
CompanyId:
name: company_id
in: query
required: true
description: Tenant company identifier, required on every resource request.
schema:
type: string
IdInfo:
name: id_info
in: query
required: false
description: Include internal system identifiers.
schema:
type: boolean
DataTypeConversion:
name: data_type_conversion
in: query
required: false
description: Convert values to proper types (boolean/int/float).
schema:
type: boolean
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
responses:
Unauthorized:
description: Authentication failure (session expired or invalid credentials).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Validation error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Route or resource not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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.