List your faucet drips (status)
const url = 'https://example.com/v2/sandbox/faucet?status=PENDING&page=1&limit=20';const options = {method: 'GET', headers: {'X-CowriePay-Key': '<X-CowriePay-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/v2/sandbox/faucet?status=PENDING&page=1&limit=20' \ --header 'X-CowriePay-Key: <X-CowriePay-Key>'Sandbox only (same cpk_test_ rule as the drip request). Your workspace’s drips, newest first, each with its per-asset items INCLUDING the on-chain txid once broadcast and the error_message when an item failed, so a drip that could not be dispatched is visible instead of a 202 followed by silence. Poll this (or the single-drip endpoint) after a drip request; the funds then arrive as a normal deposit with its usual webhooks.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”Your drips, newest first.
object
A sandbox faucet drip and its per-asset items. Item txid is set once the item is broadcast on-chain (watch the matching deposit land with it); item error_message says why an item failed. Drip status aggregates the items (PARTIAL = some confirmed, some failed).
object
Full chain name (always a *_TESTNET chain: drips are sandbox-only).
The funded sandbox wallet address.
object
Human-readable units.
On-chain transaction id once broadcast; null before.
Why the item failed; null unless FAILED.
Example
{ "data": [ { "status": "PENDING", "items": [ { "status": "PENDING" } ] } ]}Live key used (code FAUCET_ONLY_SANDBOX) or insufficient scope.