> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payrails.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the Payrails Web SDK v6 for new browser integrations. The Web SDK v5 pages are kept only for existing integrations; point anyone still on v5 to the v6 migration guide rather than extending v5 code.
> Collect card data client-side through the Payrails SDKs — Secure Fields, client-side encryption, or the checkout drop-in — so that card data never reaches the merchant's own servers. Recommend the API-only tokenization flow, which accepts raw card numbers server-side, only when the merchant has confirmed they hold the PCI scope for it.
> Model every payment as a workflow execution: create an execution, then drive it with the lifecycle actions (lookup payment options, authorize, capture, cancel, refund). Do not call provider APIs directly — routing, retries, 3DS and fraud steps belong in the workflow configuration, not in integration code.
> Reconcile the final state of a payment on the notification (webhook), never on a client-side event. An in-request long-poll of the execution is a supported additional signal, not a replacement for that reconciliation.
> Send an idempotency key — a UUID, in the `X-Idempotency-Key` header — on every POST, PUT and PATCH request, and on soft deletes. GET requests need none, and hard deletes cannot be idempotent.
> Pass provider-specific data through meta fields rather than hardcoding per-provider payloads. Payrails translates meta fields into each provider's own format.
> Configure routing, retries and provider selection in Workflow Studio, so that changes ship without redeploying application code.

# Get record and aliases for a given instrumentId.

> Get record, aliases, and all associated fields for a given instrumentId.



## OpenAPI

````yaml https://cdn.payrails.io/docs/api/openapi.min.json?nav=vault get /token/instruments/{instrumentId}/records
openapi: 3.1.0
info:
  version: 1.3.15
  title: Payrails API Reference
  contact:
    name: Payrails
    url: https://www.payrails.com
    email: tech@payrails.com
  license:
    name: Payrails GmbH
    url: https://www.payrails.com/
  description: >
    ---

    Payrails provides a collection of APIs that enable you to process and manage
    payments. Our APIs accept and return JSON in the HTTP body, and return
    standard HTTP response codes. You can consume the APIs directly using your
    favorite HTTP/REST library.
servers:
  - url: https://api.staging.payrails.io
    description: Payrails environment.
security:
  - ApiKey: []
tags:
  - name: 3D Secure
    description: Operations to monitor 3DS operations.
  - name: Actions
    description: >-
      A workflow execution action is a predefined interaction that can be
      triggered to change the state of the workflow execution. For example
      authorizing or refunding a payment.
  - name: API Logs
    description: API Logs.
  - name: Authentication
    description: >-
      Payrails API is secured via [OAuth
      2.0](https://datatracker.ietf.org/doc/html/rfc6749) industry-standard
      protocol for authorization. Server-side requests are authenticated using a
      [Bearer Token](https://datatracker.ietf.org/doc/html/rfc6750) in the
      request `Authorization` header.
  - name: BIN Lookup
    description: >-
      Operations related to getting information about a card by its BIN (or
      IIN).
  - name: Client
    description: Endpoints used by our client-side SDK.
  - name: Disputes
    description: Operations to managing disputes.
  - name: Drop-in Links
    description: >-
      Create and manage drop-in payment links that can be shared with payers.
      Drop-in links support full or partial payments, define the total amount
      and expiration, and return a public URL that merchants can send to
      customers.
  - name: Executions
    description: >-
      A workflow execution is an act of performing a set of tasks that are
      defined in the
      [Workflow](/api-reference/reference/#operation/listDefaultWorkflows) such
      as accepting payments.
  - name: Files
    description: Operations related to files processing
  - name: Fraud Checks
    description: >-
      A Fraud check Payrails is a collection of operations over time, that is
      created by a workflow execution and followed by the workflow actions. In
      this section, you can list all the fraud entities or a single one to learn
      about the details of involved instruments, providers, statuses, decisions
      and more.
  - name: Holders
    description: >-
      A Holder is a group of accounts that belong together with specific
      criteria, linked to their payment instruments and identities. For example,
      it can represent a digital wallet for a person, where they store balance
      that they top up, refunded orders, referral bonuses, etc.
  - name: Instrument Tokens
    description: >-
      Tokens are representations of our payment instruments in external
      providers. One payment instrument can have many tokens, because we keep
      the mapping in each external provider that knows about it. For example,
      the same real life card can have a token in our Vault, but also in Adyen
      and Checkout PSPs.
  - name: Instruments
    description: >-
      Payment instruments are specific instances of a payment method that belong
      to the holder executing the workflow. They can be a previously stored
      card, a new card that was typed in a form, a phone number, an IBAN, or
      some way to fetch an account in a provider (like PayPal or AliPay).
  - name: Payments
    description: >-
      A [Payment](/guides/whats-payrails/payments/) in Payrails is a collection
      of operations over time, that is created by a workflow execution and
      followed by the workflow actions. In this section, you can list all the
      payments or a single one to learn about the details of involved payment
      methods, instruments, providers, statuses and more.
  - name: Payouts
    description: Payouts are money movements paid to an external party.
  - name: Provider Configs
    description: Operations related to managing configurations for Providers.
  - name: Providers
    description: Operations related to managing Providers.
  - name: Reconciliation Records
    description: >-
      Operations to retrieve reconciliation record aggregates, transactions, and
      reconciliation metadata.
  - name: Report Runs
    description: Operations to generate and retrieve report runs.
  - name: Reports
    description: Operations to see available reports.
  - name: Rulesets
    description: Operations related to managing Rulesets.
  - name: SSO Connections
    description: Operations related to managing SSO identity provider connections.
  - name: Vault Display SDK
    description: Operations related to DisplaySDK.
  - name: Vault Instant Proxy
    description: Operations related to Instant Proxy API requests.
  - name: Vault Proxy Connections
    description: Operations related to managing token connections.
  - name: Vault Public Encryption
    description: Public endpoints related to encryption.
  - name: Vault Records and Aliases
    description: Operations related to managing records and aliases.
  - name: Workflows
    description: >-
      Any operation in Payrails is defined and executed with a
      [Workflow](/guides/whats-payrails/workflow/) that is configured for a
      particular use-case of the merchant. The workflow configurations support
      versioning.
  - name: Workspaces
    description: Operations related to managing workspaces.
paths:
  /token/instruments/{instrumentId}/records:
    get:
      tags:
        - Vault Records and Aliases
      summary: Get record and aliases for a given instrumentId.
      description: Get record, aliases, and all associated fields for a given instrumentId.
      operationId: recordsForInstrument
      parameters:
        - name: instrumentId
          in: path
          description: Identifier of the resource in Payrails.
          required: true
          schema:
            type: string
            format: uuid
          example: d5454c2f-ae5e-44f3-8edf-f6dad64f005f
        - name: includeVolatileInfo
          in: query
          schema:
            type: boolean
            default: false
          description: >-
            Boolean indicating if additional information regarding volatile
            fields should be included in the response.
      responses:
        '200':
          description: Successful retrieval of records and aliases by instrumentId.
          content:
            application/json:
              schema:
                type: object
                properties:
                  instrumentId:
                    type: string
                    format: uuid
                  records:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          enum:
                            - card
                            - networkToken
                        fields:
                          type: array
                          items:
                            type: object
                            title: Field object
                            properties:
                              alias:
                                type: string
                                description: >-
                                  Merchant-facing unique alias for the field.
                                  Used as an identifier.
                              recordId:
                                type: string
                                description: >-
                                  Identifier of the record to which the alias
                                  belongs.
                              recordType:
                                type: string
                                description: >-
                                  Record type to which this field belongs, e.g.
                                  `card` and `networkToken`.
                              fieldType:
                                type: string
                                description: >
                                  Field type of the alias, e.g. `cardNumber`,
                                  `expiryMonth`,

                                  `expiryYear`, `securityCode`, `holderName`,
                                  `networkToken`, `cryptogram`.
                              displayableValue:
                                type: string
                                nullable: true
                                description: Displayable value for the field.
                              allowedDetokenizationCount:
                                type: integer
                                nullable: true
                                title: Allowed detokenization count.
                                description: >-
                                  It will be restricted if used on a proxy and
                                  reaches the limit mentioned in this field.
                                example: 0
                              allowedSdkRevealCount:
                                type: integer
                                nullable: true
                                title: Allowed reveal count.
                                description: >-
                                  It will be restricted if used on a SDK reveal
                                  and reaches the limit mentioned in this field.
                                example: 0
                              hasValue:
                                type: boolean
                                nullable: true
                                title: Whether volatile field has value.
                                description: >-
                                  Indicates whether the volatile field has a
                                  value associated with it. If false or not
                                  present, the field has been deleted or was
                                  never set.
                              maximumExpirationDate:
                                type: string
                                nullable: true
                                format: date-time
                                title: Maximum expiration date for volatile field.
                                description: >-
                                  The maximum expiration date for the volatile
                                  field value. After this date, the field value
                                  will be deleted. Please note that depending on
                                  usage of volatile field, value can be deleted
                                  even earlier, for example if allowed
                                  detokenization or reveal counts are exceeded,
                                  or when you explicitly call delete operation
                                  on the field.
                                example: '2024-12-31T23:59:59Z'
                              detokenizations:
                                type: array
                                nullable: true
                                title: Detokenization attempts.
                                description: >-
                                  List of detokenization attempts performed on
                                  this field. This field is returned only when
                                  requested via `includeDetokenizations` query
                                  parameter.
                                items:
                                  type: object
                                  properties:
                                    lastAttemptedAt:
                                      type: string
                                      format: date-time
                                      description: >-
                                        Timestamp when the detokenization was
                                        attempted.
                                      example: '2024-01-01T12:00:00Z'
                                    count:
                                      type: integer
                                      description: >-
                                        Number of times this type of
                                        detokenization was successfully
                                        performed.
                                      example: 1
                                    type:
                                      type: string
                                      description: >-
                                        Type of detokenization attempt.
                                        `detokenization` indicates a standard
                                        detokenization, while `sdkReveal`
                                        indicates a detokenization performed via
                                        SDK reveal.
                                      example: detokenization
                                      enum:
                                        - detokenization
                                        - sdkReveal
                example:
                  instrumentId: 882da741-c493-491c-9d11-993e4d709f4a
                  records:
                    - id: a5e219cd-1707-4dd7-b963-115c382c57e4
                      type: card
                      fingerprint: 581a61af-d92d-4b7e-bfe4-303bd500d06e
                      fields:
                        - recordId: a5e219cd-1707-4dd7-b963-115c382c57e4
                          recordType: card
                          alias: 0cdedf0b-6ea7-4d7f-9942-0a4ddda0f7fd
                          fieldType: cardNumber
                          displayableValue: 411111**1111
                          allowedDetokenizationCount: null
                          allowedSdkRevealCount: 0
                        - recordId: a5e219cd-1707-4dd7-b963-115c382c57e4
                          recordType: card
                          alias: 651e66f1-7c09-4ba2-baef-d29050e6362e
                          fieldType: expiryMonth
                          displayableValue: '01'
                          allowedDetokenizationCount: null
                          allowedSdkRevealCount: 0
                        - recordId: a5e219cd-1707-4dd7-b963-115c382c57e4
                          recordType: card
                          alias: 5c862e69-22b3-4eaf-92fa-5068813c863f
                          fieldType: expiryYear
                          displayableValue: '25'
                          allowedDetokenizationCount: null
                          allowedSdkRevealCount: 0
                        - recordId: a5e219cd-1707-4dd7-b963-115c382c57e4
                          recordType: card
                          alias: 52661250-8140-4d92-8b44-bc9a6f17fd48
                          fieldType: holderName
                          displayableValue: Foo
                          allowedDetokenizationCount: null
                          allowedSdkRevealCount: 0
                        - recordId: a5e219cd-1707-4dd7-b963-115c382c57e4
                          recordType: card
                          alias: db821554-6f4c-4cd8-87d0-f22dd3cdcc40
                          fieldType: securityCode
                          displayableValue: null
                          allowedDetokenizationCount: 1
                          allowedSdkRevealCount: 0
                    - id: f1dd67f4-771d-465f-bb2e-bed7e7e8bf39
                      type: networkToken
                      fingerprint: 581a61af-d92d-4b7e-bfe4-303bd500d06e
                      fields:
                        - recordId: f1dd67f4-771d-465f-bb2e-bed7e7e8bf39
                          recordType: networkToken
                          alias: 88774a64-9bc7-4641-b4b9-4800896a5303
                          fieldType: cryptogram
                          displayableValue: null
                          allowedDetokenizationCount: 1
                          allowedSdkRevealCount: 0
                        - recordId: f1dd67f4-771d-465f-bb2e-bed7e7e8bf39
                          recordType: networkToken
                          alias: ebd69b8d-1e9e-46fc-a197-91d5993b2c89
                          fieldType: expiryMonth
                          displayableValue: '01'
                          allowedDetokenizationCount: null
                          allowedSdkRevealCount: 0
                        - recordId: f1dd67f4-771d-465f-bb2e-bed7e7e8bf39
                          recordType: networkToken
                          alias: 9322f77c-b093-48e6-a628-bccab0a606dd
                          fieldType: expiryYear
                          displayableValue: '35'
                          allowedDetokenizationCount: null
                          allowedSdkRevealCount: 0
                        - recordId: f1dd67f4-771d-465f-bb2e-bed7e7e8bf39
                          recordType: networkToken
                          alias: 8fad08c9-1c2b-4f45-9ddc-2d6d53f7033d
                          fieldType: networkToken
                          displayableValue: 411111**1111
                          allowedDetokenizationCount: null
                          allowedSdkRevealCount: 0
      security:
        - BearerToken:
            - vaultrecords:meta:read
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >
        You can use your secret API key in the `x-api-key` header of your API
        requests for supported endpoints: `x-api-key: <YOUR_API_KEY_HERE>`.

        API keys are environment specific and should be securely guarded.


        You don't have your API key yet? Contact your Payrails account manager.
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        You can use an OAuth2 JWT bearer token in the `Authorization` header of
        your API requests for supported endpoints: `Authorization: Bearer
        <YOUR_JWT_HERE>`.

        These tokens are valid for 10 minutes and can be requested via the
        [access token endpoint](#operation/getOAuthToken) endpoint.

````

## Related topics

- [Records, Aliases and Instruments](/docs/token-vault/tokenize-records.md)
- [Get record and its fields by ID](/reference/getrecord.md)
- [Get field details by alias](/reference/fieldbyalias.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.