> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onnucleus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Reference Overview

> Interactive OpenAPI 3.0 specification covering all 600+ endpoints of the Nucleus Core Banking platform.

The Nucleus Core Banking API provides complete programmatic access to all banking domains.

## Interactive API Explorer

Mintlify natively renders the embedded OpenAPI 3.0 specification (`openapi.json`). You can inspect request schemas, parameter constraints, and live responses across all core modules:

<CardGroup cols={3}>
  <Card title="Clients & KYC" icon="users">
    CIF records, identity documents, BVN linking, and addresses.
  </Card>

  <Card title="Savings & Deposits" icon="piggy-bank">
    Savings accounts, fixed deposits, interest charts, and overrides.
  </Card>

  <Card title="Loans & Credit" icon="hand-holding-dollar">
    Loan products, origination, appraisal, approvals, and schedules.
  </Card>

  <Card title="Tellers & Cash" icon="vault">
    Cashiers, cash drawers, deposits, withdrawals, and allocations.
  </Card>

  <Card title="Accounting & GL" icon="chart-line">
    GL accounts, journal entries, rules, and financial closures.
  </Card>

  <Card title="Self-Service Banking" icon="mobile-screen-button">
    Headless APIs for custom iOS/Android mobile and web apps.
  </Card>
</CardGroup>

***

## Global Response Codes

| Status Code          | Description                                                                            |
| -------------------- | -------------------------------------------------------------------------------------- |
| `200 OK`             | The request succeeded and returned requested data.                                     |
| `201 Created`        | The entity was successfully created (returns resource ID and CIF/account numbers).     |
| `400 Bad Request`    | Validation failure (e.g. invalid date format, missing mandatory parameter).            |
| `401 Unauthorized`   | Invalid credentials, expired session token, or missing tenant header.                  |
| `403 Forbidden`      | Domain rule violation (e.g. onboarding at HQ instead of branch, maker self-approving). |
| `404 Not Found`      | Target resource does not exist under the active tenant.                                |
| `409 Conflict`       | Concurrency or duplicate constraint violation (e.g. duplicate CIF or external ID).     |
| `500 Internal Error` | Unexpected server fault (reported with correlation tracking ID).                       |

***

## Standard Error Response Payload

```json theme={null}
{
  "developerMessage": "The request was invalid. A specific parameter failed validation.",
  "httpStatusCode": "400",
  "defaultUserMessage": "Validation errors exist.",
  "userMessageGlobalisationCode": "validation.msg.validation.errors.exist",
  "errors": [
    {
      "developerMessage": "The parameter officeId is mandatory.",
      "defaultUserMessage": "The parameter officeId is mandatory.",
      "userMessageGlobalisationCode": "error.msg.client.officeId.cannot.be.blank",
      "parameterName": "officeId",
      "value": null
    }
  ]
}
```
