{
  "openapi": "3.0.1",
  "info": {
    "title": "Tokens",
    "version": "3",
    "x-metadata": {
      "category": [
        "Tokens"
      ],
      "business": [
        "Enterprise"
      ],
      "catalog-list": true,
      "generated": false
    },
    "description": "Minimize the exposure of sensitive card details and increase the security of your customer's card details. \n\n__Authentication header__\n\n  ```\n    Authorization: {your_credentials}\n  ```\n  Replace `{your_credentials}` with your base64-encoded Basic Auth username and password given to you by your Worldpay Implementation Manager.\n  <br /> <br />\n  You **must** use the `Authorization` header for any request you send to our Tokens API.\n  <br /><br />\n  __Accept & Content-Type headers__\n  ```\n    Accept: application/vnd.worldpay.tokens-v3.hal+json\n    Content-Type: application/vnd.worldpay.tokens-v3.hal+json\n  ```\n\nWe use the Accept header to identify which version of our API you are using. You must use the Accept header for any request you send to our Tokens API. \n<br><br>\nFor detokenization requests, adapt the Accept header to also pass masked = false, as follows: `Accept:` `'application/vnd.worldpay.tokens-v3.hal+json; masked=false'`<br>\n{% admonition type=\"warning\" name=\"Important\" %}Detokenizing exposes your business to high levels of PCI auditing, required to remain PCI compliant.{% /admonition %}<br><br>\nWe require the Content-Type header if the request you're sending includes a request body, and if the HTTP method is a POST or a PUT.\n<br /><br />\n__DNS whitelisting__\n\nWhitelist the following URLs:\n* `https://try.access.worldpay.com/`\n* `https://access.worldpay.com/`\n\nPlease ensure you use DNS whitelisting, not explicit IP whitelisting. When you make a request within Access Worldpay, you should always cache the response returned."
  },
  "servers": [
    {
      "url": "https://try.access.worldpay.com",
      "description": "Test (Try)"
    },
    {
      "url": "https://access.worldpay.com",
      "description": "Live"
    }
  ],
  "paths": {
    "/tokens": {
      "post": {
        "tags": [
          "Token"
        ],
        "summary": "Create a new token",
        "description": "Create a new token for the payment instrument.",
        "operationId": "createSecurityToken",
        "requestBody": {
          "content": {
            "application/vnd.worldpay.tokens-v3.hal+json": {
              "schema": {
                "$ref": "#/components/schemas/token_creation"
              },
              "examples": {
                "Create a token with minimal details": {
                  "$ref": "#/components/examples/create-card-token-minimal"
                },
                "Create a token with full details": {
                  "$ref": "#/components/examples/create-card-token-full"
                },
                "Create a token using a network token instrument": {
                  "$ref": "#/components/examples/create-token-from-network-token"
                },
                "Create a token using a network token instrument (decrypted Apple Pay)": {
                  "$ref": "#/components/examples/create-token-from-apple-pay-token"
                },
                "Create a token using a network token instrument (decrypted Google Pay)": {
                  "$ref": "#/components/examples/create-token-from-google-pay-token"
                },
                "Create a token using a network token instrument (decrypted Samsung Pay)": {
                  "$ref": "#/components/examples/create-token-from-samsung-pay-token"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Location": {
                "schema": {
                  "type": "string",
                  "format": "uri"
                },
                "description": "A URI identifying the created token resource."
              }
            },
            "description": "You've already tokenized the card and all data supplied in your create a token request matches the data stored with us.<br/><br/>The existing token resource reference is returned in the tokenPaymentInstrument object.<br><br> **Note:** Sometimes we match a token even if the data doesn't seem quite the same. For example, if we have a billing address on file, we retain this address if you do not supply a `billingAddress` object in your request.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_200_response"
                },
                "examples": {
                  "Card token exists": {
                    "description": "Card token has been found matching details just posted.",
                    "$ref": "#/components/examples/card-token"
                  },
                  "Tokenized network token exists": {
                    "description": "Tokenized network token has been found, after lookup or attempting to create a token which has already been tokenized.",
                    "$ref": "#/components/examples/token-from-network-token"
                  },
                  "Tokenized decrypted Apple Pay token exists": {
                    "description": "Tokenized decrypted Apple Pay network token has been found, after lookup or attempting to create a token which has already been tokenized.",
                    "$ref": "#/components/examples/token-from-apple-pay"
                  },
                  "Tokenized decrypted Google Pay token exists": {
                    "description": "Tokenized decrypted Google Pay network token has been found, after lookup or attempting to create a token which has already been tokenized.",
                    "$ref": "#/components/examples/token-from-google-pay"
                  },
                  "Tokenized decrypted Samsung Pay token exists": {
                    "description": "Tokenized decrypted Samsung Pay network token has been found, after lookup or attempting to create a token which has already been tokenized.",
                    "$ref": "#/components/examples/token-from-samsung-pay"
                  }
                }
              }
            }
          },
          "201": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Location": {
                "schema": {
                  "type": "string",
                  "format": "uri"
                },
                "description": "A URI identifying the created token resource."
              }
            },
            "description": "This is the first time you've tokenized this card.<br><br>Your response contains a `tokenPaymentInstrument` object which contains the link data to the token resource. The response also includes request links, e.g. updating and deleting the token.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_201_response"
                },
                "examples": {
                  "Token created": {
                    "description": "A new token was created.",
                    "$ref": "#/components/examples/card-token"
                  },
                  "Token created using a network token instrument": {
                    "description": "A new token was created using a network token instrument.",
                    "$ref": "#/components/examples/token-from-network-token"
                  },
                  "Token created using a network token instrument (decrypted Apple Pay)": {
                    "description": "A token has been created using an Apple Pay network token.",
                    "$ref": "#/components/examples/token-from-apple-pay"
                  },
                  "Token created using a network token instrument (decrypted Google Pay)": {
                    "description": "A token has been created using a Google Pay network token.",
                    "$ref": "#/components/examples/token-from-google-pay"
                  },
                  "Token created using a network token instrument (decrypted Samsung Pay)": {
                    "description": "A token has been created using a Samsung Pay network token.",
                    "$ref": "#/components/examples/token-from-samsung-pay"
                  }
                }
              }
            }
          },
          "400": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "description": "We could not process the request due to a client error.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_400_response"
                },
                "examples": {
                  "Validation errors": {
                    "description": "Client error.",
                    "$ref": "#/components/examples/400"
                  }
                }
              }
            }
          },
          "403": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "description": "You've already added the maximum number of tokens to the namespace, 16. Please use an alternative namespace or delete some existing tokens from the namespace.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_403_response"
                },
                "examples": {
                  "Validation errors": {
                    "description": "Client error.",
                    "$ref": "#/components/examples/403"
                  }
                }
              }
            }
          },
          "409": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Location": {
                "schema": {
                  "type": "string",
                  "format": "uri"
                },
                "description": "A URI identifying the conflicting token resource."
              }
            },
            "description": "Conflict.<br> You've already tokenized the card, but some of the data supplied in your create a token request is different from the data in the existing token.<br/><br/>This conflict could be caused by a differentiation in the `cardHolderName`, `cardExpiryDate`, `billingAddress` or `schemeTransactionReference` (see note below) fields.<br/><br/>In this case, the data that we have on file is retained. We return the data which caused the conflict in a conflicts object. If you would like to resolve the conflict, you can update the existing token using the \"tokens:conflicts\" request link returned in the response.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_409_response"
                },
                "examples": {
                  "Conflict": {
                    "description": "A token already exists conflicting with some details in the request.",
                    "$ref": "#/components/examples/409"
                  }
                }
              }
            }
          },
          "422": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "description": "The request was syntactically valid, but we couldn't process the request. For example the card number or card brand is not recognized.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_422_response"
                },
                "examples": {
                  "Card brand not recognized": {
                    "description": "The request was syntactically valid, but we couldn't process the request.",
                    "$ref": "#/components/examples/422"
                  }
                }
              }
            }
          },
          "500": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "description": "An internal server error occurred.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_500_response"
                },
                "examples": {
                  "Tokenization not enabled": {
                    "description": "Internal server error.",
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Retrieve token details using query parameters",
        "description": "At least one of `tokenId` or `namespace` must be provided. If the token was created with a namespace, both `tokenId` and `namespace` must be supplied. To look up all tokens created under a namespace, query by `namespace` alone.",
        "operationId": "querySecurityToken",
        "parameters": [
          {
            "in": "query",
            "name": "tokenId",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 21,
              "minLength": 15,
              "pattern": "^[0-9A-HJ-NP-Z]+$"
            },
            "description": "Worldpay's internal identifier for a token. If the token was created with a namespace, `namespace` must also be included as a query parameter.",
            "example": "9925760692793807595"
          },
          {
            "in": "query",
            "name": "namespace",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 64,
              "minLength": 1
            },
            "description": "A reference to group up to 16 tokens, e.g. for one customer. When queried by itself, all tokens under the namespace will be returned; when queried in combination with `tokenId`, a single token will be returned. Avoid personally identifiable information (PII) here to prevent the logging of sensitive identifiers.",
            "example": "customer-1"
          }
        ],
        "responses": {
          "200": {
            "description": "The detail for this token.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/query_token_response"
                },
                "examples": {
                  "Retrieve details about a card token": {
                    "description": "Retrieve details about a card token.",
                    "$ref": "#/components/examples/query-single-token"
                  },
                  "Retrieve details about a network card token": {
                    "description": "Retrieve details about a network card token, including regular network tokens, and Apple Pay, Google Pay, and Samsung Pay network tokens.",
                    "$ref": "#/components/examples/query-example-wallet-token"
                  },
                  "Retrieve details about a card token with a namespace": {
                    "description": "Retrieve details about a card token with a namespace.",
                    "$ref": "#/components/examples/query-tokenId-namespace"
                  },
                  "Retrieve details about all card tokens under a namespace": {
                    "description": "Retrieve details about all card tokens stored under a namespace.",
                    "$ref": "#/components/examples/query-namespace"
                  },
                  "Retrieve details about all network card tokens under a namespace": {
                    "description": "Retrieve details about all network card tokens stored under a namespace.",
                    "$ref": "#/components/examples/query-namespace-network"
                  },
                  "Query returns no results": {
                    "description": "No tokens have been found for this inquiry.",
                    "$ref": "#/components/examples/query-no-results"
                  },
                  "Retrieve detokenized card details": {
                    "description": "Retrieve all card details detokenized.",
                    "$ref": "#/components/examples/query-detoke"
                  },
                  "Retrieve detokenized wallet token details": {
                    "description": "Retrieve detokenized wallet token details. Example applies for Google Pay, Samsung Pay and network tokens as well, simply adapting the networkType in each case.",
                    "$ref": "#/components/examples/query-example-wallet-detokenized"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Issue with the query parameters.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_query_400_response"
                },
                "examples": {
                  "TokenId format issues": {
                    "description": "A tokenId has been provided which does not meet validation rules.",
                    "$ref": "#/components/examples/token-query-400-tokenId-issues"
                  },
                  "Namespace format issues": {
                    "description": "A namespace has been provided which does not meet validation rules.",
                    "$ref": "#/components/examples/token-query-400-namespace-issues"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Merchant cannot be authenticated with the provided credentials.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_access_denied_response"
                },
                "examples": {
                  "Access Denied": {
                    "description": "Merchant authentication has been provided but the credentials are not recognized.",
                    "$ref": "#/components/examples/401-access-denied"
                  }
                }
              }
            }
          },
          "403": {
            "description": "No authentication credentials have been provided.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_access_denied_response"
                },
                "examples": {
                  "Access Denied": {
                    "description": "Merchant authentication has not been provided.",
                    "$ref": "#/components/examples/403-access-denied"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Requested method is not allowed.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_405_response"
                },
                "examples": {
                  "Method not allowed": {
                    "description": "Not allowed.",
                    "$ref": "#/components/examples/405"
                  }
                }
              }
            }
          },
          "500": {
            "description": "An internal server error.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_500_response"
                },
                "examples": {
                  "Tokenization not enabled": {
                    "description": "Internal server error.",
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tokens/{linkData}": {
      "get": {
        "tags": [
          "Token"
        ],
        "summary": "Retrieve token details using the token href link data",
        "description": "Retrieve token details using the token href representing the token.",
        "operationId": "getSecurityTokenByHref",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "The Access Worldpay encrypted token, returned in `tokenPaymentInstrument.href`, as well as the `tokens:token` request link.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXckVkRHdJSjFNQzR5VkE5NHhYUldzYz0ifQ"
          }
        ],
        "responses": {
          "200": {
            "description": "The detail for this token.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_200_response"
                },
                "examples": {
                  "Retrieve details about a token": {
                    "description": "Retrieve details about a token.",
                    "$ref": "#/components/examples/card-token"
                  },
                  "Retrieve details about a network card token": {
                    "description": "Retrieve details about a network card token.",
                    "$ref": "#/components/examples/token-from-network-token"
                  },
                  "Retrieve details about a token with a namespace": {
                    "description": "Retrieve details about a token with a namespace.",
                    "$ref": "#/components/examples/card-token-namespace"
                  },
                  "Retrieve detokenized card details": {
                    "description": "Retrieve all card details detokenized.",
                    "$ref": "#/components/examples/detokenized-card-token"
                  },
                  "Retrieve detokenized wallet token details": {
                    "description": "Retrieve all card details detokenized. Example applies for Google Pay, Samsung Pay and network tokens as well, simply adapting the networkType in each case.",
                    "$ref": "#/components/examples/example-detokenized-wallet-token"
                  }
                }
              }
            }
          },
          "404": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "description": "We could not find the requested resource. This may be returned if the token resource has been deleted.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_404_response"
                },
                "examples": {
                  "Tokenization not enabled": {
                    "description": "Internal server error.",
                    "$ref": "#/components/examples/404"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Requested method is not allowed.",
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_405_response"
                },
                "examples": {
                  "Method not allowed": {
                    "description": "Not allowed.",
                    "$ref": "#/components/examples/405"
                  }
                }
              }
            }
          },
          "500": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "description": "An internal server error.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_500_response"
                },
                "examples": {
                  "Tokenization not enabled": {
                    "description": "Internal server error.",
                    "$ref": "#/components/examples/500"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Token"
        ],
        "summary": "Update this token",
        "description": "Updating different fields represented by the token.",
        "operationId": "updateSecurityToken",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "Encrypted token data to update the token, as returned in the `_links` section of the response body to successful POST and GET requests. For example, to update the cardHolderName, use the `tokens:cardHolderName` request link.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXckVkRHdJSjFNQzR5VkE5NHhYUldzYz0ifQ"
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.worldpay.tokens-v3.hal+json": {
              "schema": {
                "$ref": "#/components/schemas/tokens_token"
              },
              "examples": {
                "Update billing address": {
                  "$ref": "#/components/examples/update-billing-address"
                },
                "Update card expiry date": {
                  "$ref": "#/components/examples/update-card-expiry-date"
                },
                "Update card holder name": {
                  "$ref": "#/components/examples/update-cardholder-name"
                },
                "Update token description": {
                  "$ref": "#/components/examples/update-token-description"
                },
                "Update scheme transaction reference": {
                  "$ref": "#/components/examples/update-scheme-transaction-reference"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The token was successfully updated."
          },
          "429": {
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "description": "A 429 response is returned for too many requests. You can only update one attribute at a time with a maximum of 50 updates in a rolling 30 day period.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_429_response"
                },
                "examples": {
                  "Tokenization not enabled": {
                    "description": "Too many requests.",
                    "$ref": "#/components/examples/429"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Token"
        ],
        "summary": "Delete this token",
        "description": "Deleting a token based on an encrypted token href.",
        "operationId": "deleteSecurityToken",
        "parameters": [
          {
            "name": "linkData",
            "in": "path",
            "description": "The Access Worldpay encrypted token, returned in `tokenPaymentInstrument.href`, as well as the `tokens:token` request link.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXckVkRHdJSjFNQzR5VkE5NHhYUldzYz0ifQ"
          }
        ],
        "responses": {
          "204": {
            "description": "The token was successfully deleted."
          },
          "405": {
            "description": "Requested method is not allowed.",
            "headers": {
              "Accept": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              },
              "Content-Type": {
                "schema": {
                  "type": "string",
                  "description": "application/vnd.worldpay.tokens-v3.hal+json"
                }
              }
            },
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_token_405_response"
                },
                "examples": {
                  "Method not allowed": {
                    "description": "Not allowed.",
                    "$ref": "#/components/examples/405"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tokens/network": {
      "post": {
        "tags": [
          "Network token"
        ],
        "summary": "Request provisioning for a network token and receive a reference for use later",
        "description": "Request to provision a network token.\n\n",
        "operationId": "provisionNetworkToken",
        "requestBody": {
          "content": {
            "application/vnd.worldpay.tokens-v3.hal+json": {
              "schema": {
                "$ref": "#/components/schemas/tokens_network_provision"
              },
              "examples": {
                "Request to provision a network token": {
                  "$ref": "#/components/examples/create-network-token-from-card"
                },
                "Request to turn an access token into a network token": {
                  "$ref": "#/components/examples/create-network-token-from-card-token"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_provision_200_response"
                },
                "examples": {
                  "The network token is ready": {
                    "description": "The token is ready in the synchronous response.",
                    "$ref": "#/components/examples/network-token-from-card"
                  },
                  "The network token is ready, created from an Access token": {
                    "description": "The network token has been created with the card details from the Access token.",
                    "$ref": "#/components/examples/network-token-from-token"
                  },
                  "The request was not successful due to provisioning errors": {
                    "description": "Provisioning errors have been returned from the card schemes. The network token will not be created.",
                    "value": {
                      "paymentInstrument": {
                        "type": "card/masked",
                        "firstSix": "444433",
                        "lastFour": "1111",
                        "cardExpiryDate": {
                          "month": 1,
                          "year": 2030
                        },
                        "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
                      },
                      "provisioningErrors": [
                        {
                          "errorCode": "301",
                          "providerErrorCode": "403",
                          "source": "A2T Visa NPT Token Provider Service",
                          "context": "Provision Token.Processor Error",
                          "message": "Provider error occurred : Further operations for this card are no longer allowed. Contact the bank to resolve this issue."
                        }
                      ],
                      "_links": {}
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Body does not match schema, or some details are incorrect.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_provision_error_with_optional_validation_response"
                },
                "examples": {
                  "Cardholder name is missing": {
                    "description": "Cardholder name is missing, correct and re-submit.",
                    "$ref": "#/components/examples/400-cardholder-name-missing"
                  },
                  "Card number format is incorrect": {
                    "description": "Card number is incorrect, correct and re-submit.",
                    "$ref": "#/components/examples/400-format-incorrect"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_provision_error_response"
                },
                "examples": {
                  "Account not configured to use NPT": {
                    "description": "Account not configured to use NPT. Please contact your account manager to board you for this service.",
                    "$ref": "#/components/examples/401"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Account not configured to use NPT.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_provision_error_response"
                },
                "examples": {
                  "Account not configured to use NPT": {
                    "description": "Account not configured to use NPT. Please contact your account manager to board you for this service.",
                    "$ref": "#/components/examples/403-account-not-configured"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found. Please check the endpoint and headers.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_provision_error_response"
                },
                "examples": {
                  "Resource not found": {
                    "description": "Requested resource was not found.",
                    "$ref": "#/components/examples/404-resource"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Please retry.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_provision_error_response"
                },
                "examples": {
                  "Internal server error": {
                    "description": "Internal server error.",
                    "$ref": "#/components/examples/500-internal-server"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tokens/network/{tokenReference}": {
      "get": {
        "tags": [
          "Network token"
        ],
        "summary": "Get the actual network token using the network token reference",
        "description": "Retrieve the detail for this network token.",
        "operationId": "getNetworkToken",
        "parameters": [
          {
            "name": "tokenReference",
            "in": "path",
            "description": "Access Worldpay tokenReference",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_query_200_response"
                },
                "examples": {
                  "Get a network token after it has been provisioned": {
                    "description": "Get a network token after it has been provisioned.",
                    "$ref": "#/components/examples/network-token-from-card"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tokens/network/{tokenNumber}": {
      "delete": {
        "tags": [
          "Network token"
        ],
        "summary": "Delete a network token",
        "description": "Deleting a network token based on a token number. Supports Visa, Mastercard, and Discover network token deletion, but not American Express.",
        "operationId": "deleteSecurityNetworkToken",
        "parameters": [
          {
            "name": "tokenNumber",
            "in": "path",
            "description": "Access Worldpay network token number.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The network token was successfully deleted."
          },
          "400": {
            "description": "Token Number is invalid.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "examples": {
                  "notFound": {
                    "description": "Token Number is invalid.",
                    "value": {
                      "errorName": "fieldHasInvalidValue",
                      "message": "Token number is not valid"
                    }
                  },
                  "Accept header does not match Content-type header": {
                    "description": "Accept header does not match Content-type header.",
                    "value": {
                      "errorName": "headerHasInvalidValue",
                      "message": "Accept header does not match Content-type header"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Account not configured to use NPT.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "examples": {
                  "Account not configured to use NPT": {
                    "description": "Account not configured to use NPT.",
                    "$ref": "#/components/examples/403-account-not-configured"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Network Token was not found.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "examples": {
                  "Network Token was not found": {
                    "description": "Network Token was not found.",
                    "$ref": "#/components/examples/404-token"
                  }
                }
              }
            }
          },
          "406": {
            "description": "Accept header is not supported.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "examples": {
                  "Accept header is not supported": {
                    "description": "Accept header is not supported.",
                    "$ref": "#/components/examples/406"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Provider error.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "examples": {
                  "Provider error": {
                    "description": "Provider error.",
                    "$ref": "#/components/examples/500-provider"
                  },
                  "Internal server error": {
                    "description": "Internal server error.",
                    "$ref": "#/components/examples/500-internal-server"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Provider error.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "examples": {
                  "Provider error": {
                    "description": "Provider error.",
                    "$ref": "#/components/examples/503-provider"
                  },
                  "Internal server error": {
                    "description": "Internal server error.",
                    "$ref": "#/components/examples/503-internal-server"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tokens/network/cryptograms": {
      "post": {
        "tags": [
          "Network token"
        ],
        "summary": "Provision a cryptogram for short time use based on a network token",
        "description": "A network token cryptogram is a one-time value generated for a single payment authorization attempt using the network token. It helps to prove that the network token is valid and being used by an authorized party for a specific transaction.",
        "operationId": "getNetworkTokenCryptogram",
        "requestBody": {
          "content": {
            "application/vnd.worldpay.tokens-v3.hal+json": {
              "schema": {
                "$ref": "#/components/schemas/tokens_network_cryptograms"
              },
              "examples": {
                "Provision a cryptogram based on a network token": {
                  "$ref": "#/components/examples/create-cryptogram"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_cryptograms_200_response"
                },
                "examples": {
                  "Provision a cryptogram based on a network token": {
                    "description": "Provision a cryptogram based on a network token",
                    "$ref": "#/components/examples/cryptogram"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not found.",
            "content": {
              "application/vnd.worldpay.tokens-v3.hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/tokens_network_cryptograms_404_response"
                },
                "examples": {
                  "Resource not found": {
                    "description": "The network token resource was not found",
                    "$ref": "#/components/examples/404-resource"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "tokens_token_200_response": {
        "required": [
          "_links"
        ],
        "type": "object",
        "properties": {
          "tokenPaymentInstrument": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Indicating the type of this token."
              },
              "href": {
                "type": "string",
                "description": "Link to the corresponding token."
              }
            }
          },
          "tokenId": {
            "maxLength": 21,
            "minLength": 15,
            "pattern": "^[0-9A-HJ-NP-Z]+$",
            "description": "Worldpay's internal identifier for a token.",
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[^&<]*$",
            "type": "string",
            "description": "A description of your token. If not supplied, a default description is created for you."
          },
          "tokenExpiryDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date/time after which the token is unavailable, expressed in ISO 8601 format. If not supplied, the default expiry date/time is 90 days in Try and 4 years in the Live environment.<br/><br/>In Live, if the token is used in the second half of its life, the token expiry becomes 4 years from that point, with no limit to the number of extensions. In Try, expiry date extensions are not applicable. After the expiry passes, the token is deleted."
          },
          "namespace": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string",
            "description": "A reference to group up to 16 cards, e.g. for one customer. A card can exist in more than one namespace. If supplied, must not start with an underscore, must not contain spaces, '&' or '<'."
          },
          "paymentInstrument": {
            "type": "object",
            "description": "An object that contains the instrument that you are tokenizing, and its details.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/response_card_front"
              },
              {
                "$ref": "#/components/schemas/response_card_masked"
              },
              {
                "$ref": "#/components/schemas/response_card_network"
              },
              {
                "$ref": "#/components/schemas/response_card_network_masked"
              }
            ],
            "discriminator": {
              "mapping": {
                "card/front": "#/components/schemas/response_card_front",
                "card/masked": "#/components/schemas/response_card_masked",
                "card/network": "#/components/schemas/response_card_network",
                "card/network+masked": "#/components/schemas/response_card_network_masked"
              },
              "propertyName": "type"
            }
          },
          "schemeTransactionReference": {
            "maxLength": 56,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9 ]*$",
            "type": "string",
            "description": "A value provided by Visa or Mastercard which tracks recurring transactions.<br/><br/><b>Note:</b> You are not normally expected to provide a value for schemeTransactionReference. If you are using the [Verified Tokens API](/products/verified-tokens/@v3/index.md) to create tokens, it is automatically included where applicable."
          },
          "_links": {
            "title": "_Links",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "query_token_response": {
        "type": "object",
        "required": [
          "_embedded",
          "_links"
        ],
        "properties": {
          "_embedded": {
            "type": "object",
            "required": [
              "tokens"
            ],
            "properties": {
              "tokens": {
                "type": "array",
                "minItems": 0,
                "maxItems": 16,
                "items": {
                  "$ref": "#/components/schemas/tokens_token_200_response"
                }
              }
            }
          },
          "_links": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "tokens_token_201_response": {
        "required": [
          "tokenPaymentInstrument",
          "description",
          "tokenExpiryDateTime",
          "paymentInstrument",
          "_links"
        ],
        "type": "object",
        "properties": {
          "tokenPaymentInstrument": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Indicating the type of this token."
              },
              "href": {
                "type": "string",
                "description": "Link to the corresponding token."
              }
            }
          },
          "tokenId": {
            "maxLength": 21,
            "minLength": 15,
            "pattern": "^[0-9A-HJ-NP-Z]+$",
            "description": "Worldpay's internal identifier for a token.",
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[^&<]*$",
            "type": "string",
            "description": "A description of your token. If not supplied, a default description is created for you."
          },
          "tokenExpiryDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date/time after which the token is unavailable, expressed in ISO 8601 format. If not supplied, the default expiry date/time is 90 days in Try and 4 years in the Live environment.<br/><br/>In Live, if the token is used in the second half of its life, the token expiry becomes 4 years from that point, with no limit to the number of extensions. In Try, expiry date extensions are not applicable. After the expiry passes, the token is deleted."
          },
          "namespace": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string",
            "description": "A reference to group up to 16 cards, e.g. for one customer. A card can exist in more than one namespace. If supplied, must not start with an underscore, must not contain spaces, '&' or '<'."
          },
          "paymentInstrument": {
            "type": "object",
            "description": "An object that contains the instrument that you are tokenizing, and its details.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/response_card_masked"
              },
              {
                "$ref": "#/components/schemas/response_card_network_masked"
              }
            ],
            "discriminator": {
              "mapping": {
                "card/masked": "#/components/schemas/response_card_masked",
                "card/network+masked": "#/components/schemas/response_card_network_masked"
              },
              "propertyName": "type"
            }
          },
          "schemeTransactionReference": {
            "maxLength": 56,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9 ]*$",
            "type": "string",
            "description": "A value provided by Visa or Mastercard which tracks recurring transactions.<br/><br/><b>Note:</b> You are not normally expected to provide a value for schemeTransactionReference. If you are using the [Verified Tokens API](/products/verified-tokens/@v3/index.md) to create tokens, it is automatically included where applicable."
          },
          "_links": {
            "title": "Links",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "tokens_token_400_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "bodyDoesNotMatchSchema"
          },
          "message": {
            "type": "string",
            "example": "The json body provided does not match the expected schema"
          },
          "validationErrors": {
            "type": "array",
            "description": "Further error details",
            "items": {
              "type": "object",
              "properties": {
                "errorName": {
                  "type": "string",
                  "example": "fieldHasInvalidValue"
                },
                "message": {
                  "type": "string",
                  "example": "Card expiry month too small - must be between 1 & 12"
                },
                "jsonPath": {
                  "type": "string",
                  "example": "$.paymentInstrument.cardExpiryDate.month"
                }
              }
            }
          }
        }
      },
      "tokens_token_403_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "tooManyTokensForNamespace"
          },
          "message": {
            "type": "string",
            "example": "Too many tokens created for this namespace"
          }
        }
      },
      "tokens_token_404_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "resourceNotFound"
          },
          "message": {
            "type": "string",
            "example": "Requested resource was not found"
          }
        }
      },
      "tokens_query_400_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "urlContainsInvalidValue"
          },
          "message": {
            "type": "string",
            "example": "The URL contains a value or values that are invalid"
          },
          "validationErrors": {
            "type": "array",
            "description": "Further error details",
            "items": {
              "type": "object",
              "properties": {
                "errorName": {
                  "type": "string",
                  "example": "stringIsTooShort"
                },
                "message": {
                  "type": "string",
                  "example": "Namespace too short - must be between 1 & 64 characters"
                },
                "jsonPath": {
                  "type": "string",
                  "example": "namespace"
                }
              }
            }
          }
        }
      },
      "tokens_token_405_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "methodNotAllowed"
          },
          "message": {
            "type": "string",
            "example": "Requested method is not allowed"
          }
        }
      },
      "tokens_token_409_response": {
        "required": [
          "tokenPaymentInstrument",
          "description",
          "tokenExpiryDateTime",
          "paymentInstrument",
          "_links"
        ],
        "type": "object",
        "properties": {
          "tokenPaymentInstrument": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Indicating the type of this token."
              },
              "href": {
                "type": "string",
                "description": "Link to the corresponding token."
              }
            }
          },
          "tokenId": {
            "maxLength": 21,
            "minLength": 15,
            "pattern": "^[0-9A-HJ-NP-Z]+$",
            "description": "Worldpay's internal identifier for a token.",
            "type": "string"
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[^&<]*$",
            "type": "string",
            "description": "A description of your token. If not supplied, a default description is created for you."
          },
          "tokenExpiryDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date/time after which the token is unavailable, expressed in ISO 8601 format. If not supplied, the default expiry date/time is 90 days in Try and 4 years in the Live environment.<br/><br/>In Live, if the token is used in the second half of its life, the token expiry becomes 4 years from that point, with no limit to the number of extensions. In Try, expiry date extensions are not applicable. After the expiry passes, the token is deleted."
          },
          "namespace": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string",
            "description": "A reference to group up to 16 cards, e.g. for one customer. A card can exist in more than one namespace. If supplied, must not start with an underscore, must not contain spaces, '&' or '<'."
          },
          "paymentInstrument": {
            "type": "object",
            "description": "An object that contains the instrument that you are tokenizing, and its details.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/response_card_masked"
              },
              {
                "$ref": "#/components/schemas/response_card_network_masked"
              }
            ],
            "discriminator": {
              "mapping": {
                "card/masked": "#/components/schemas/response_card_masked",
                "card/network+masked": "#/components/schemas/response_card_network_masked"
              },
              "propertyName": "type"
            }
          },
          "schemeTransactionReference": {
            "maxLength": 56,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9 ]*$",
            "type": "string",
            "description": "A value provided by Visa or Mastercard which tracks recurring transactions.<br/><br/><b>Note:</b> You are not normally expected to provide a value for schemeTransactionReference. If you are using the [Verified Tokens API](/products/verified-tokens/@v3/index.md) to create tokens, it is automatically included where applicable."
          },
          "conflicts": {
            "type": "object",
            "properties": {
              "conflictsExpiryDateTime": {
                "type": "string",
                "format": "date-time"
              },
              "paymentInstrument": {
                "type": "object",
                "description": "An object that contains the instrument that you are tokenizing, and its details.",
                "properties": {
                  "cardHolderName": {
                    "type": "string"
                  },
                  "cardExpiryDate": {
                    "type": "object",
                    "properties": {
                      "month": {
                        "type": "integer"
                      },
                      "year": {
                        "type": "integer"
                      }
                    }
                  },
                  "billingAddress": {
                    "description": "An object containing the billingAddress information, used during payment processing. If the address supplied does not match the address registered with the issuing bank, the payment carries additional risk. If using the token in card payouts in the US, the state field is mandatory.",
                    "type": "object",
                    "properties": {
                      "address1": {
                        "type": "string"
                      },
                      "postalCode": {
                        "type": "string"
                      },
                      "city": {
                        "type": "string"
                      },
                      "countryCode": {
                        "maxLength": 2,
                        "minLength": 2,
                        "type": "string"
                      },
                      "address2": {
                        "type": "string"
                      },
                      "address3": {
                        "type": "string"
                      },
                      "state": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "schemeTransactionReference": {
                "maxLength": 56,
                "minLength": 1,
                "pattern": "^[a-zA-Z0-9 ]*$",
                "type": "string",
                "description": "A value provided by Visa or Mastercard which tracks recurring transactions.<br/><br/><b>Note:</b> You are not normally expected to provide a value for schemeTransactionReference. If you are using the [Verified Tokens API](/products/verified-tokens/@v3/index.md) to create tokens, it is automatically included where applicable."
              }
            }
          },
          "_links": {
            "title": "Links",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "tokens_token_422_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "unrecognizedCardBrand"
          },
          "message": {
            "type": "string",
            "example": "The card brand is not recognized"
          }
        }
      },
      "tokens_token_429_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "maximumUpdatesExceeded"
          },
          "message": {
            "type": "string",
            "example": "Maximum number of updates for this token exceeded"
          }
        }
      },
      "tokens_access_denied_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "accessDenied"
          },
          "message": {
            "type": "string",
            "example": "Access to the requested resource has been denied"
          }
        }
      },
      "tokens_token_500_response": {
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "tokenizationNotEnabled"
          },
          "message": {
            "type": "string",
            "example": "Tokenization not enabled"
          }
        }
      },
      "token_creation": {
        "type": "object",
        "properties": {
          "paymentInstrument": {
            "type": "object",
            "description": "An object that contains the instrument that you are tokenizing, and its details.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/card_front"
              },
              {
                "$ref": "#/components/schemas/card_networkToken"
              },
              {
                "$ref": "#/components/schemas/card_networkToken_applepay"
              },
              {
                "$ref": "#/components/schemas/card_networkToken_googlepay"
              },
              {
                "$ref": "#/components/schemas/card_networkToken_samsungpay"
              }
            ],
            "discriminator": {
              "mapping": {
                "card/front": "#/components/schemas/card_front",
                "card/networkToken": "#/components/schemas/card_networkToken",
                "card/networkToken+applepay": "#/components/schemas/card_networkToken_applepay",
                "card/networkToken+googlepay": "#/components/schemas/card_networkToken_googlepay",
                "card/networkToken+samsungpay": "#/components/schemas/card_networkToken_samsungpay"
              },
              "propertyName": "type"
            }
          },
          "merchant": {
            "required": [
              "entity"
            ],
            "type": "object",
            "description": "An object that contains information about your merchant account.",
            "properties": {
              "entity": {
                "type": "string",
                "description": "Identifies merchant account for billing, reporting and reconciliation. Contact your Worldpay Implementation Manager for more details.",
                "pattern": ".*\\S.*"
              }
            }
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^[^&<]*$",
            "description": "A description of your token. If not supplied, a default description is created for you."
          },
          "tokenExpiryDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date/time after which the token is unavailable, expressed in ISO 8601 format. If not supplied, the default expiry date/time is 90 days in Try and 4 years in the Live environment.<br/><br/>In Live, if the token is used in the second half of its life, the token expiry becomes 4 years from that point, with no limit to the number of extensions. In Try, expiry date extensions are not applicable. After the expiry passes, the token is deleted."
          },
          "namespace": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "A reference to group up to 16 cards, e.g. for one customer. A card can exist in more than one namespace. If supplied, must not start with an underscore, must not contain spaces, '&' or '<'."
          },
          "schemeTransactionReference": {
            "maxLength": 56,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9 ]*$",
            "type": "string",
            "description": "A value provided by Visa or Mastercard which tracks recurring transactions.<br/><br/><b>Note:</b> You are not normally expected to provide a value for schemeTransactionReference. If you are using the [Verified Tokens API](/products/verified-tokens/@v3/index.md) to create tokens, it is automatically included where applicable."
          }
        },
        "required": [
          "paymentInstrument",
          "merchant"
        ]
      },
      "tokens_token": {
        "type": "object",
        "properties": {
          "schemeTransactionReference": {
            "maxLength": 56,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9 ]*$",
            "type": "string",
            "description": "A value provided by Visa or Mastercard which tracks recurring transactions.<br/><br/><b>Note:</b> You are not normally expected to provide a value for schemeTransactionReference. If you are using the [Verified Tokens API](/products/verified-tokens/@v3/index.md) to create tokens, it is automatically included where applicable."
          },
          "cardHolderName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "The name on your customer's card."
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[^&<]*$",
            "type": "string"
          },
          "month": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer"
          },
          "year": {
            "maximum": 9999,
            "type": "integer"
          },
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "address3": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "countryCode": {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[A-Z]*$",
            "type": "string"
          }
        }
      },
      "tokens_network_provision": {
        "required": [
          "paymentInstrument",
          "merchant"
        ],
        "type": "object",
        "properties": {
          "paymentInstrument": {
            "type": "object",
            "description": "An object that contains the instrument that you are tokenizing, and its details.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/requestPaymentInstrumentCardFront"
              },
              {
                "$ref": "#/components/schemas/requestPaymentInstrumentCardTokenized"
              }
            ],
            "discriminator": {
              "mapping": {
                "card/front": "#/components/schemas/requestPaymentInstrumentCardFront",
                "card/tokenized": "#/components/schemas/requestPaymentInstrumentCardTokenized"
              },
              "propertyName": "type"
            }
          },
          "merchant": {
            "required": [
              "entity"
            ],
            "type": "object",
            "description": "An object that contains information about your merchant account.",
            "properties": {
              "entity": {
                "type": "string",
                "description": "Identifies merchant account for billing, reporting and reconciliation. Contact your Worldpay Implementation Manager for more details.",
                "pattern": ".*\\S.*"
              }
            }
          }
        }
      },
      "tokens_network_provision_200_response": {
        "required": [
          "paymentInstrument",
          "_links"
        ],
        "type": "object",
        "properties": {
          "tokenReference": {
            "type": "string",
            "description": "A unique reference for a single network token. Use the `tokenReference` to perform `GET` operations on a network token resource.",
            "example": "aa224320-425c-40b6-9781-2cb7df76b0c8"
          },
          "tokenPaymentInstrument": {
            "$ref": "#/components/schemas/networkTokenResponseTokenPaymentInstrument"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/networkTokenResponsePaymentInstrument"
          },
          "provisioningErrors": {
            "description": "For a full list of provisioning errors, please see [Network token error responses](./network-token-errors.md).",
            "type": "array",
            "items": {
              "required": [
                "errorCode",
                "providerErrorCode",
                "source",
                "context",
                "message"
              ],
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "string",
                  "example": "301"
                },
                "providerErrorCode": {
                  "type": "string",
                  "example": "104001"
                },
                "source": {
                  "type": "string",
                  "example": "A2T American Express NPT Token Provider Service"
                },
                "context": {
                  "type": "string",
                  "example": "American Express TokenProvider Transport Service"
                },
                "message": {
                  "type": "string",
                  "example": "Provider error occurred : issuer_not_supported"
                }
              }
            }
          },
          "_links": {
            "title": "_Links",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "tokens_network_provision_error_response": {
        "required": [
          "errorName",
          "message"
        ],
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "tokens_network_provision_error_with_optional_validation_response": {
        "required": [
          "errorName",
          "message"
        ],
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "validationErrors": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "errorName",
                "message"
              ],
              "properties": {
                "errorName": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "jsonPath": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "tokens_network_query_200_response": {
        "required": [
          "paymentInstrument",
          "_links"
        ],
        "type": "object",
        "properties": {
          "tokenPaymentInstrument": {
            "$ref": "#/components/schemas/networkTokenResponseTokenPaymentInstrument"
          },
          "paymentInstrument": {
            "$ref": "#/components/schemas/networkTokenResponsePaymentInstrument"
          },
          "provisioningErrors": {
            "description": "For a full list of provisioning errors, please see [Network token error responses](./network-token-errors.md).",
            "type": "array",
            "items": {
              "required": [
                "errorCode",
                "providerErrorCode",
                "source",
                "context",
                "message"
              ],
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "string"
                },
                "providerErrorCode": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "context": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "_links": {
            "title": "_Links",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "tokens_network_cryptograms": {
        "required": [
          "tokenNumber"
        ],
        "type": "object",
        "properties": {
          "tokenNumber": {
            "type": "string"
          }
        }
      },
      "tokens_network_cryptograms_200_response": {
        "required": [
          "cryptogramDetails",
          "_links"
        ],
        "type": "object",
        "properties": {
          "cryptogramDetails": {
            "required": [
              "cryptogram",
              "eci"
            ],
            "type": "object",
            "properties": {
              "cryptogram": {
                "type": "string"
              },
              "eci": {
                "type": "string"
              }
            }
          },
          "_links": {
            "title": "_Links",
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "tokens_network_cryptograms_404_response": {
        "required": [
          "errorName",
          "message"
        ],
        "type": "object",
        "properties": {
          "errorName": {
            "type": "string",
            "example": "resourceNotFound"
          },
          "message": {
            "type": "string",
            "example": "Requested resource was not found"
          }
        }
      },
      "card_front": {
        "type": "object",
        "description": "An object that contains the payment type and details. All sub-fields are mandatory with the exception of billingAddress (see below).",
        "required": [
          "type",
          "cardHolderName",
          "cardExpiryDate",
          "cardNumber"
        ],
        "properties": {
          "type": {
            "enum": [
              "card/front"
            ]
          },
          "cardHolderName": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "description": "The name on your customer's card."
          },
          "cardExpiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "description": "Contains your customer's card expiry date.",
            "properties": {
              "month": {
                "type": "integer",
                "maximum": 12,
                "minimum": 1
              },
              "year": {
                "type": "integer",
                "maximum": 9999,
                "minimum": 1
              }
            }
          },
          "cardNumber": {
            "type": "string",
            "maxLength": 19,
            "minLength": 10,
            "pattern": "^[0-9]*$",
            "description": "Contains your customer's card number."
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          }
        }
      },
      "response_card_front": {
        "type": "object",
        "description": "An object that contains the payment type and details following a detokenization request.",
        "required": [
          "type",
          "cardHolderName",
          "cardExpiryDate",
          "cardNumber"
        ],
        "properties": {
          "type": {
            "enum": [
              "card/front"
            ],
            "type": "string"
          },
          "cardHolderName": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "description": "The name on your customer's card."
          },
          "cardExpiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "description": "Contains your customer's card expiry date.",
            "properties": {
              "month": {
                "type": "integer",
                "maximum": 12,
                "minimum": 1
              },
              "year": {
                "type": "integer",
                "maximum": 9999,
                "minimum": 1
              }
            }
          },
          "cardNumber": {
            "type": "string",
            "maxLength": 19,
            "minLength": 10,
            "pattern": "^[0-9]*$",
            "description": "Contains your customer's card number."
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          },
          "bin": {
            "maxLength": 6,
            "minLength": 6,
            "pattern": "\\d{6}",
            "type": "string"
          },
          "brand": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "fundingType": {
            "maxLength": 7,
            "minLength": 5,
            "type": "string"
          }
        }
      },
      "card_networkToken": {
        "type": "object",
        "description": "An object that contains the payment type and details. All sub-fields are mandatory.",
        "required": [
          "type",
          "expiryDate",
          "tokenNumber"
        ],
        "properties": {
          "type": {
            "enum": [
              "card/networkToken"
            ]
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDate_networkToken"
          },
          "tokenNumber": {
            "$ref": "#/components/schemas/tokenNumber"
          }
        }
      },
      "card_networkToken_applepay": {
        "type": "object",
        "description": "An object that contains the payment type and details. All sub-fields are mandatory.",
        "required": [
          "type",
          "expiryDate",
          "tokenNumber"
        ],
        "properties": {
          "type": {
            "enum": [
              "card/networkToken+applepay"
            ]
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDate_networkToken"
          },
          "tokenNumber": {
            "$ref": "#/components/schemas/tokenNumber"
          }
        }
      },
      "card_networkToken_googlepay": {
        "type": "object",
        "description": "An object that contains the payment type and details. All sub-fields are mandatory.",
        "required": [
          "type",
          "expiryDate",
          "tokenNumber"
        ],
        "properties": {
          "type": {
            "enum": [
              "card/networkToken+googlepay"
            ]
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDate_networkToken"
          },
          "tokenNumber": {
            "$ref": "#/components/schemas/tokenNumber"
          }
        }
      },
      "card_networkToken_samsungpay": {
        "type": "object",
        "description": "An object that contains the payment type and details. All sub-fields are mandatory.",
        "required": [
          "type",
          "expiryDate",
          "tokenNumber"
        ],
        "properties": {
          "type": {
            "enum": [
              "card/networkToken+samsungpay"
            ]
          },
          "expiryDate": {
            "$ref": "#/components/schemas/expiryDate_networkToken"
          },
          "tokenNumber": {
            "$ref": "#/components/schemas/tokenNumber"
          }
        }
      },
      "expiryDate_networkToken": {
        "required": [
          "month",
          "year"
        ],
        "type": "object",
        "description": "The expiry date of the network token.",
        "properties": {
          "month": {
            "type": "integer",
            "maximum": 12,
            "minimum": 1
          },
          "year": {
            "type": "integer",
            "maximum": 9999,
            "minimum": 1
          }
        }
      },
      "tokenNumber": {
        "type": "string",
        "maxLength": 19,
        "minLength": 10,
        "pattern": "^[0-9]*$",
        "description": "The network token number."
      },
      "billingAddress": {
        "required": [
          "address1",
          "postalCode",
          "city",
          "countryCode"
        ],
        "type": "object",
        "description": "An object containing the billingAddress information, used during payment processing. If the address supplied does not match the address registered with the issuing bank, the payment carries additional risk. If using the token in card payouts in the US, the state field is mandatory.",
        "properties": {
          "address1": {
            "type": "string",
            "maxLength": 80,
            "minLength": 1
          },
          "postalCode": {
            "type": "string",
            "maxLength": 15,
            "minLength": 1
          },
          "city": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1
          },
          "countryCode": {
            "maxLength": 2,
            "minLength": 2,
            "pattern": "^[A-Z]*$",
            "type": "string"
          },
          "address2": {
            "maxLength": 80,
            "type": "string"
          },
          "address3": {
            "maxLength": 80,
            "type": "string"
          },
          "state": {
            "type": "string",
            "maxLength": 30,
            "minLength": 1,
            "description": "Mandatory if using the token in card payouts in the US, otherwise optional."
          }
        }
      },
      "response_card_masked": {
        "required": [
          "cardNumber",
          "cardExpiryDate"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "cardNumber": {
            "maxLength": 19,
            "minLength": 10,
            "pattern": "^[0-9\\*]*$",
            "type": "string"
          },
          "cardExpiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "properties": {
              "month": {
                "maximum": 12,
                "minimum": 1,
                "type": "integer"
              },
              "year": {
                "maximum": 9999,
                "type": "integer"
              }
            }
          },
          "cardHolderName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "The name on your customer's card."
          },
          "bin": {
            "maxLength": 6,
            "minLength": 6,
            "pattern": "\\d{6}",
            "type": "string"
          },
          "brand": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "fundingType": {
            "maxLength": 7,
            "minLength": 5,
            "type": "string"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/billingAddress"
          },
          "networkType": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "last4Digits": {
            "maxLength": 4,
            "minLength": 4,
            "type": "string"
          }
        }
      },
      "response_card_network_masked": {
        "required": [
          "cardNumber",
          "cardExpiryDate",
          "brand",
          "networkType",
          "last4Digits"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "cardNumber": {
            "maxLength": 19,
            "minLength": 10,
            "pattern": "^[0-9\\*]*$",
            "type": "string",
            "description": "This is the token number provided in the tokenNumber field in the request. This response field will be renamed in future versions."
          },
          "cardExpiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "description": "This is the token expiry date provided in the expiryDate field in the request. This response field will be renamed in future versions.",
            "properties": {
              "month": {
                "maximum": 12,
                "minimum": 1,
                "type": "integer"
              },
              "year": {
                "maximum": 9999,
                "type": "integer"
              }
            }
          },
          "brand": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "networkType": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "The network behind the token, such as `GOOGLEPAY` or `APPLEPAY`."
          },
          "last4Digits": {
            "maxLength": 4,
            "minLength": 4,
            "type": "string",
            "description": "Last 4 digits of the tokenNumber."
          }
        }
      },
      "response_card_network": {
        "required": [
          "cardNumber",
          "cardExpiryDate",
          "brand",
          "networkType",
          "last4Digits"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "card/network"
            ]
          },
          "cardNumber": {
            "maxLength": 19,
            "minLength": 10,
            "pattern": "^[0-9\\*]*$",
            "type": "string",
            "description": "This is the token number provided in the tokenNumber field in the request. This response field will be renamed in future versions."
          },
          "cardExpiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "description": "This is the token expiry date provided in the expiryDate field in the request. This response field will be renamed in future versions.",
            "properties": {
              "month": {
                "maximum": 12,
                "minimum": 1,
                "type": "integer"
              },
              "year": {
                "maximum": 9999,
                "type": "integer"
              }
            }
          },
          "brand": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "networkType": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "The network behind the token, such as `GOOGLEPAY` or `APPLEPAY`."
          },
          "last4Digits": {
            "maxLength": 4,
            "minLength": 4,
            "type": "string",
            "description": "Last 4 digits of the tokenNumber."
          }
        }
      },
      "requestPaymentInstrumentCardFront": {
        "required": [
          "type",
          "cardHolderName",
          "cardExpiryDate",
          "cardNumber"
        ],
        "type": "object",
        "description": "Use a plain card `paymentInstrument` to provision a network token",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "card/front"
            ]
          },
          "cardHolderName": {
            "type": "string",
            "description": "The name on your customer's card.",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^(?!.*?\\d{1}(?:-\\d{1}|\\s\\d{1}|\\d{1}){12})((.|\\n)*)$",
            "example": "Sherlock Holmes"
          },
          "cardExpiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "description": "The expiry date of your customer's card.",
            "properties": {
              "month": {
                "type": "integer",
                "minimum": 1,
                "maximum": 12,
                "example": 6
              },
              "year": {
                "type": "integer",
                "example": 2035
              }
            }
          },
          "cardNumber": {
            "type": "string",
            "description": "Your customer's card number. Sometimes referred to as Primary Account Number (PAN).",
            "maxLength": 19,
            "minLength": 10,
            "pattern": "^[0-9]+$"
          }
        }
      },
      "requestPaymentInstrumentCardTokenized": {
        "required": [
          "type",
          "href"
        ],
        "type": "object",
        "description": "Use a Worldpay token `paymentInstrument` to provision a network token",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "card/tokenized"
            ]
          },
          "href": {
            "type": "string",
            "format": "uri",
            "description": "An `https` address for an Access Token.",
            "example": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          }
        }
      },
      "networkTokenResponseTokenPaymentInstrument": {
        "required": [
          "status",
          "type",
          "tokenNumber",
          "expiryDate"
        ],
        "type": "object",
        "description": "Details of the network token payment instrument. Include these values where you use this token in payment authorization requests.",
        "properties": {
          "status": {
            "type": "string",
            "description": "The status of the network token.",
            "example": "Active"
          },
          "type": {
            "type": "string",
            "example": "card/networkToken"
          },
          "tokenNumber": {
            "type": "string",
            "description": "The network token number.",
            "pattern": "^[0-9]+$",
            "example": "4917610000000000"
          },
          "expiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "description": "The expiry date of the network token. This value is likely different to the expiry date of the underlying card that corresponds to the network token (found in `paymentInstrument.cardExpiryDate`). Include this value where you use this token in payment authorization requests.",
            "properties": {
              "month": {
                "type": "integer",
                "minimum": 1,
                "maximum": 12,
                "example": 12
              },
              "year": {
                "type": "integer",
                "example": 2030
              }
            }
          }
        }
      },
      "networkTokenResponsePaymentInstrument": {
        "required": [
          "type"
        ],
        "type": "object",
        "description": "Details of the underlying card corresponding to this network token.",
        "properties": {
          "type": {
            "type": "string",
            "description": "An identifier for the payment instrument being used.",
            "example": "card/masked"
          },
          "firstSix": {
            "type": "string",
            "description": "The first six digits of the card number.",
            "minLength": 6,
            "maxLength": 6,
            "example": "444433"
          },
          "lastFour": {
            "type": "string",
            "description": "The last four digits of the card number.",
            "minLength": 4,
            "maxLength": 4,
            "example": "1111"
          },
          "cardExpiryDate": {
            "required": [
              "month",
              "year"
            ],
            "type": "object",
            "description": "The expiry date of the card.",
            "properties": {
              "month": {
                "type": "integer",
                "minimum": 1,
                "maximum": 12,
                "example": 6
              },
              "year": {
                "type": "integer",
                "example": 2035
              }
            }
          },
          "paymentAccountReference": {
            "type": "string",
            "description": "The payment account reference (PAR) is a non-financial reference that uniquely identifies the underlying cardholder account. This allows you to correlate payments made from the same account with differing instruments (e.g. cards, network tokens, and wallets), where the same account funds the transaction. A PAR cannot be used to initiate a payment.",
            "example": "Q1HJZ28RKA1EBL470G9XYG90R5D3E",
            "minLength": 29,
            "maxLength": 29,
            "pattern": "^[0-9A-Z]+$"
          }
        }
      }
    },
    "securitySchemes": {
      "BasicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    },
    "examples": {
      "400": {
        "value": {
          "errorName": "bodyDoesNotMatchSchema",
          "message": "The json body provided does not match the expected schema",
          "validationErrors": [
            {
              "errorName": "stringIsTooShort",
              "message": "Token description too short - must be between 1 & 255 characters",
              "jsonPath": "$.description"
            },
            {
              "errorName": "fieldHasInvalidValue",
              "message": "Card expiry month too small - must be between 1 & 12",
              "jsonPath": "$.paymentInstrument.cardExpiryDate.month"
            },
            {
              "errorName": "billingAddressMightContainCardNumber",
              "message": "Address might contain a card number",
              "jsonPath": "$.paymentInstrument.billingAddress.address2"
            }
          ]
        }
      },
      "401": {
        "value": {
          "errorName": "accessDenied",
          "message": "Access to the requested resource has been denied"
        }
      },
      "403": {
        "value": {
          "errorName": "tooManyTokensForNamespace",
          "message": "Too many tokens created for this namespace"
        }
      },
      "404": {
        "value": {
          "errorName": "resourceNotFound",
          "message": "Requested resource was not found"
        }
      },
      "405": {
        "value": {
          "errorName": "methodNotAllowed",
          "message": "Requested method is not allowed"
        }
      },
      "406": {
        "value": {
          "errorName": "headerHasInvalidValue",
          "message": "Accept header is not supported"
        }
      },
      "409": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2030-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/masked",
            "cardNumber": "4444********1111",
            "cardHolderName": "Sherlock Holmes",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            },
            "billingAddress": {
              "address1": "221B Baker Street",
              "address2": "Marylebone",
              "address3": "Westminster",
              "postalCode": "NW1 6XE",
              "city": "London",
              "state": "Greater London",
              "countryCode": "GB"
            },
            "bin": "444433",
            "brand": "VISA",
            "fundingType": "credit"
          },
          "conflicts": {
            "paymentInstrument": {
              "cardHolderName": "Sherlock Holmes"
            },
            "conflictsExpiryDateTime": "2030-06-24T09:49:35Z"
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardHolderName": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdjFnVXlzakdPSXdWWkRhZkZyUmlMd3c9PSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:billingAddress": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdFpSdXFxbWZlNVl1TkpHZEVvZXN3MTlCU0lmdCtxSTUyVDJSdXlmSTIwM3c9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "tokens:conflicts": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0ODUrN2hvZ0cyK1JvQ3JKdUtFZnU5UTFsdTdwODVHTUcwYy92VW02MDlJd2pHQllvcW0zanhWQ3p3Zk9OUW9CYUZtQ1hNbFhwM3lhSXlkYVlNYWJnQUdQUHFpRVAxVXVpZHM2Y2tvTjEvOGNJdFQ0WkVlVEJIVWF6T1dlWTlQMkpnPT0ifQ"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "422": {
        "value": {
          "errorName": "unrecognizedCardBrand",
          "message": "The card brand is not recognized"
        }
      },
      "429": {
        "value": {
          "errorName": "maximumUpdatesExceeded",
          "message": "Maximum number of updates for this token exceeded"
        }
      },
      "500": {
        "value": {
          "errorName": "tokenizationNotEnabled",
          "message": "Tokenization not enabled"
        }
      },
      "query-single-token": {
        "value": {
          "_embedded": {
            "tokens": [
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQUjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                },
                "tokenId": "9925760692793807595",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2026-09-02T14:37:06Z",
                "paymentInstrument": {
                  "type": "card/masked",
                  "cardNumber": "4444********1111",
                  "cardHolderName": "Sherlock Holmes",
                  "cardExpiryDate": {
                    "month": 5,
                    "year": 2037
                  },
                  "billingAddress": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "address3": "Westminster",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "Greater London",
                    "countryCode": "GB"
                  },
                  "bin": "444433",
                  "brand": "VISA",
                  "fundingType": "credit"
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQUjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                  },
                  "tokens:description": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQU0dMUkhEVmZ5bjg0VTVBVkVqTFFvcyJ9"
                  },
                  "tokens:cardHolderName": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeU5hRVBwbGlGeVJ1SmozZ2hta2ZFbEo3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:cardExpiryDate": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeXMxVW4ySlIzUTZHclA1aVRDV3FRS3A3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:billingAddress": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeU5aT3d3L1ZGcE1vVjBQL2t2eDBXYlhiQW8rR2RhcUxRdkhGZXJSMDBGRkU9In0"
                  },
                  "tokens:schemeTransactionReference": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQU3Q1MlVockRlc2R5K1NKU1FBcUJhMzZjdHFSUklYNS9FWkYvbCtkay90WUE9PSJ9"
                  }
                }
              }
            ]
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "query-example-wallet-token": {
        "value": {
          "_embedded": {
            "tokens": [
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXckVkRHdJSjFNQzR5VkE5NHhYUldzYz0ifQ"
                },
                "tokenId": "9925760692793807595",
                "description": "Token Description",
                "tokenExpiryDateTime": "2030-01-23T10:57:01Z",
                "paymentInstrument": {
                  "type": "card/network+masked",
                  "cardNumber": "4818********6530",
                  "last4Digits": "6530",
                  "networkType": "APPLEPAY",
                  "cardExpiryDate": {
                    "month": 5,
                    "year": 2035
                  },
                  "brand": "VISA"
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXckVkRHdJSjFNQzR5VkE5NHhYUldzYz0ifQ"
                  }
                }
              }
            ]
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "query-tokenId-namespace": {
        "value": {
          "_embedded": {
            "tokens": [
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQUjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                },
                "tokenId": "9925760692793807595",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2026-09-02T14:37:06Z",
                "namespace": "customer-1",
                "paymentInstrument": {
                  "type": "card/masked",
                  "cardNumber": "4444********1111",
                  "cardHolderName": "Sherlock Holmes",
                  "cardExpiryDate": {
                    "month": 5,
                    "year": 2037
                  },
                  "billingAddress": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "address3": "Westminster",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "Greater London",
                    "countryCode": "GB"
                  },
                  "bin": "444433",
                  "brand": "VISA",
                  "fundingType": "credit"
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQUjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                  },
                  "tokens:description": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQU0dMUkhEVmZ5bjg0VTVBVkVqTFFvcyJ9"
                  },
                  "tokens:cardHolderName": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeU5hRVBwbGlGeVJ1SmozZ2hta2ZFbEo3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:cardExpiryDate": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeXMxVW4ySlIzUTZHclA1aVRDV3FRS3A3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:billingAddress": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeU5aT3d3L1ZGcE1vVjBQL2t2eDBXYlhiQW8rR2RhcUxRdkhGZXJSMDBGRkU9In0"
                  },
                  "tokens:schemeTransactionReference": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQU3Q1MlVockRlc2R5K1NKU1FBcUJhMzZjdHFSUklYNS9FWkYvbCtkay90WUE9PSJ9"
                  }
                }
              }
            ]
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "query-namespace": {
        "value": {
          "_embedded": {
            "tokens": [
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiRlRaZkxNclNvdFVLMFd1WTBJVys4R3BoWVRSZWlxUU5RaW96QUlDYjhLNTRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                },
                "tokenId": "9925760692793807595",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2026-09-02T14:33:23Z",
                "namespace": "customer-1",
                "paymentInstrument": {
                  "type": "card/masked",
                  "cardNumber": "4444********1111",
                  "cardHolderName": "Sherlock Holmes",
                  "cardExpiryDate": {
                    "month": 5,
                    "year": 2037
                  },
                  "billingAddress": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "address3": "Westminster",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "Greater London",
                    "countryCode": "GB"
                  },
                  "bin": "444433",
                  "brand": "VISA",
                  "fundingType": "credit"
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiRlRaZkxNclNvdFVLMFd1WTBJVys4R3BoWVRSZWlxUU5RaW96QUlDYjhLNTRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                  },
                  "tokens:description": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiRlRaZkxNclNvdFVLMFd1WTBJVys4R3BoWVRSZWlxUU5RaW96QUlDYjhLNkdMUkhEVmZ5bjg0VTVBVkVqTFFvcyJ9"
                  },
                  "tokens:cardHolderName": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiRlRaZkxNclNvdFVLMFd1WTBJVys4R3BoWVRSZWlxUU5RaW96QUlDYjhLN2p6RWVHOVkxUXpoMEdlMkR0ak9MeU5hRVBwbGlGeVJ1SmozZ2hta2ZFbEo3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:cardExpiryDate": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiRlRaZkxNclNvdFVLMFd1WTBJVys4R3BoWVRSZWlxUU5RaW96QUlDYjhLN2p6RWVHOVkxUXpoMEdlMkR0ak9MeXMxVW4ySlIzUTZHclA1aVRDV3FRS3A3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:billingAddress": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiRlRaZkxNclNvdFVLMFd1WTBJVys4R3BoWVRSZWlxUU5RaW96QUlDYjhLN2p6RWVHOVkxUXpoMEdlMkR0ak9MeU5aT3d3L1ZGcE1vVjBQL2t2eDBXYlhiQW8rR2RhcUxRdkhGZXJSMDBGRkU9In0"
                  },
                  "tokens:schemeTransactionReference": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiRlRaZkxNclNvdFVLMFd1WTBJVys4R3BoWVRSZWlxUU5RaW96QUlDYjhLNnQ1MlVockRlc2R5K1NKU1FBcUJhMzZjdHFSUklYNS9FWkYvbCtkay90WUE9PSJ9"
                  }
                }
              },
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYUlBallzKzBsNHM5Z3ZsTjhzV1lDSXllaEZ4eE1Vc2R1OWdkSVFhd1ZVdDRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                },
                "tokenId": "9959166139778730365",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2026-09-02T10:39:17Z",
                "namespace": "customer-1",
                "paymentInstrument": {
                  "type": "card/masked",
                  "cardNumber": "3434*******4343",
                  "cardHolderName": "Sherlock Holmes",
                  "cardExpiryDate": {
                    "month": 5,
                    "year": 2037
                  },
                  "billingAddress": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "address3": "Westminster",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "Greater London",
                    "countryCode": "GB"
                  },
                  "bin": "343434",
                  "brand": "AMEX",
                  "fundingType": "credit"
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYUlBallzKzBsNHM5Z3ZsTjhzV1lDSXllaEZ4eE1Vc2R1OWdkSVFhd1ZVdDRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                  },
                  "tokens:description": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYUlBallzKzBsNHM5Z3ZsTjhzV1lDSXllaEZ4eE1Vc2R1OWdkSVFhd1ZVdUdMUkhEVmZ5bjg0VTVBVkVqTFFvcyJ9"
                  },
                  "tokens:cardHolderName": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYUlBallzKzBsNHM5Z3ZsTjhzV1lDSXllaEZ4eE1Vc2R1OWdkSVFhd1ZVdmp6RWVHOVkxUXpoMEdlMkR0ak9MeU5hRVBwbGlGeVJ1SmozZ2hta2ZFbEo3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:cardExpiryDate": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYUlBallzKzBsNHM5Z3ZsTjhzV1lDSXllaEZ4eE1Vc2R1OWdkSVFhd1ZVdmp6RWVHOVkxUXpoMEdlMkR0ak9MeXMxVW4ySlIzUTZHclA1aVRDV3FRS3A3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:billingAddress": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYUlBallzKzBsNHM5Z3ZsTjhzV1lDSXllaEZ4eE1Vc2R1OWdkSVFhd1ZVdmp6RWVHOVkxUXpoMEdlMkR0ak9MeU5aT3d3L1ZGcE1vVjBQL2t2eDBXYlhiQW8rR2RhcUxRdkhGZXJSMDBGRkU9In0"
                  },
                  "tokens:schemeTransactionReference": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYUlBallzKzBsNHM5Z3ZsTjhzV1lDSXllaEZ4eE1Vc2R1OWdkSVFhd1ZVdXQ1MlVockRlc2R5K1NKU1FBcUJhMzZjdHFSUklYNS9FWkYvbCtkay90WUE9PSJ9"
                  }
                }
              }
            ]
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "query-namespace-network": {
        "value": {
          "_embedded": {
            "tokens": [
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoicFNYbzNBdHN5NFFLbm9GZ2JuWTNLNm1WRllGT2p5R2hnSzlqdE9oVFlQdERaR1ZqMzFMcW05ZzJFNi9hTFRxaCJ9"
                },
                "tokenId": "9925163845344159004",
                "namespace": "my-namespace",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2030-06-24T14:12:30Z",
                "paymentInstrument": {
                  "type": "card/network+masked",
                  "cardNumber": "5454********5454",
                  "last4Digits": "5454",
                  "networkType": "APPLEPAY",
                  "brand": "ECMC",
                  "cardExpiryDate": {
                    "month": 12,
                    "year": 2030
                  }
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoicFNYbzNBdHN5NFFLbm9GZ2JuWTNLNm1WRllGT2p5R2hnSzlqdE9oVFlQdERaR1ZqMzFMcW05ZzJFNi9hTFRxaCJ9"
                  }
                }
              },
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoicFNYbzNBdHN55R2hnSzlqdE9oVFlQuWTNLNm1WRllGT2p5R2hnSzlqdE9oVFlQdERaR1ZqMzFMcW05ZzJFNi9hTFRxaCJ9"
                },
                "tokenId": "9925163845344159005",
                "namespace": "my-namespace",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2029-06-24T14:12:30Z",
                "paymentInstrument": {
                  "type": "card/network+masked",
                  "cardNumber": "4444********1111",
                  "last4Digits": "1111",
                  "networkType": "GOOGLEPAY",
                  "brand": "VISA",
                  "cardExpiryDate": {
                    "month": 12,
                    "year": 2029
                  }
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoicFNYbzNBdHN55R2hnSzlqdE9oVFlQuWTNLNm1WRllGT2p5R2hnSzlqdE9oVFlQdERaR1ZqMzFMcW05ZzJFNi9hTFRxaCJ9"
                  }
                }
              }
            ]
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "query-no-results": {
        "value": {
          "_embedded": {
            "tokens": []
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "query-detoke": {
        "value": {
          "_embedded": {
            "tokens": [
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQUjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                },
                "tokenId": "9925760692793807595",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2026-09-02T14:37:06Z",
                "paymentInstrument": {
                  "type": "card/front",
                  "cardNumber": "4444333322221111",
                  "cardHolderName": "Sherlock Holmes",
                  "cardExpiryDate": {
                    "month": 5,
                    "year": 2037
                  },
                  "billingAddress": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "address3": "Westminster",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "Greater London",
                    "countryCode": "GB"
                  },
                  "bin": "444433",
                  "brand": "VISA",
                  "fundingType": "credit"
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQUjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9"
                  },
                  "tokens:description": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQU0dMUkhEVmZ5bjg0VTVBVkVqTFFvcyJ9"
                  },
                  "tokens:cardHolderName": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeU5hRVBwbGlGeVJ1SmozZ2hta2ZFbEo3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:cardExpiryDate": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeXMxVW4ySlIzUTZHclA1aVRDV3FRS3A3RnpSN2xPQ210elBIQkZBSzdiNHc9In0"
                  },
                  "tokens:billingAddress": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQVGp6RWVHOVkxUXpoMEdlMkR0ak9MeU5aT3d3L1ZGcE1vVjBQL2t2eDBXYlhiQW8rR2RhcUxRdkhGZXJSMDBGRkU9In0"
                  },
                  "tokens:schemeTransactionReference": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiMmEySFRyUGdFQk9DQVBJWE9vZFQ2NEpJa08rK3hwYktyRnlBenpoWEpQU3Q1MlVockRlc2R5K1NKU1FBcUJhMzZjdHFSUklYNS9FWkYvbCtkay90WUE9PSJ9"
                  },
                  "tokens:networkToken": {
                    "href": "https://try.access.worldpay.com/tokens/network"
                  }
                }
              }
            ]
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "query-example-wallet-detokenized": {
        "value": {
          "_embedded": {
            "tokens": [
              {
                "tokenPaymentInstrument": {
                  "type": "card/tokenized",
                  "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoicFNYbzNBdHN5NFFLbm9GZ2JuWTNLNm1WRllGT2p5R2hnSzlqdE9oVFlQdERaR1ZqMzFMcW05ZzJFNi9hTFRxaCJ9"
                },
                "tokenId": "9925163845344159004",
                "namespace": "my-namespace",
                "description": "Test Token Description",
                "tokenExpiryDateTime": "2030-06-24T14:12:30Z",
                "paymentInstrument": {
                  "type": "card/network",
                  "cardNumber": "5454545454545454",
                  "last4Digits": "5454",
                  "networkType": "APPLEPAY",
                  "brand": "ECMC",
                  "cardExpiryDate": {
                    "month": 12,
                    "year": 2030
                  }
                },
                "_links": {
                  "tokens:token": {
                    "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoicFNYbzNBdHN5NFFLbm9GZ2JuWTNLNm1WRllGT2p5R2hnSzlqdE9oVFlQdERaR1ZqMzFMcW05ZzJFNi9hTFRxaCJ9"
                  }
                }
              }
            ]
          },
          "_links": {
            "tokens:tokens": {
              "href": "https://try.access.worldpay.com/tokens{?tokenId,namespace}",
              "templated": true
            },
            "resourceTree": {
              "href": "https://try.access.worldpay.com/rels/tokens/resourceTree.json"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "token-query-400-tokenId-issues": {
        "value": {
          "errorName": "urlContainsInvalidValue",
          "message": "The URL contains a value or values that are invalid",
          "validationErrors": [
            {
              "errorName": "stringIsTooShort",
              "message": "Token ID too short - must be between 15 & 21 characters",
              "jsonPath": "tokenId"
            },
            {
              "errorName": "fieldHasInvalidValue",
              "message": "Invalid token ID - must be uppercase alphanumeric string except I or O",
              "jsonPath": "tokenId"
            }
          ]
        }
      },
      "token-query-400-namespace-issues": {
        "value": {
          "errorName": "urlContainsInvalidValue",
          "message": "The URL contains a value or values that are invalid",
          "validationErrors": [
            {
              "errorName": "stringIsTooShort",
              "message": "Namespace too short - must be between 1 & 64 characters",
              "jsonPath": "namespace"
            },
            {
              "errorName": "stringIsTooLong",
              "message": "Namespace too long - must be between 1 & 64 characters",
              "jsonPath": "namespace"
            },
            {
              "errorName": "fieldHasInvalidValue",
              "message": "Invalid namespace - must not start with an underscore and must conform to ISO-8859-1 (ISO Latin 1) character encoding (excluding spaces, & and <)",
              "jsonPath": "namespace"
            }
          ]
        }
      },
      "401-access-denied": {
        "value": {
          "errorName": "accessDenied",
          "message": "Access to the requested resource has been denied"
        }
      },
      "403-access-denied": {
        "value": {
          "errorName": "accessDenied",
          "message": "Access to the requested resource has been denied"
        }
      },
      "create-card-token-minimal": {
        "value": {
          "paymentInstrument": {
            "type": "card/front",
            "cardHolderName": "Sherlock Holmes",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            }
          },
          "merchant": {
            "entity": "default"
          }
        }
      },
      "create-card-token-full": {
        "value": {
          "description": "Test Description",
          "namespace": "0005",
          "paymentInstrument": {
            "type": "card/front",
            "cardHolderName": "Sherlock Holmes",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
              "month": 5,
              "year": 2037
            },
            "billingAddress": {
              "address1": "Apartment 4",
              "address2": "3550 Lenox Road",
              "address3": "Lindbergh",
              "postalCode": "30326",
              "city": "Atlanta",
              "state": "GA",
              "countryCode": "US"
            }
          },
          "merchant": {
            "entity": "default"
          },
          "schemeTransactionReference": "12345678901234567890123"
        }
      },
      "create-token-from-network-token": {
        "value": {
          "paymentInstrument": {
            "type": "card/networkToken",
            "tokenNumber": "4444333322221111",
            "expiryDate": {
              "month": 1,
              "year": 2035
            }
          },
          "merchant": {
            "entity": "default"
          }
        }
      },
      "create-token-from-apple-pay-token": {
        "value": {
          "paymentInstrument": {
            "type": "card/networkToken+applepay",
            "tokenNumber": "4444333322221111",
            "expiryDate": {
              "month": 1,
              "year": 2035
            }
          },
          "merchant": {
            "entity": "default"
          }
        }
      },
      "create-token-from-google-pay-token": {
        "value": {
          "paymentInstrument": {
            "type": "card/networkToken+googlepay",
            "tokenNumber": "4444333322221111",
            "expiryDate": {
              "month": 1,
              "year": 2035
            }
          },
          "merchant": {
            "entity": "default"
          }
        }
      },
      "create-token-from-samsung-pay-token": {
        "value": {
          "paymentInstrument": {
            "type": "card/networkToken+samsungpay",
            "tokenNumber": "4444333322221111",
            "expiryDate": {
              "month": 1,
              "year": 2035
            }
          },
          "merchant": {
            "entity": "default"
          }
        }
      },
      "card-token": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2030-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/masked",
            "cardNumber": "4444********1111",
            "cardHolderName": "Sherlock Holmes",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            },
            "billingAddress": {
              "address1": "221B Baker Street",
              "address2": "Marylebone",
              "address3": "Westminster",
              "postalCode": "NW1 6XE",
              "city": "London",
              "state": "Greater London",
              "countryCode": "GB"
            },
            "bin": "444433",
            "brand": "VISA",
            "fundingType": "credit"
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardHolderName": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdjFnVXlzakdPSXdWWkRhZkZyUmlMd3c9PSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:billingAddress": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdFpSdXFxbWZlNVl1TkpHZEVvZXN3MTlCU0lmdCtxSTUyVDJSdXlmSTIwM3c9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "token-from-network-token": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2021-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/network+masked",
            "cardNumber": "4818********6530",
            "last4Digits": "6530",
            "networkType": "NETWORKTOKEN",
            "brand": "VISA",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            }
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "token-from-apple-pay": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2021-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/network+masked",
            "cardNumber": "4818********6530",
            "last4Digits": "6530",
            "networkType": "APPLEPAY",
            "brand": "VISA",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            }
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "token-from-google-pay": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2021-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/network+masked",
            "cardNumber": "4818********6530",
            "last4Digits": "6530",
            "networkType": "GOOGLEPAY",
            "brand": "VISA",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            }
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "token-from-samsung-pay": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2021-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/network+masked",
            "cardNumber": "4818********6530",
            "last4Digits": "6530",
            "networkType": "SAMSUNGPAY",
            "brand": "VISA",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            }
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "card-token-namespace": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "namespace": "0005",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2030-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/masked",
            "cardNumber": "4444********1111",
            "cardHolderName": "Sherlock Holmes",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            },
            "billingAddress": {
              "address1": "221B Baker Street",
              "address2": "Marylebone",
              "address3": "Westminster",
              "postalCode": "NW1 6XE",
              "city": "London",
              "state": "Greater London",
              "countryCode": "GB"
            },
            "bin": "444433",
            "brand": "VISA",
            "fundingType": "credit"
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardHolderName": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdjFnVXlzakdPSXdWWkRhZkZyUmlMd3c9PSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:billingAddress": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdFpSdXFxbWZlNVl1TkpHZEVvZXN3MTlCU0lmdCtxSTUyVDJSdXlmSTIwM3c9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "detokenized-card-token": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXaGdPVU5iVmZ0Rm5TUDZuK3N1Mm5abnZtYjM3RXppMy84N2J6ZWlXYkhyUiJ9"
          },
          "tokenId": "9925760692793807595",
          "description": "Token Description",
          "tokenExpiryDateTime": "2030-01-23T10:57:01Z",
          "namespace": "my-authenticated-shopper",
          "paymentInstrument": {
            "type": "card/front",
            "cardNumber": "4444333322221111",
            "cardHolderName": "Card Holder Name",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            },
            "bin": "444433",
            "brand": "VISA",
            "fundingType": "credit",
            "billingAddress": {
              "address1": "Address 1",
              "address2": "Address 2",
              "address3": "Address 3",
              "postalCode": "Postal Code",
              "city": "City",
              "state": "State",
              "countryCode": "XX"
            }
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXaGdPVU5iVmZ0Rm5TUDZuK3N1Mm5abnZtYjM3RXppMy84N2J6ZWlXYkhyUiJ9"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXaGdPVU5iVmZ0Rm5TUDZuK3N1Mm5abXlBdGFNaFRIdE1Oc2lybUZQeWFWOTFMR3BqVW1LaDBPdUsrYkczWEdWWWc9PSJ9"
            },
            "tokens:cardHolderName": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXaGdPVU5iVmZ0Rm5TUDZuK3N1Mm5abGFqUW1IQ2k5NWk0SEx3U0JrYWdHSWlTdTNNRkZ2V0NPN09FekprQW15cjlZRk1ySXhqaU1GV1EybnhhMFlpOE09In0"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXaGdPVU5iVmZ0Rm5TUDZuK3N1Mm5abGFqUW1IQ2k5NWk0SEx3U0JrYWdHSWlTdTNNRkZ2V0NPN09FekprQW15cnhJbEp4ZXFaWHZERExEMk9CYU5iRE09In0"
            },
            "tokens:billingAddress": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXaGdPVU5iVmZ0Rm5TUDZuK3N1Mm5abGFqUW1IQ2k5NWk0SEx3U0JrYWdHSVdVYnFxcG4zdVdMalNSblJLSHJNTmZRVWlIN2ZxaU9kazlrYnNueU50Tjg9In0"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXaGdPVU5iVmZ0Rm5TUDZuK3N1Mm5abGFqUW1IQ2k5NWk0SEx3U0JrYWdHSVBHS21Ndld4RDdJS040aThMdW1TQ05xa0FrRkw2NW00aFJxd2dqQWgrSDJaZWo0TEVuZng4bFF3ZnZyVzZLZEoifQ"
            },
            "tokens:networkToken": {
              "href": "https://try.access.worldpay.com/tokens/network"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "example-detokenized-wallet-token": {
        "value": {
          "tokenPaymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
          },
          "tokenId": "9902480679618049603",
          "description": "Test Token Description",
          "tokenExpiryDateTime": "2021-06-24T09:19:35Z",
          "paymentInstrument": {
            "type": "card/network",
            "cardNumber": "4818000000006530",
            "last4Digits": "6530",
            "networkType": "GOOGLEPAY",
            "brand": "VISA",
            "cardExpiryDate": {
              "month": 5,
              "year": 2035
            }
          },
          "_links": {
            "tokens:token": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ"
            },
            "tokens:description": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9"
            },
            "tokens:cardExpiryDate": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9"
            },
            "tokens:schemeTransactionReference": {
              "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "update-billing-address": {
        "value": {
          "address1": "1 Test Street",
          "address2": "Address line 2",
          "address3": "Address line 3",
          "postalCode": "TE12 34ST",
          "city": "Testville",
          "state": "Testshire",
          "countryCode": "TS"
        }
      },
      "update-card-expiry-date": {
        "value": {
          "month": 1,
          "year": 2035
        }
      },
      "update-cardholder-name": {
        "value": "new name"
      },
      "update-token-description": {
        "value": "new description"
      },
      "update-scheme-transaction-reference": {
        "value": "000000000000020005060720116005060"
      },
      "create-network-token-from-card": {
        "value": {
          "paymentInstrument": {
            "cardHolderName": "Sherlock Holmes",
            "type": "card/front",
            "cardExpiryDate": {
              "month": 1,
              "year": 2035
            },
            "cardNumber": "4444333322221111"
          },
          "merchant": {
            "entity": "default"
          }
        }
      },
      "create-network-token-from-card-token": {
        "value": {
          "merchant": {
            "entity": "default"
          },
          "paymentInstrument": {
            "type": "card/tokenized",
            "href": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoia0gvT2xpdDV3WnpOZG1GTWpwemtXckVkRHdJSjFNQzR5VkE5NHhYUldzYz0ifQ"
          }
        }
      },
      "network-token-from-card": {
        "value": {
          "tokenReference": "aa224320-425c-40b6-9781-2cb7df76b0c8",
          "tokenPaymentInstrument": {
            "status": "Active",
            "type": "card/networkToken",
            "tokenNumber": "4917610000000000",
            "expiryDate": {
              "month": 3,
              "year": 2030
            }
          },
          "paymentInstrument": {
            "type": "card/masked",
            "firstSix": "444433",
            "lastFour": "1111",
            "cardExpiryDate": {
              "month": 1,
              "year": 2030
            },
            "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
          },
          "_links": {
            "self": {
              "href": "https://try.access.worldpay.com/tokens/network"
            },
            "tokens:networkTokenLookup": {
              "href": "https://try.access.worldpay.com/tokens/network/aa224320-425c-40b6-9781-2cb7df76b0c8"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "network-token-from-token": {
        "value": {
          "tokenReference": "aa224320-425c-40b6-9781-2cb7df76b0c8",
          "tokenPaymentInstrument": {
            "status": "Active",
            "type": "card/networkToken",
            "tokenNumber": "4917610000000000",
            "expiryDate": {
              "month": 3,
              "year": 2030
            }
          },
          "paymentInstrument": {
            "type": "card/masked",
            "firstSix": "444433",
            "lastFour": "1111",
            "cardExpiryDate": {
              "month": 1,
              "year": 2030
            },
            "paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
          },
          "_links": {
            "self": {
              "href": "https://try.access.worldpay.com/tokens/network"
            },
            "tokens:networkTokenLookup": {
              "href": "https://try.access.worldpay.com/tokens/network/aa224320-425c-40b6-9781-2cb7df76b0c8"
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      },
      "400-cardholder-name-missing": {
        "value": {
          "errorName": "bodyDoesNotMatchSchema",
          "message": "The json body provided does not match the expected schema",
          "validationErrors": [
            {
              "errorName": "fieldIsMissing",
              "message": "Card holder name must be supplied",
              "jsonPath": "$.paymentInstrument.cardHolderName"
            }
          ]
        }
      },
      "400-format-incorrect": {
        "value": {
          "errorName": "bodyDoesNotMatchSchema",
          "message": "The json body provided does not match the expected schema",
          "validationErrors": [
            {
              "errorName": "panFailedLuhnCheck",
              "message": "Card number is not valid",
              "jsonPath": "$.paymentInstrument.cardNumber"
            }
          ]
        }
      },
      "403-account-not-configured": {
        "value": {
          "errorName": "nptConfigurationError",
          "message": "Account not configured to use NPT"
        }
      },
      "404-resource": {
        "value": {
          "errorName": "resourceNotFound",
          "message": "Requested resource was not found"
        }
      },
      "500-internal-server": {
        "value": {
          "errorName": "internalErrorOccurred",
          "message": "Internal server error"
        }
      },
      "404-token": {
        "value": {
          "errorName": "networkProviderError",
          "message": "Network Token Provider Error"
        }
      },
      "500-provider": {
        "value": {
          "errorName": "networkProviderError",
          "message": "Network Token Provider Error"
        }
      },
      "503-provider": {
        "value": {
          "errorName": "networkProviderError",
          "message": "Network Token Provider Error"
        }
      },
      "503-internal-server": {
        "value": {
          "errorName": "internalErrorOccurred",
          "message": "Internal server error"
        }
      },
      "create-cryptogram": {
        "value": {
          "tokenNumber": "4111111111111111"
        }
      },
      "cryptogram": {
        "value": {
          "cryptogramDetails": {
            "cryptogram": "AgAAAAAASFh+gDRt/rq8QOkAAAA=",
            "eci": "07"
          },
          "_links": {
            "self": {
              "href": "https://try.access.worldpay.com/tokens/network/cryptograms"
            },
            "tokens:networkTokenLookup": {
              "href": "https://try.access.worldpay.com/tokens/network/{tokenReference}",
              "templated": true
            },
            "curies": [
              {
                "href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
                "name": "tokens",
                "templated": true
              }
            ]
          }
        }
      }
    }
  },
  "security": [
    {
      "BasicAuth": []
    }
  ],
  "tags": [
    {
      "name": "Token",
      "description": "A token representing a payment instrument."
    },
    {
      "name": "Network token",
      "description": "A network token representing a payment instrument."
    }
  ]
}