Skip to main content
The catalog endpoint returns the menu of sections and datasets you are allowed to export. Call it once at setup to discover dataset codes and their cursor fields, and again periodically to detect newly-activated datasets (datasets flip from available: false to available: true as they ship).

Request

Endpoint

GET {{base_url}}/lenders/{{lenderPublicId}}/exports/catalog
https://v3-api.cleargrid.ai/admin/v3

Headers

Authorization
string
required
Bearer token obtained from the Lender Login endpoint. Format: Bearer <access_token>.

Path parameters

lenderPublicId
string
required
Your lender public ID. Must equal the lenderId encoded in the JWT, otherwise the request returns 403.

Example request

curl -X GET \
  "https://stage-v3-api.cleargrid.ai/admin/v3/lenders/3f2b9c10-7d4e-4a91-8c2f-1e6a5b0d4477/exports/catalog" \
  -H "Authorization: Bearer <access_token>"

Response

All five sections (S1S5) and all 25 dataset codes are returned. Phase 1 datasets carry available: true; Phase 2 and reserved datasets carry available: false.
{
  "code": 200,
  "message": "Export catalog retrieved successfully",
  "body": {
    "schemaVersion": "v1",
    "sections": [
      {
        "code": "S1",
        "name": "Customers & Accounts",
        "datasets": [
          { "code": "D01", "name": "Borrowers", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D02", "name": "Borrower Accounts", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D03", "name": "Borrower Sub Accounts", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D04", "name": "Borrower Account Debt Logs", "cursorField": "created_at", "pageMax": 1000, "available": false },
          { "code": "D05", "name": "Borrower Account Events", "cursorField": "created_at", "pageMax": 1000, "available": true },
          { "code": "D06", "name": "Borrower Custom Attribute Logs", "cursorField": "created_at", "pageMax": 1000, "available": false }
        ]
      },
      {
        "code": "S2",
        "name": "Payments & Settlements",
        "datasets": [
          { "code": "D07", "name": "Borrower Payments", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D08", "name": "Borrower Payment Plans", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D09", "name": "Borrower Payment Plan Installments", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D10", "name": "Borrower Payment Plan Installment Logs", "cursorField": "created_at", "pageMax": 1000, "available": false },
          { "code": "D11", "name": "Borrower Payment Plan Logs", "cursorField": "created_at", "pageMax": 1000, "available": false },
          { "code": "D12", "name": "Scheduled Payments", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D13", "name": "Scheduled Payment Logs", "cursorField": "created_at", "pageMax": 1000, "available": false },
          { "code": "D14", "name": "Payment Proofs", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D15", "name": "Borrower Settlements", "cursorField": "updated_at", "pageMax": 1000, "available": true }
        ]
      },
      {
        "code": "S3",
        "name": "Collections Cases",
        "datasets": [
          { "code": "D16", "name": "Borrower Deals", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D17", "name": "Borrower Deal Activity Logs", "cursorField": "created_at", "pageMax": 1000, "available": true },
          { "code": "D18", "name": "Borrower Deal Logs", "cursorField": "created_at", "pageMax": 1000, "available": true },
          { "code": "D19", "name": "Deal Activity Logs", "cursorField": "created_at", "pageMax": 1000, "available": true },
          { "code": "D20", "name": "Deal Views", "cursorField": "updated_at", "pageMax": 1000, "available": true }
        ]
      },
      {
        "code": "S4",
        "name": "Communications",
        "datasets": [
          { "code": "D21", "name": "Communication Logs", "cursorField": "communicated_at", "pageMax": 1000, "available": true },
          { "code": "D22", "name": "Conversations", "cursorField": "updated_at", "pageMax": 1000, "available": true },
          { "code": "D23", "name": "Manual Communication Logs", "cursorField": "communicated_at", "pageMax": 1000, "available": true },
          { "code": "D24", "name": "Manual Communication Log Outcomes", "cursorField": "updated_at", "pageMax": 1000, "available": false }
        ]
      },
      {
        "code": "S5",
        "name": "Reference & Configuration",
        "datasets": [
          { "code": "D26", "name": "User Lender Details", "cursorField": "updated_at", "pageMax": 1000, "available": true }
        ]
      }
    ]
  },
  "errors": []
}

Response fields

code
integer
HTTP status code, mirrored in the body. 200 on success.
message
string
Human-readable result message.
body.schemaVersion
string
Version anchor for the catalog response shape. Currently "v1". Additive changes (new fields, new datasets) stay on v1. Breaking changes — if and when they happen — will land at a new endpoint path (/exports/v2/...) so existing pipelines keep working unchanged.
body.sections
array
Array of section objects.
errors
array
Always an empty array on success.

Use cases

  • Boot-time discovery — fetch once and build a client-side allowlist of (section, dataset) pairs where available: true.
  • Periodic re-check — fetch on a schedule (e.g. weekly) to detect datasets that have been newly activated for your tenant.

Need Help?

Our support team is available Monday-Friday, 9 AM - 6 PM GST. Reach out at support@cleargrid.co or visit our help center.