get/requests/v3

Request

  • Base URL: https://api.relay.link
  • URL: https://api.relay.link/requests/v3
  • Auth: none declared. Required headers: x-api-key

Query parameters

limitnumber

Maximum number of requests to return per page.

continuationstring

Pagination cursor returned by a previous response. Pass it back to fetch the next page.

includeTotalboolean

When true, also compute and return the total count of requests matching these filters (ignores limit/continuation). Adds latency — omit unless the total is needed.

userstring

Filter requests by wallet address — matches requests where this address is the sender or the deposit-address depositor.

termstring

Broad term search across request ID, wallet, deposit address, and all transaction hashes (deposit, fill, refund, failed, and chain entry transaction IDs). Use id, depositTxHash, fillTxHash, or refundTxHash for targeted single-field lookups.

idstring

Filter by requestId — the Relay-level intent identifier returned by the quote API.

orderIdstring

Filter by protocol-level orderId.

depositTxHashstring

Filter by deposit transaction hash.

fillTxHashstring

Filter by fill transaction hash.

refundTxHashstring

Filter by refund transaction hash.

originChainIdnumber

Filter requests where this is the origin chain.

destinationChainIdnumber

Filter requests where this is the destination chain. Requests are limited to the caller’s integrator and requests without an API key.

chainIdnumber

Get all requests for a single chain in either direction. Overridden by originChainId / destinationChainId. Requests are limited to the caller’s integrator and requests without an API key.

privateChainsToIncludestring

Comma-separated list of private chain UUIDs to include in results.

depositAddressstring

Filter requests associated with this deposit address.

recipientstring

Filter requests where this address is the recipient.

status'success' | 'failure' | 'refund' | 'pending' | 'depositing'

Filter requests by status.

failReason'UNKNOWN' | 'SLIPPAGE' | 'AMOUNT_TOO_LOW_TO_REFUND' | 'DEPOSIT_ADDRESS_MISMATCH' | 'DEPOSIT_CHAIN_MISMATCH' | 'INCORRECT_DEPOSIT_CURRENCY' | 'DOUBLE_SPEND' | 'SOLVER_CAPACITY_EXCEEDED' | 'SOLVER_BALANCE_TOO_LOW' | 'DEPOSITED_AMOUNT_TOO_LOW_TO_FILL' | 'NEGATIVE_NEW_AMOUNT_AFTER_FEES' | 'NO_QUOTES' | 'MISSING_REVERT_DATA' | 'REVERSE_SWAP_FAILED' | 'GENERATE_SWAP_FAILED' | 'TOO_LITTLE_RECEIVED' | 'EXECUTION_REVERTED' | 'NEW_CALLDATA_INCLUDES_HIGHER_RENT_FEE' | 'TRANSACTION_REVERTED' | 'TRANSACTION_TOO_LARGE' | 'ORIGIN_CURRENCY_MISMATCH' | 'NO_INTERNAL_SWAP_ROUTES_FOUND' | 'SWAP_USES_TOO_MUCH_GAS' | 'INSUFFICIENT_FUNDS_FOR_RENT' | 'SPONSOR_BALANCE_TOO_LOW' | 'ORDER_EXPIRED' | 'ORDER_IS_CANCELLED' | 'TRANSFER_FROM_FAILED' | 'TRANSFER_FAILED' | 'SIGNATURE_EXPIRED' | 'INVALID_SIGNATURE' | 'INSUFFICIENT_NATIVE_TOKENS_SUPPLIED' | 'TRANSFER_AMOUNT_EXCEEDS_ALLOWANCE' | 'TRANSFER_AMOUNT_EXCEEDS_BALANCE' | 'INVALID_SENDER' | 'ACCOUNT_ABSTRACTION_INVALID_NONCE' | 'ACCOUNT_ABSTRACTION_SIGNATURE_ERROR' | 'SEAPORT_INEXACT_FRACTION' | 'TOKEN_NOT_TRANSFERABLE' | 'ZERO_SELL_AMOUNT' | 'MINT_NOT_ACTIVE' | 'ERC_1155_TOO_MANY_REQUESTED' | 'INCORRECT_PAYMENT' | 'INVALID_GAS_PRICE' | 'FLUID_DEX_ERROR' | 'ORDER_ALREADY_FILLED' | 'SEAPORT_INVALID_FULFILLER' | 'INVALID_SIGNER' | 'MINT_QUANTITY_EXCEEDS_MAX_PER_WALLET' | 'MINT_QUANTITY_EXCEEDS_MAX_SUPPLY' | 'JUPITER_INVALID_TOKEN_ACCOUNT' | 'INVALID_NONCE' | 'ACCOUNT_ABSTRACTION_GAS_LIMIT' | 'CONTRACT_PAUSED' | 'SWAP_IMPACT_TOO_HIGH' | 'INSUFFICIENT_POOL_LIQUIDITY' | 'POOL_CAP_EXCEEDED' | 'TTL_EXPIRED' | 'DEPOSIT_CONFIRMATION_TIMEOUT' | 'ORPHANED_DEPOSIT_REFUND' | 'GASLESS_PERMIT_BALANCE_TOO_LOW' | 'MANUAL_ADMIN_REFUND' | 'QUOTED_GAS_LIMIT_EXCEEDED' | 'DESTINATION_TOKEN_TRANSFER_REJECTED' | 'DEPOSIT_REORGED' | 'BLOCKED_WALLET' | 'PROTOCOL_DEADLINE_EXPIRED' | 'TRANSACTION_NOT_INCLUDED' | 'TRANSACTION_SUBMISSION_FAILED' | 'N/A'

Filter requests by failure reason. Only returns requests that failed with this specific reason.

refundFailReason'AMOUNT_TOO_LOW_TO_REFUND' | 'NEGATIVE_NEW_AMOUNT_AFTER_FEES' | 'SWAP_CURRENCY_NOT_ON_ORIGIN' | 'REFUND_RECIPIENT_IS_VASP' | 'REFUND_RECIPIENT_IS_BLOCKED' | 'MANUAL_REFUND_REQUIRED'

Filter requests by refund failure reason.

apiKeystring

Filter requests by API key. Accepts a single value or a comma-separated list (OR matching). Maximum 50 values across apiKey and apiKeyId.

appIdstring

Filter by App IDs (app_id_<uuid>, comma-separated, maximum 50) owned by your integrator. Matches indexed App attribution across current and revoked keys.

apiKeyIdstring

Filter by API key IDs (lowercase key_id_<uuid>, comma-separated), owned by your integrator. OR matching with apiKey; maximum 50 values combined.

requestTypestring

Filter requests by requestType (case-insensitive). Supported values: Bridge, Crosschain Swap, Same-chain Swap, Send, Wrap, Unwrap, Call.

referrerstring

Filter requests by the exact referrer value supplied at quote time. Without apiKeyId or apiKey, returns only matching public keyless requests. Every supplied key must belong to the authenticating integrator. Includes matching requests for the selected keys and public requests with neither a recorded API key nor a legacy fill API key, regardless of age. Existing visibility restrictions still apply; public requests are not assigned to your integrator.

currencyInChainIdnumber

Filter by origin currency chain ID.

currencyOutChainIdnumber

Filter by destination currency chain ID. Requests are limited to the caller’s integrator and requests without an API key.

currencyInAddressstring

Filter by origin currency contract address.

currencyOutAddressstring

Filter by destination currency contract address. Requests are limited to the caller’s integrator and requests without an API key.

currencyInSymbolstring

Filter by origin currency symbol (e.g. USDC). Case-insensitive; matches across all chains.

currencyOutSymbolstring

Filter by destination currency symbol (e.g. USDC). Case-insensitive; matches across all chains. Requests are limited to the caller’s integrator and requests without an API key.

sortBy'createdAt' | 'updatedAt' | 'amountUsd'

Field to sort by.

sortDirection'asc' | 'desc'

Sort direction (default: desc for time fields, asc for amountUsd).

startTimestampnumber

Filter requests with createdAt ≥ this Unix timestamp (seconds). Applied to updatedAt instead when sortBy=updatedAt.

endTimestampnumber

Filter requests with createdAt ≤ this Unix timestamp (seconds). Applied to updatedAt instead when sortBy=updatedAt.

startBlocknumber

Filter by chain entry block number (inclusive lower bound). When originChainId is also set, scoped to origin-chain entries only.

endBlocknumber

Filter by chain entry block number (inclusive upper bound). When originChainId is also set, scoped to origin-chain entries only.

amountUsdMinnumber

Filter requests with currencyIn.amountUsd ≥ this value.

amountUsdMaxnumber

Filter requests with currencyIn.amountUsd ≤ this value.

appFeesAmountUsdMinnumber

Filter requests with total app fees USD ≥ this value.

appFeesAmountUsdMaxnumber

Filter requests with total app fees USD ≤ this value.

fillTimeMinnumber

Filter requests with fill time ≥ this value (seconds).

fillTimeMaxnumber

Filter requests with fill time ≤ this value (seconds).

featuresstring

Comma-separated feature flags to filter by. Requests must have at least one of the specified features. Supported values: gasless_execution, gasless_swap, fast_fill, gas_top_up, fixed_rate, app_fees, deposit_address, fee_sponsorship.

includeAuthenticatedDataboolean

When true, include fields available only to the authenticating integrator for their own requests.

includeChildRequestsboolean

Only effective when id is also provided. When true, returns the parent request AND any child requests. When false or omitted, only the exact request_id match is returned.

filtersstring

JSON-encoded array of filter-group objects. Fields within each group are AND'd; groups are OR'd. Prefix a key with 'not:' to negate it (must_not). Values can be a scalar or an array (OR semantics within the field). Example: [{"depositAddress":"0xabc","originChainId":8453},{"depositAddress":"0x123","originChainId":1}]. Negation example: [{"not:status":"failure"}]. Array value example: [{"not:status":["failure","refund"]}]. A value of null is a null-check ("is empty"/"is not empty") instead of an equality test, for any key. Null-check example: [{"depositAddress":null}] (is empty / does not exist), [{"not:depositAddress":null}] (is not empty / exists). null cannot be combined with real values in an array. At most 50 distinct string values across id, term, and grouped id/term filters (including negations) are allowed; a top-level id with includeChildRequests is excluded from this limit. Requests are limited to the caller’s integrator and requests without an API key. A referrer key (or not:referrer) without top-level apiKeyId or apiKey limits that group to public keyless requests. Optional key parameters must contain keys owned by the authenticating integrator. Referrer groups also include matching public keyless requests regardless of age; groups without a referrer retain their existing scope unless a top-level referrer is supplied.

Headers

x-api-keystring required

API key for authentication.

Response

Default Response

continuationstring
totalnumber

Total count of requests matching the given filters. Only present when includeTotal was true.

Changes

    • info

      added the new optional query request parameter appId

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status

    • warning

      added the new POOL_CAP_EXCEEDED enum value to the /// response property for the response status

    • info

      added the new optional query request parameter apiKeyId

    • info

      added the new enum value POOL_CAP_EXCEEDED to the query request parameter failReason