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

# Enrollment Status

`GET /api/enrollment_status`

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.net/chargeblast/apis/chargeblast-api.md) · [All operations](https://skmtc.net/chargeblast/apis/chargeblast-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/chargeblast/chargeblast-api/versions/9cc519753b33/schema)
