---
title: "Get saved card"
description: "Returns a single saved card by ID. Returns 404 if the card does not exist or is inactive, and 403 if the card belongs to a different tenant."
protocol: rest
method: GET
endpoint: "/v1/collections/cards/{card_id}"
baseUrl: "https://api.gravv.xyz"
group: "Collections"
auth:
  label: "Api-Key"
  name: "Api-Key"
  in: header
---

# Get saved card

<Endpoint method="GET" path="/v1/collections/cards/{card_id}" />

Returns a single saved card by ID. Returns 404 if the card does not exist or is inactive, and 403 if the card belongs to a different tenant.

## Path Parameters

<ParamField name="card_id" path="card_id" type="string" required>
  Saved card ID
</ParamField>

## Responses

| Status | Description |
| --- | --- |
| `200` | Saved card details |

### 200 response

<ResponseField name="data" type="object">

  <Expandable title="properties">
    <ResponseField name="id" type="string">
    </ResponseField>

    <ResponseField name="card_token" type="string">
    </ResponseField>

    <ResponseField name="card_last4" type="string">
    </ResponseField>

    <ResponseField name="card_brand" type="string">

      Possible values: `visa`, `mastercard`, `amex`, `discover`, `diners`, `jcb`, `unknown`
    </ResponseField>

    <ResponseField name="card_exp_month" type="string">
    </ResponseField>

    <ResponseField name="card_exp_year" type="string">
    </ResponseField>

    <ResponseField name="is_default" type="boolean">
    </ResponseField>

    <ResponseField name="is_expiring_soon" type="boolean">
      True when the card expires within 30 days
    </ResponseField>

    <ResponseField name="billing_info" type="object">
      Billing details associated with the saved card, if available

      <Expandable title="properties">
        <ResponseField name="first_name" type="string">
        </ResponseField>

        <ResponseField name="last_name" type="string">
        </ResponseField>

        <ResponseField name="email" type="string">
        </ResponseField>

        <ResponseField name="phone" type="string">
        </ResponseField>

        <ResponseField name="address1" type="string">
        </ResponseField>

        <ResponseField name="city" type="string">
        </ResponseField>

        <ResponseField name="state" type="string">
        </ResponseField>

        <ResponseField name="zip" type="string">
        </ResponseField>

        <ResponseField name="country" type="string">
        </ResponseField>

      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="string">
    </ResponseField>

  </Expandable>
</ResponseField>

<ResponseField name="error" type="null">
</ResponseField>

<ResponseExample>

```json title="Response"
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "card_token": "tokn_80aebb6ea2594a74bc215a64",
    "card_last4": "1111",
    "card_brand": "visa",
    "card_exp_month": "12",
    "card_exp_year": "2028",
    "is_default": true,
    "is_expiring_soon": false,
    "created_at": "2026-04-08T10:00:00Z"
  },
  "error": null
}
```

</ResponseExample>

## Authorization

- **ApiKeyAuth**
