Evervault Network Tokens API

The Network Tokens API from Evervault — 5 operation(s) for network tokens.

OpenAPI Specification

evervault-network-tokens-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Evervault Network Tokens API
  version: 0.0.1
  description: The Evervault API allows developers to interact programmatically with their Evervault apps using HTTP requests.
  contact:
    email: support@evervault.com
    name: Evervault Support Team
    url: https://evervault.com
servers:
- url: https://api.evervault.com
  description: The Evervault API server
tags:
- name: Network Tokens
paths:
  /payments/network-tokens:
    post:
      x-section: Payments
      x-group: Network Tokens
      summary: Create a Network Token
      description: 'Create a Network Token for a given card.

        '
      operationId: createNetworkToken
      tags:
      - Network Tokens
      security:
      - ApiKey:
        - networkToken:create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                card:
                  description: The card to tokenize. Either an inline card object or the unique identifier of a Card created with the [Cards API](/api#cards).
                  oneOf:
                  - type: object
                    description: An inline card object.
                    properties:
                      number:
                        type: string
                        description: The card number. Needs to be an Evervault-encrypted card number or a plaintext card number.
                        example: '4242424242424242'
                      expiry:
                        allOf:
                        - $ref: '#/components/schemas/CardExpiry'
                        description: The card expiry date. The expiry must be in the current month or later. Expired cards are rejected before tokenization.
                      cvc:
                        type: string
                        description: The card security code. Needs to be an Evervault-encrypted CVV or a plaintext CVV.
                        example: '123'
                    required:
                    - number
                    - expiry
                  - type: string
                    description: The unique identifier of a Card created with the [Cards API](/api#cards).
                    example: card_eead1d640d7c
                merchant:
                  type: string
                  description: The unique identifier of the Merchant previously created using the Evervault API. It denotes the Merchant to which the Network Token should be associated with.
                  example: merchant_ddsaJsda9d86
              required:
              - card
              - merchant
            examples:
              EvervaultEncryptedExample:
                value:
                  card:
                    number: ev:debug:Tk9D:number:nTepvAI585M7lUVp:AkJ6Brzat0E7ui8DSKCSXO7AopU/+GFuBekQ6cGx7eTl:sfihK53itmHp+URxomnTITUpwQwM5nnRrnQ0qdIOUlA=:$
                    expiry:
                      month: 09
                      year: '26'
                    cvc: ev:debug:Tk9D:number:2GW8Nk96yfb2UXcw:A4UOUDGNb16Q//uBYVPibmfJ2734IrvPAoVY+8PvGG0C:5jtAu8KN1HiPeCNqSDCKMapfpg==:$
                  merchant: merchant_ddsaJsda9d86
              PlaintextCardExample:
                value:
                  card:
                    number: '4242424242424242'
                    expiry:
                      month: 09
                      year: '26'
                    cvc: '123'
                  merchant: merchant_ddsaJsda9d86
      responses:
        '201':
          description: Returns a Network Token object.
          x-content: 'Returns the [Network Token object](#the-network-token-object) that was created.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkToken'
              examples:
                EvervaultEncryptedExample:
                  summary: Network Token created with encrypted card details
                  value:
                    id: network_token_eead1d640d7c
                    number: '4498004918463434'
                    expiry:
                      month: '13'
                      year: '25'
                    card:
                      lastFour: '4242'
                      expiry:
                        month: 09
                        year: '26'
                      brand: visa
                      country: us
                      currency: usd
                      funding: debit
                      segment: consumer
                      issuer: Gringotts Wizarding Bank and Trust Company
                    paymentAccountReference: 512381d9f8e0629211e3949a08002
                    tokenRequestorIdentifier: '40020248564'
                    tokenServiceProvider: vts
                    merchant: merchant_ddsaJsda9d86
                    status: active
                    createdAt: 1692972623233
                    updatedAt: 1692972623768
                PlaintextCardExample:
                  summary: Network Token created with plaintext card details
                  value:
                    id: network_token_eead1d640d7c
                    number: '4498004918463434'
                    expiry:
                      month: '13'
                      year: '25'
                    card:
                      lastFour: '4242'
                      expiry:
                        month: 09
                        year: '26'
                      brand: visa
                    paymentAccountReference: 512381d9f8e0629211e3949a08002
                    tokenRequestorIdentifier: '40020248564'
                    tokenServiceProvider: vts
                    merchant: merchant_ddsaJsda9d86
                    status: active
                    createdAt: 1692972623233
                    updatedAt: 1692972623768
        '400':
          description: 'The request was invalid or cannot be otherwise served.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                IneligibleCard:
                  summary: Ineligible Card
                  value:
                    code: payments/network-tokens/ineligible-card
                    title: Ineligible Card
                    detail: The card is not eligible for tokenization. This may be due to the card issuer not supporting tokenization.
                InvalidCard:
                  summary: Ineligible Card
                  value:
                    code: payments/network-tokens/invalid-card
                    title: Invalid Card
                    detail: The provided card details did not pass verification checks. This may be due to an invalid card number, an incorrect CVC, or a discrepancy between the provided and actual card expiry date.
                ExpiredCard:
                  summary: Expired Card
                  value:
                    code: payments/network-tokens/expired-card
                    title: Expired Card
                    detail: The card has expired.
                DeclinedTokenization:
                  summary: Declined Tokenization
                  value:
                    code: payments/network-tokens/declined-tokenization
                    title: Declined Tokenization
                    detail: Tokenization for the given card was declined by the card issuer. This may be due to restrictions related to the card type, issuer policies, or the card's current status
        '422':
          description: 'Unprocessable Entity

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                MerchantNotReady:
                  summary: Merchant Not Ready
                  value:
                    code: payments/network-tokens/merchant-not-ready
                    title: Merchant Not Ready
                    detail: The merchant is not yet ready for tokenizing cards. Enrolling a merchant for network tokenization can take up to 48 hours. Please try again later.
                TokenServiceProviderProvisioning:
                  summary: Token Service Provider Provisioning
                  value:
                    code: payments/network-tokens/token-service-provider-provisioning
                    title: Token Service Provider Provisioning
                    detail: The Token Service Provider is currently provisioning. This may take up to 48 hours to complete. Please try again later. Contact support@evervault.com if this continues after 48 hours.
        '500':
          description: 'An error occurred while processing the request.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                UnavailableTokenServiceProvider:
                  summary: Unavailable Token Service Provider
                  value:
                    code: payments/network-tokens/unavailable-token-service-provider
                    title: Unavailable Token Service Provider
                    detail: The Token Service Provider is unavailable. Please try again later.
  /payments/network-tokens/{network_token_id}:
    get:
      x-section: Payments
      x-group: Network Tokens
      summary: Retrieve a Network Token
      description: 'Retrieves a Network Token by its unique identifier.

        '
      operationId: getNetworkToken
      tags:
      - Network Tokens
      security:
      - ApiKey:
        - networkToken:read
      parameters:
      - name: network_token_id
        in: path
        description: The unique identifier of the Network Token.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns a Network Token object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkToken'
              examples:
                SuccessfulRetrieval:
                  summary: Successful Retrieval
                  value:
                    id: network_token_eead1d640d7c
                    number: '4498004918463434'
                    expiry:
                      month: '13'
                      year: '25'
                    card:
                      lastFour: '4242'
                      expiry:
                        month: 09
                        year: '26'
                      brand: visa
                      country: us
                      currency: usd
                      funding: debit
                      segment: consumer
                      issuer: Gringotts Wizarding Bank and Trust Company
                    paymentAccountReference: 512381d9f8e0629211e3949a08002
                    tokenRequestorIdentifier: '40020248564'
                    tokenServiceProvider: vts
                    merchant: merchant_ddsaJsda9d86
                    status: active
                    createdAt: 1692972623233
                    updatedAt: 1692972623768
    delete:
      x-section: Payments
      x-group: Network Tokens
      summary: Delete a Network Token
      description: 'Deletes a Network Token by its unique identifier.

        '
      operationId: deleteNetworkToken
      tags:
      - Network Tokens
      security:
      - ApiKey:
        - networkToken:delete
      parameters:
      - name: network_token_id
        in: path
        description: The unique identifier of the Network Token.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Deletes a Network Token object.
          content:
            application/json:
              examples:
                SuccessfulDeletion:
                  summary: Network Token successfully deleted
                  value: {}
  /payments/network-tokens/{network_token_id}/cryptograms:
    post:
      x-section: Payments
      x-group: Network Tokens
      summary: Create a Cryptogram
      description: 'Creates a Network Token Cryptogram.

        '
      operationId: createNetworkTokenCryptogram
      tags:
      - Network Tokens
      security:
      - ApiKey:
        - networkToken:createCryptogram
      parameters:
      - name: network_token_id
        in: path
        description: The unique identifier of the Network Token.
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Returns a Network Token Cryptogram object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkTokenCryptogram'
              examples:
                SuccessfulCreation:
                  summary: Network Token Cryptogram created
                  value:
                    id: network_token_cryptogram_eead1d640d7c
                    cryptogram: NTk0ZjM5M2QyNDMwNDE1MjkzMjg1ZTg5Y2NiZjdmNjE=
                    createdAt: 1692972623233
  /payments/network-tokens/{network_token_id}/simulate:
    post:
      x-section: Payments
      x-group: Network Tokens
      summary: Simulate a Network Token Update
      description: 'Simulates an update to a Network Token so that you can test your integration. Sandbox only.

        '
      operationId: simulateNetworkTokenUpdate
      tags:
      - Network Tokens
      security:
      - ApiKey:
        - networkToken:create
      parameters:
      - name: network_token_id
        in: path
        description: The id of the Network Token
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                updateType:
                  type: string
                  description: The type of update to simulate.
                  enum:
                  - new-token-status
                  - new-card-expiry-and-last-four
                  - new-token-expiry-and-number
            examples:
              NewTokenExpiryAndNumberExample:
                value:
                  updateType: new-token-expiry-and-number
              NewCardExpiryAndLastFourExample:
                value:
                  updateType: new-card-expiry-and-last-four
              NewTokenStatusExample:
                value:
                  updateType: new-token-status
      responses:
        '200':
          description: Returns the updated Network Token object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkToken'
              examples:
                NewTokenExpiryAndNumberExample:
                  summary: New token expiry and number
                  value:
                    id: network_token_eead1d640d7c
                    number: '4498004918463434'
                    expiry:
                      month: '13'
                      year: '25'
                    card:
                      lastFour: '4242'
                      expiry:
                        month: 09
                        year: '26'
                      brand: visa
                      country: us
                      currency: usd
                      funding: debit
                      segment: consumer
                      issuer: Gringotts Wizarding Bank and Trust Company
                    paymentAccountReference: 512381d9f8e0629211e3949a08002
                    tokenRequestorIdentifier: '40020248564'
                    tokenServiceProvider: vts
                    merchant: merchant_ddsaJsda9d86
                    status: active
                    createdAt: 1692972623233
                    updatedAt: 1692972623768
                NewCardExpiryAndLastFourExample:
                  summary: New card expiry and last four
                  value:
                    id: network_token_eead1d640d7c
                    number: '4498004918463434'
                    expiry:
                      month: '13'
                      year: '25'
                    card:
                      lastFour: '4242'
                      expiry:
                        month: 09
                        year: '26'
                      brand: visa
                    paymentAccountReference: 512381d9f8e0629211e3949a08002
                    tokenRequestorIdentifier: '40020248564'
                    tokenServiceProvider: vts
                    merchant: merchant_ddsaJsda9d86
                    status: active
                    createdAt: 1692972623233
                    updatedAt: 1692972623768
                DeactivateTokenExample:
                  summary: Inactive token
                  value:
                    id: network_token_eead1d640d7c
                    number: '4498004918463434'
                    expiry:
                      month: '13'
                      year: '25'
                    card:
                      lastFour: '4242'
                      expiry:
                        month: 09
                        year: '26'
                      brand: visa
                    paymentAccountReference: 512381d9f8e0629211e3949a08002
                    tokenRequestorIdentifier: '40020248564'
                    tokenServiceProvider: vts
                    merchant: merchant_ddsaJsda9d86
                    status: inactive
                    createdAt: 1692972623233
                    updatedAt: 1692972623768
  /payments/network-tokens/{network_token_id}/card-art:
    get:
      summary: Retrieve Card Art
      description: 'Retrieves the card art for a Network Token by its unique identifier.

        '
      operationId: getCardArt
      tags:
      - Network Tokens
      security:
      - ApiKey:
        - networkToken:read
      parameters:
      - name: network_token_id
        in: path
        description: The unique identifier of the Network Token.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns the card art for the Network Token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardArt'
              examples:
                SuccessfulRetrieval:
                  summary: Successful Retrieval
                  value:
                    type: image/png
                    data: dGhlIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGE=
                    width: 1536
                    height: 969
components:
  schemas:
    CardArt:
      type: object
      properties:
        type:
          type: string
          description: The MIME type of the card art image.
          example: image/png
        data:
          type: string
          description: The base64-encoded image data of the card art.
          example: dGhlIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGE=
        width:
          type: integer
          description: The width of the card art image in pixels.
          example: 1536
        height:
          type: integer
          description: The height of the card art image in pixels.
          example: 969
      required:
      - type
      - data
      - width
      - height
    NetworkTokenCryptogram:
      type: object
      properties:
        id:
          type: string
          description: A unique identifier representing a specific Network Token Cryptogram.
          example: network_token_cryptogram_eead1d640d7c
        cryptogram:
          type: string
          description: The value of the Network Token Cryptogram. This is the value that is used embedded in the Authorization request.
          example: NTk0ZjM5M2QyNDMwNDE1MjkzMjg1ZTg5Y2NiZjdmNjE=
        createdAt:
          type: integer
          format: int64
          description: The exact time, in epoch milliseconds, when this Network Token Cryptogram was created.
          example: 1692972623233
      required:
      - id
      - cryptogram
      - createdAt
    Error:
      type: object
      properties:
        code:
          type: string
          description: A distinct error code, presented in slug format, that identifies a specific error.
          example: invalid-request
        title:
          type: string
          description: A short, human-readable summary of the error.
          example: Invalid Request
        status:
          type: integer
          description: The HTTP status code for the error.
          example: 400
        detail:
          type: string
          description: A human-readable explanation of the error.
          example: The provided action was invalid
        fields:
          type: array
          items:
            type: object
            properties:
              pointer:
                type: string
                description: The JSON pointer to the field that caused the error.
                example: /card/number
              reason:
                type: string
                description: A human-readable explanation of the error for this field.
                example: The card number is required
          example:
          - pointer: /card/number
            reason: The card number is required
    NetworkToken:
      summary: The Network Token Object
      type: object
      properties:
        id:
          type: string
          description: A unique identifier representing a specific Network Token.
          example: network_token_eead1d640d7c
        number:
          type: string
          description: The unique number of the Network Token.
          example: '4545454545454545'
        expiry:
          type: object
          description: The expiry details of the Network Token.
          properties:
            month:
              type: string
              description: The month of the Network Token's expiry date, in MM format (e.g. 12 for December)
              example: '12'
            year:
              type: string
              description: The year of the Network Token's expiry date, in YY format (e.g. 26 for 2026)
              example: '23'
        card:
          type: object
          description: The details of the underlying encrypted card.
          properties:
            lastFour:
              type: string
              description: The last four digits of the card number.
              example: '4545'
            expiry:
              type: object
              description: The expiry details of the card.
              properties:
                month:
                  type: string
                  description: The month of the card's expiry date, in MM format (e.g. 12 for December)
                  example: '12'
                year:
                  type: string
                  description: The year of the card's expiry date, in YY format (e.g. 26 for 2026)
                  example: '23'
            brand:
              type: string
              enum:
              - visa
              - mastercard
              - american-express
              description: The card brand associated with the payment card.
              example: visa
        tokenRequestorIdentifier:
          type: string
          description: The identifier of the Token Requestor (TRID) that requested the Network Token.
          example: '50165156978'
        tokenServiceProvider:
          type: string
          description: The Token Service Provider (TSP) that issued the Network Token.
          enum:
          - mdes
          - vts
          - aets
        paymentAccountReference:
          type: string
          description: The unique identifier of the Payment Account associated with this Network Token.
          example: 512381d9f8e0629211e3949a08002
        status:
          type: string
          enum:
          - active
          - inactive
          - blocked
          - provisioning
          - suspended
          - deleted
          - expired
          description: The status of the Network Token. Active means the token is valid and can be used for payments. Inactive means the token exists but is not currently active. Blocked and provisioning are reserved for future use. Suspended means the token is temporarily unusable but may be reactivated by the issuer or transition to deleted. Deleted is a terminal state where the token is permanently removed and a new credential must be obtained. Expired means the token has passed its expiration date and should not be used for transactions.
          example: active
        merchant:
          type: string
          description: The unique identifier of the Merchant associated with this Network Token.
          example: merchant_eead1d640d7c
        createdAt:
          type: integer
          format: int64
          description: The exact time, in epoch milliseconds, when this Network Token was created.
          example: 1692972623233
        updatedAt:
          type: integer
          format: int64
          description: The exact time, in epoch milliseconds, when this Network Token was last updated.
          example: 1692972623768
      required:
      - id
      - number
      - expiry
      - card
      - tokenRequestorIdentifier
      - tokenServiceProvider
      - status
      - merchant
      - createdAt
      example:
        id: network_token_eead1d640d7c
        number: '4498004918463434'
        expiry:
          month: '13'
          year: '25'
        card:
          lastFour: '4242'
          expiry:
            month: 09
            year: '26'
          brand: visa
        paymentAccountReference: 512381d9f8e0629211e3949a08002
        tokenRequestorIdentifier: '40020248564'
        tokenServiceProvider: vts
        merchant: merchant_ddsaJsda9d86
        status: active
        createdAt: 1692972623233
        updatedAt: 1692972623768
    CardExpiry:
      type: object
      properties:
        month:
          type: string
          description: The card expiry month, in MM format (e.g. 12 for December)
          example: 09
        year:
          type: string
          description: The card expiry year, in YY format (e.g. 26 for 2026)
          example: '26'
      required:
      - month
      - year
  securitySchemes:
    ApiKey:
      type: http
      scheme: basic
      description: Authentication using an API key. The username is the App ID and the password is the Api Key.
    TokenAuth:
      type: http
      scheme: bearer
      bearerFormat: RunToken
      description: 'Authentication using a short lived run token that you can share with clients. The Authorization header must be formatted as follow: "RunToken <Function Run Token>"'
    ClientSideToken:
      type: http
      scheme: bearer
      bearerFormat: Token
      description: 'Authentication using a short lived token that you can share with clients. The Authorization header must be formatted as follow: "Token <Client-Side Token>"'