Disclosure lifecycle
Creating a disclosure starts asynchronous generation. Save the returned ID and retrieve the disclosure until it reaches a terminal state.
| Status | Meaning | Action |
|---|---|---|
pending |
The request was accepted; generation has not started. | Check again later. |
generating |
Paypercut is collecting and assembling information. | Check again later. |
ready |
The snapshot is available. | Read data and check coverage; download the document if needed. |
failed |
Generation did not complete. | Contact Paypercut support with the disclosure ID if you need help; create a new disclosure with a new key when you are ready to try again. |
ready and failed are terminal. A ready disclosure can have incomplete coverage: generation succeeded, but some information in the supported scope is unavailable or unverified. This is different from failed generation.
Poll at a reasonable interval with a timeout, as shown in the quickstart. If your timeout expires, retain the ID and check later; a client-side timeout does not change the disclosure. Listing returns summaries without data; retrieve an individual disclosure to read its information. For another page, pass the returned last_key unchanged with the same account and mode while has_more is true. The final page has an empty last_key; the default limit is 25 and the maximum is 100.
List disclosures
Use the account ID to list summaries in newest-first order:
curl --fail-with-body --get "https://api.paypercut.io/v1/accounts/$ACCOUNT_ID/regulatory_disclosures" \
-H "Authorization: Bearer $PAYPERCUT_SECRET_KEY" \
--data-urlencode 'limit=25'
An empty final page has this shape:
{
"object": "list",
"data": [],
"has_more": false,
"last_key": "",
"url": "/v1/accounts/acct_example/regulatory_disclosures"
}

