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

# Look Up Schemes

> Find a scheme_code, check what it allows, and read NAV / settlement-calendar data before placing an order.

A **scheme** is a mutual fund product identified by `scheme_code`. Every
[purchase order](/api-documentation/purchase-orders) references one, so look
it up first — the endpoints here also tell you whether the scheme currently
allows purchase, redemption, switch, SIP, STP or SWP, and its minimums, so you
can validate client-side before submitting an order.

<Note>
  These endpoints are served entirely from data we ingest from the exchange's
  master files — there's no live call to the exchange on the request path, so
  latency is low and there's nothing to retry.
</Note>

## List schemes

```http theme={null}
GET /api/schemes/v1/?amc=&search=&plan=DIRECT&purchase_allowed=true&sip_allowed=true&limit=&cursor=
Authorization: Bearer <token>
```

| Query param                        | Notes                                                                        |
| ---------------------------------- | ---------------------------------------------------------------------------- |
| `amc`                              | Filter by AMC code.                                                          |
| `search`                           | Matches scheme name.                                                         |
| `plan`                             | `DIRECT` \| `REGULAR`.                                                       |
| `option`                           | e.g. `GROWTH`, `DIVIDEND`.                                                   |
| `category`                         | e.g. `EQUITY_LARGE_CAP`.                                                     |
| `purchase_allowed` / `sip_allowed` | `true` \| `false`.                                                           |
| `limit`, `cursor`                  | Standard pagination — see [Prerequisites](/api-documentation/prerequisites). |

Response `200`:

```json theme={null}
{
  "success": true,
  "data": [
    {
      "scheme_code": "AXBDGP-GR",
      "isin": "INF846K01131",
      "name": "Axis Bluechip Fund - Direct Growth",
      "amc_code": "AXF",
      "amc_name": "Axis Mutual Fund",
      "plan": "DIRECT",
      "option": "GROWTH",
      "category": "EQUITY_LARGE_CAP",
      "min_purchase": 500,
      "max_purchase": null,
      "purchase_multiple": 1,
      "min_additional": 100,
      "min_redemption_units": 0.001,
      "min_sip": 500,
      "sip_frequencies": ["MONTHLY", "QUARTERLY"],
      "sip_dates": [1, 5, 10, 15, 25],
      "purchase_allowed": true,
      "redemption_allowed": true,
      "switch_allowed": true,
      "sip_allowed": true,
      "stp_allowed": true,
      "swp_allowed": true,
      "settlement_type": "L1",
      "lock_in_days": 0,
      "exit_load": "1% before 12 months",
      "nav": { "value": 58.12, "date": "2026-09-01" },
      "updated_at": "2026-09-01T04:00:00Z"
    }
  ],
  "next_cursor": "eyJvZmZzZXQiOjUwfQ=="
}
```

## Get a single scheme

```http theme={null}
GET /api/schemes/v1/:code
```

Returns the same shape as one item above, as `data` (not a list).

## Settlement calendar

```http theme={null}
GET /api/schemes/v1/settlement-calendar?from=&to=
```

Business/settlement days by settlement type, used to work out when a
purchase or redemption will actually settle relative to the order date.

```json theme={null}
{
  "success": true,
  "data": [
    { "date": "2026-09-08", "settlement_type": "L1", "is_holiday": false },
    { "date": "2026-09-07", "settlement_type": "L1", "is_holiday": true }
  ]
}
```

### Fields

| Field                                                                                                        | Notes                                                                                                           |
| ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| `scheme_code`                                                                                                | Pass this as `scheme_code` on [purchase orders](/api-documentation/purchase-orders).                            |
| `min_purchase` / `max_purchase`                                                                              | Bounds for a `FRESH` purchase `amount`. `max_purchase` is `null` when uncapped.                                 |
| `purchase_multiple`                                                                                          | `amount` must be a multiple of this above the minimum.                                                          |
| `min_additional`                                                                                             | Minimum for an `ADDITIONAL` purchase into an existing folio.                                                    |
| `min_redemption_units`                                                                                       | Minimum `units` on a unit-based redemption.                                                                     |
| `purchase_allowed` / `redemption_allowed` / `switch_allowed` / `sip_allowed` / `stp_allowed` / `swp_allowed` | Whether the scheme currently accepts that transaction type — check before submitting the matching `order_type`. |
| `settlement_type`                                                                                            | Drives which rows in the settlement calendar apply to this scheme.                                              |
| `lock_in_days` / `exit_load`                                                                                 | Informational — surfaced for investor disclosure, not enforced by Atlas.                                        |
| `nav`                                                                                                        | Latest available NAV; may lag if the exchange hasn't published today's yet.                                     |

<Note>
  An unknown or disallowed `scheme_code` on an order is rejected synchronously
  with `400 VALIDATION_FAILED` — validating against this endpoint first avoids
  a round trip.
</Note>
