List card issuing requests

Returns a paginated list of card issuing requests for the company. A card
issuing request is what the dashboard creates when a user asks for a card:
it captures the requested budget, interval, and (for physical cards) the
shipping details, and is later approved by Cardda — producing the actual
VendorCard and setting vendor_card_id.

Authorization is index? = admin? || in_company?. A non-admin caller
must therefore resolve a company they belong to — supplied via the
company-id header (or a company_id query param). With neither present the
caller has no company membership, fails the gate, and the request returns
401. Admins bypass the gate.

Once authorized, the result is scoped per-caller via policy_scope. That
scope is not limited to the resolved company: it spans every company where
the caller holds the card_issuing_requests_manage permission, plus the
caller's own requests. Roles within that scope:

  • Admins see every request.
  • Managers (card_issuing_requests_manage permission) see every request
    of the companies they manage.
  • Regular users see only their own requests (user_id matches their Firebase
    user id).

Each row includes the computed fields kyc_completed (whether the company
finished KYC) and shipping_municipality_name (municipality resolved from
the shipping address).

All operators in Filters are supported
on the columns below.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
uuid

Company-context fallback used when the company-id header is absent. A
non-admin caller must resolve a company they belong to (header or this
query param) to pass the in_company? gate; admins may omit both.

integer
≥ 0

If all the cards where in an array, this would represent the index of the first item returned in the response

integer
≥ 0

If all the cards where in an array, this would represent the index of the last item returned in the response

string
enum

The order method, which can be ascending or descending

Allowed:
string

The field used to sort, the example illustrates a response that would be sorted by the creation date

string

Filter by request id. Use id={"$in":[...]} for batch lookups.

string

Firebase user id of the requesting cardholder.

string
enum

Lifecycle status. Use $or/$in to paint a dashboard, e.g. hide
finished requests with status={"$nin":["accepted","declined"]}.

Allowed:
boolean

Whether the request is for a physical card.

string

Issuing partner selected at approval time (e.g. plh, pomelo, slash).

string

STI subclass derived from vendor_id.

string

Creation timestamp. Accepts a single ISO-8601 date-time string or a
JSON-encoded operator object ({"$gte":"...","$lt":"..."}). Schema is
type: string (no format) so both forms validate.

string

Logical OR across sub-conditions, e.g.
$or=[{"status":"pending"},{"status":"printing"}].

Headers
uuid
required

UUID of the company that owns the card.

Responses

401

Unauthorized — missing or invalid bearer token, or the caller is not
permitted to list card issuing requests (Pundit authorization failure).
A non-admin caller with no resolvable company context (no company-id
header and no company_id query param) fails the in_company? check and
lands here. Returned with an empty body.

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json