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"
}