> For the complete documentation index, see [llms.txt](https://docs.verygoodsecurity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verygoodsecurity.com/cmp/developer-resources/api/credential-management-v1-apis-calm/account-updater-v1/api-reference-v1/get-card-v1.md).

# Get Card - V1

Get Card - Get information on registered cards

## Get information on a specific enrolled card

> Returns information of enrolled card with the most up-to-date card information available from issuing banks and all VGS Account Updater capabilities.

```json
{"openapi":"3.0.0","info":{"title":"VGS Account Updater and Network Tokens APIs","version":"1.0.0"},"tags":[{"name":"Account Updater","description":"Cards enrolled in VGS Account Updater."}],"servers":[{"url":"https://calm.sandbox.verygoodsecurity.app","description":"Sandbox"},{"url":"https://calm.live.verygoodsecurity.app","description":"Live"}],"security":[{"OAuth2":["cards:read"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.verygoodsecurity.com/auth/realms/vgs/protocol/openid-connect/token","scopes":{"cards:write":"Grants write access to cards","cards:read":"Grants read access to cards","network-tokens:write":"Grants access to perform operations with network tokens","network-tokens:read":"Grants read access to the network tokens","merchants:write":"Grants write access to Merchant API","merchants:read":"Grants read access to Merchant API","merchants:admin":"Grants admin access to Merchant API"}}}}},"parameters":{"card_id":{"name":"card_id","in":"path","description":"ID of the card to fetch","required":true,"schema":{"type":"string","pattern":"^CRD.*$"}}},"responses":{"CardFetchResponse":{"description":"Enroll card API response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollCardData"}}}}},"schemas":{"EnrollCardData":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/EnrolledCard"}}},"EnrolledCard":{"allOf":[{"$ref":"#/components/schemas/CheckedCard"},{"type":"object","description":"Payment card object with billing address.","properties":{"billing_address":{"$ref":"#/components/schemas/BillingAddress"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/Capability"}}}},{"type":"object","required":["id","created_at","updated_at","state"],"properties":{"id":{"type":"string","description":"Unique reference identifier for this card"},"created_at":{"type":"string","format":"date-time","description":"Creation time, in UTC."},"updated_at":{"type":"string","format":"date-time","description":"Last time card was updated, in UTC."},"state":{"type":"string","description":"Current state of a card being processed:\n  * `enrolling` - card is in enrolling state and is not yet available for updates\n  * `enrolled` - card was successfully enrolled and is available for Push and Pull updates\n  * `failed` - card enrollment failed, see `failure_code` for details\n  * `closed` - card was closed, but can still be retrieved\n","enum":["enrolling","enrolled","failed","closed"]}}}]},"CheckedCard":{"allOf":[{"$ref":"#/components/schemas/Card"},{"type":"object","properties":{"failure_code":{"type":"string","enum":["account-updater-not-supported","merchant-not-found","invalid-exp-date","invalid-payload","invalid-param","internal-server-error"],"description":"Application-specific failure code which can only occur with failed state:\n  * `account-updater-not-supported` - Account Updater is not implemented for your card issuer\n  * `merchant-not-found` - No merchant was registered for organization\n"},"event":{"type":"string","description":"Current state of a card being processed:\n  * `au_card.valid` - Card is valid. Current Account and Expiration Date returned\n  * `au_card.updated` - Card was updated. New Account and Expiration Date returned\n  * `au_card.expired` - Card was expired. New Expiration Date returned\n  * `au_card.closed` - Card was closed.\n  * `au_card.non_participating` - BIN is not participating in AU\n  * `au_card.contact_cardholder_advice` - Cardholder has opted out and the merchant needs to contact cardholder for information\n  * `au_card.unknown` - BIN is participating in AU but there is no match yet\n  * `au_card.enrolled` - PAN and expiration date the merchant provided is up-to-date\n  * `au_card.opt_out` - Cardholder has opted out sharing credential information with the merchants\n","enum":["au_card.valid","au_card.updated","au_card.expired","au_card.closed","au_card.non_participating","au_card.contact_cardholder_advice","au_card.unknown","au_card.enrolled","au_card.opt_out"]}}}]},"Card":{"type":"object","description":"Payment card object.","required":["name","number","exp_month","exp_year"],"properties":{"name":{"maxLength":255,"description":"Card owner's full name.","type":"string"},"number":{"maxLength":19,"minLength":13,"pattern":"^(\\d{6}.{0,9}[a-zA-Z].{0,9}\\d{4}?)|((?:4[0-9]{12}(?:[0-9]{3})?)|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|(?:2131|1800|35\\d{3})\\d{11})$","description":"Customer's card number.","type":"string"},"exp_month":{"description":"Card's expiration month.","type":"integer","minimum":1,"maximum":12},"exp_year":{"description":"Card's expiration year.","type":"integer","minimum":0,"maximum":99},"cvv":{"description":"Card's cvv","type":"string","pattern":"^\\d{3,4}$"},"merchant":{"description":"AU merchant details.","type":"object","properties":{"vgs_merchant_id":{"maxLength":255,"description":"VGS merchant id.","type":"string"},"sub_merchant_name":{"maxLength":255,"description":"Sub merchant name. Required if you are submitting the card on behalf of a merchant.","type":"string"},"sub_merchant_mid":{"maxLength":255,"description":"Sub merchant MID. In some cases required for PayFac customers","type":"string"}}}}},"BillingAddress":{"description":"Internal schema for customer's billing.","type":"object","properties":{"name":{"maxLength":255,"type":"string"},"company":{"maxLength":255,"type":"string"},"address1":{"maxLength":255,"type":"string"},"address2":{"maxLength":255,"type":"string"},"city":{"maxLength":50,"type":"string"},"region":{"maxLength":50,"type":"string","description":"Principal subdivision in ISO 3166-2\n"},"country":{"maxLength":50,"type":"string","description":"ISO 3166 alpha 2 country code\n"},"postal_code":{"maxLength":50,"type":"string"},"phone":{"maxLength":50,"type":"string","description":"Telephone number in E.164\n"}}},"Capability":{"description":"CALM capabilities to enable.","type":"string","enum":["ACCOUNT_UPDATER","NETWORK_TOKEN"]},"CardApiErrors":{"type":"object","required":["errors","trace_id"],"properties":{"errors":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/CardApiError"},{"$ref":"#/components/schemas/GeneralError"}],"description":"List of errors that occurred while processing the request.","minItems":1}},"trace_id":{"description":"A unique identifier of the failed request.","type":"string"}}},"CardApiError":{"allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"error_code":{"type":"string","enum":["card-brand-not-supported","account-updater-not-supported","card-not-found","merchant-not-found"],"description":"Application-specific error code:\n  * `card-brand-not-supported` - Specified card brand is not supported, only Mastercard cards are supported\n  * `account-updater-not-supported` - Account Updater is not implemented for your card issuer\n  * `card-not-found` - Card is not enrolled in CALM\n  * `merchant-not-found` - No merchant was registered for organization and provided capability\n"}}}]},"Error":{"type":"object","description":"An error object","properties":{"detail":{"description":"Explanation of what exactly went wrong.","type":"string"}}},"GeneralError":{"additionalProperties":false,"allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"error_code":{"type":"string","enum":["internal-server-error","invalid-payload","validation-failed","unsupported-media-type"],"description":"Application-specific error code:\n  * `internal-server-error` - Something went wrong\n  * `invalid-payload` - Invalid request payload\n  * `validation-failed` - Request validation failed\n  * `unsupported-media-type` - Request media type is not supported\n"}}}]}}},"paths":{"/cards/{card_id}":{"get":{"tags":["Account Updater"],"summary":"Get information on a specific enrolled card","description":"Returns information of enrolled card with the most up-to-date card information available from issuing banks and all VGS Account Updater capabilities.","operationId":"getCard","parameters":[{"$ref":"#/components/parameters/card_id"}],"responses":{"200":{"$ref":"#/components/responses/CardFetchResponse"},"404":{"description":"Not found. Possible error codes:\n  * `card-not-found`\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardApiErrors"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneralError"}}}},"default":{"$ref":"#/components/responses/CardFetchResponse"}}}}}}
```

The following cURL command will get your card information from the VGS Account Updater.

{% code title="cURL" %}

```bash
curl --request GET https://calm.<ENVIRONMENT>.verygoodsecurity.app/cards/CRDuVQCsenqj6dbHFQq9gen2E \
-x https://<CREDENTIALS>@<VAULT_ID>.<ENVIRONMENT>.verygoodproxy.com:8443 -k \
-H "Content-type: application/json" \
-H "Authorization: Bearer ${VGS_ACCESS_TOKEN}"
```

{% endcode %}

VGS Account Updater returns a Card object in response to your API request.

{% code title="Response (application/json)" %}

```json
{
  "data": {
    "id": "CRDuVQCsenqj6dbHFQq9gen2E",
    "name": "John Doe",
    "number": "tok_svzgzzX8SDJMRjk93GVKG6b",
    "exp_month": 7,
    "exp_year": 24,
    "capabilities": [
      "ACCOUNT_UPDATER"
    ],
    "created_at": "2019-05-15T12:30:45Z",
    "updated_at": "2019-05-15T12:30:45Z",
    "state": "enrolled",
    "event": "au_card.enrolled"
  }
}
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verygoodsecurity.com/cmp/developer-resources/api/credential-management-v1-apis-calm/account-updater-v1/api-reference-v1/get-card-v1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
