List adverse-action notice PDFs for an execution
GET
/api/v1/executions/{id}/notice_artifacts
executions:read
Metadata only; not paginated (page / per_page are ignored).
Download each file with getNoticeArtifact, which needs
executions:read:full. Requires executions:read.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired |
integer |
Execution id. Scoped to the calling api_client; a foreign id returns |
Responses
-
200 Artifact list
application/json-
dataarray of Artifact-
idinteger Artifact id; pass it as `artifact_id` to the matching download endpoint. -
objectstring One ofreport_artifactnotice_artifact -
execution_idinteger -
filenamestring -
content_typestring -
byte_sizeinteger -
generated_atstring (date-time), nullable -
downloadableboolean `false` when the record exists but its file is no longer stored. Downloading it then returns `404 not_found`.
-
-
metaMeta Meta for collections that are NOT paginated (artifact lists). The whole collection is always returned in one response and the `page` / `per_page` query parameters are ignored. The pagination fields are still present for shape compatibility but hold constant values: `page` is always 1, `total_pages` is always 1, and `per_page` equals `total_count`.Schema: StaticCollectionMeta
-
request_idstring required Correlation id for this request. Also sent as the `X-Request-Id` response header; quote it when contacting support. -
objectstring required -
total_countinteger required Number of items in `data`. -
pageinteger Always 1. One of1 -
per_pageinteger Always equal to `total_count`. -
total_pagesinteger Always 1. One of1
-
200 example{ "data": [ { "id": 1, "object": "report_artifact", "execution_id": 1, "filename": "Adverse_Action_Notice.pdf", "content_type": "application/pdf", "byte_size": 1, "generated_at": "2026-05-08T18:41:05Z", "downloadable": true } ], "meta": { "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "object": "report_artifact", "total_count": 2, "page": 1, "per_page": 1, "total_pages": 1 } } -
-
401 Missing, malformed, expired or revoked bearer token. The
WWW-Authenticateheader carries the RFC 6750 challenge.application/json401 example{ "error": { "code": "unauthorized", "message": "A valid bearer token is required.", "details": [], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/unauthorized" } } -
403 Token does not hold the required scope.
detailslists the scope(s) that were checked.application/json403 example{ "error": { "code": "insufficient_scope", "message": "This token does not have the required scope.", "details": [ { "field": "scope", "message": "executions:write" } ], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/insufficient_scope" } } -
404 Resource does not exist or belongs to another tenant / api_client
application/json404 example{ "error": { "code": "not_found", "message": "The requested resource was not found.", "details": [], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/not_found" } } -
429 Rate limit exceeded (60 req/min per IP on
/api/v1, 600 req/hour per token prefix, or 300 req/5 min per IP globally). The body is the standard error envelope andRetry-Aftergives the seconds until the window resets.application/json429 example{ "error": { "code": "rate_limited", "message": "Rate limit exceeded. Retry later.", "details": [], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/rate_limited" } }