GET /customers/:id/accounts/requests
Read an AccountCreationRequest, the partner-issued request that produced (or is producing) an account. Use this after POST /customers/:id/accounts returned request.status === "pending" to watch the registration settle.
Two access paths:
- By id:
GET /customers/:customer_id/accounts/requests/:request_id, the canonical fetch. Userequest.idfrom thePOSTresponse. - By idempotency key:
GET /customers/:customer_id/accounts/requests?idempotency_key=…, useful when retrying from a context that's lost the request id.
Path / query params
| Param | Type | Where | Notes |
|---|---|---|---|
customer_id | UUID | path | The customer the request was filed under. |
request_id | UUID | path | When fetching a specific request by id. |
idempotency_key | string | query | When looking up by the caller-supplied key. Mutually exclusive with request_id. Returns null if no request was filed with this key under this customer. |
Response 200
{
"id": "req_…",
"customer_id": "2f10…",
"kind": "fiat",
"shape": "us",
"origin": "virtual",
"currency": "USD",
"rails": ["ach", "wire"],
"status": "pending",
"idempotency_key": "abc-123",
"account_id": null,
"created_at": "2026-05-15T10:25:00Z",
"updated_at": "2026-05-15T10:25:00Z"
}The shape is AccountCreationRequest. Once status === "completed", account_id is set and you can look up the materialized account at GET /accounts/:id.
When looking up by idempotency key and no matching request exists, the response is null (no error).
Polling guidance
Whenever the initial create-account POST returns request.status === "pending", poll this endpoint until status transitions to completed or failed. Both origin: "external" and origin: "virtual" requests can stay pending: for external, the Account row already exists from the POST but the underlying registration still needs to confirm. For virtual, both account_id and status settle together when provisioning completes. A few seconds between polls is plenty.
(Once webhooks land, you'll be able to subscribe to account.activated and account.failed events instead of polling.)
Errors
404: request not found (or scoped to a different customer / org).
Example: by id
curl "$SEISMIC_ORCHESTRATION_URL/v0/customers/2f10…/accounts/requests/req_…" \
-H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY"Example: by idempotency key
curl "$SEISMIC_ORCHESTRATION_URL/v0/customers/2f10…/accounts/requests?idempotency_key=abc-123" \
-H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY"