---
title: "Read the business's e-signature enrollment (business)"
method: GET
path: "/compliance/esign/enrollment"
tags: ["compliance", "esign", "business", "customer-session"]
---

# Read the business's e-signature enrollment (business)

`GET /compliance/esign/enrollment`

## Request

- Base URL: `https://api.stablesea.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stablesea.com/compliance/esign/enrollment`
- Auth: none declared

Reports whether the caller accepts their business's MSA by e-signature — the business is enrolled and its allow-list, when it has one, names the caller — the provider this deployment uses, and how the embedded signing page reports progress (protocol and the only allowed message origin). A caller who is not enrolled reads enrolled:false and accepts by click-through. While e-signature is paused on this deployment, an enrolled caller also reads enrolled:false and accepts by click-through, unless a signature request holds the current MSA document named by document_id (or, without document_id, any current MSA document of their business): they keep signing that document by e-signature until the request ends. A document_id that is not one of the business's MSA documents is then 404 document_not_found, as accepting it is. A caller who signs by e-signature while it is not running on this deployment gets 503 — never enrolled:false, because click-through acceptance is refused for them. custody_contracts_enrolled says whether the caller signs their business's custody contracts by e-signature, in which case signing one by click-through is refused (409 esign_required).

## Query parameters

- `document_id` string, nullable: The MSA document the business page shows (doc_...). It matters only while e-signature is paused, for a caller who would otherwise sign by e-signature. That caller then reads enrolled:true only while this document is current and unaccepted and a signature request holds it, which is when click-through acceptance of it is refused for e-signature. A document that is not one of the business's MSA documents is then 404 document_not_found, as accepting it is. Without document_id, a request holding any current MSA document of the business counts.

## Response `200`

OK

- EsignEnrollmentOutput
  - `custody_contracts_enrolled` boolean, required
  - `embed` EsignEmbedOutput, required
    - `allowed_origin` string, required
    - `protocol` 'postmessage_v1' | 'redirect', required
  - `enrolled` boolean, required
  - `provider` string, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `503`: Service Unavailable
- `default`: Error response.

## Changes

- **2026-10-29** `e003c8a67b62`: 5 info
  - added the optional property `error/authorization` to the response with the `401` status
  - added the optional property `error/authorization` to the response with the `403` status
  - added the optional property `error/authorization` to the response with the `404` status
  - added the optional property `error/authorization` to the response with the `503` status
  - …1 more
- **2026-10-22** `9c05d53541bb`: 1 info
  - added the required property `custody_contracts_enrolled` to the response with the `200` status
- **2026-10-20** `227a18a46175`: 2 info
  - added the new optional `query` request parameter `document_id`
  - added the non-success response with the status `404`
- **2026-10-16** `d8ab48e744d6`: 1 info
  - api tag `customer-session` added
- **2026-10-07** `fe94c97bbbe7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stablesea/apis/stable-sea-backend/changes/compliance/esign/enrollment/get.md)

---

[API](https://skmtc.dev/stablesea/apis/stable-sea-backend.md) - [All operations](https://skmtc.dev/stablesea/apis/stable-sea-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/stablesea/apis/stable-sea-backend/revisions/772c80d83658?raw)
