Skip to main content
Most endpoints return success, data, and a timestamp in epoch milliseconds. Errors commonly contain an error object with a stable code and a message. Some endpoints use a different shape; the operation’s API reference is the contract.

Read every page

Cursor-based lists return data, has_more, and next at the top level. Send next back as the next request’s query parameter, preserving the other filters:
Stop when has_more is false. The usual default limit is 10, with a maximum of 100. Search, SAT catalogs, and some metadata-filtered lists use page-based pagination instead. For example, catalog searches return found, page, and per_page; do not look for a next cursor in that response. Check the endpoint before writing a pagination loop.

Handle errors deliberately

Avoid duplicate writes

A timeout does not prove a write failed. Look up the result before repeating a creation, stamping, payment, or refund request. Use an idempotency key only where the endpoint documents one; gigstack does not promise a universal idempotency header. For callbacks, use the webhook guide. Event formats, signatures, and retry behavior differ between resource events and SAT synchronization events. See real error examples and verification coverage.