---
title: "Enrollment Status"
method: GET
path: "/api/enrollment_status"
tags: ["Enrollment"]
---

# Enrollment Status

`GET /api/enrollment_status`

## Request

- Base URL: `https://api.chargeblast.com`
- URL: `https://api.chargeblast.com/api/enrollment_status`
- Auth: none declared. Required headers: `X-API-Key`

Report your merchant's enrollment status for every program (Ethoca, CDRN, RDR, Amex, Discover). Each entry is `none`, `pending`, or `enrolled`. Enrollment via the API files a request, so a program stays `pending` until the provider-side enrollment confirms (which flips it to `enrolled`). The contributing descriptor records are included so you can correlate by descriptor name or BIN/CAID.

## Headers

- `X-API-Key` string, required

## Response `200`

OK

- EnrollmentStatusResponse
  - `programs` ProgramEnrollmentStatus[], required: Per-program enrollment status, one entry per program.
    - `program` string, required: Program name: `ethoca`, `cdrn`, `rdr`, `amex`, or `discover`.
    - `status` 'none' | 'pending' | 'enrolled', required: Aggregate enrollment state for a program: `none` (nothing on file), `pending` (requested, awaiting provider confirmation), `enrolled` (live with the provider).
    - `descriptors` EnrollmentStatusDescriptor[], required: The descriptor records contributing to this program's status.
      - `id` string, nullable: Descriptor record id.
      - `status` 'Pending' | 'Enrolled' | 'Disabled' | 'Surpressed' | 'Processing' | 'Rejected' | 'InReview' | 'PendingRemoval', required: Descriptor lifecycle state. `PendingRemoval` means an unenroll was requested for a previously `Enrolled` descriptor; it stays live until provider de-registration is confirmed, then the record is deleted.
      - `descriptorName` string, nullable: Billing descriptor name (Ethoca / CDRN / Amex / Discover). Null for RDR, which is keyed by BIN/CAID.
      - `bin` string, nullable: Card BIN (RDR only).
      - `caid` string, nullable: Card Acceptor ID (RDR only).
    - `arns` string[], required: RDR ARNs on file for the account. ARNs are stored on merchant settings rather than as descriptor records (RDR is confirmed at the BIN/CAID merchant level, not per ARN), so they are surfaced here for visibility. Always empty for non-RDR programs.

## Other responses

- `401`: Missing or invalid API key.

---

[API](https://skmtc.dev/chargeblast/apis/chargeblast-api-2.md) · [All operations](https://skmtc.dev/chargeblast/apis/chargeblast-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/chargeblast/apis/chargeblast-api-2/revisions/882dd27a5692?raw)
