> For the complete documentation index, see [llms.txt](https://firstoken.gitbook.io/api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://firstoken.gitbook.io/api-docs/api-reference/transactions/tokenize-a-transaction.md).

# Tokenize a Transaction

To create a permanent token from a transactional token, you can utilize the following method in your application or interface. This method takes in a transactional token as input and generates a permanent token, which is securely stored in the Firstoken vault.

{% tabs %}
{% tab title="cUrl" %}
**POST /V1/requests/:transactionID/tokenize**

```
curl -X POST https://api.firstoken.co/transactions/requests/{{transaction_id}}/tokenize' 
-H 'x-api-key: YOUR_API_KEY' 
-H "Content-Type: application/json"
```

{% endtab %}

{% tab title="Attributes of the request" %}
**tags:** *\[string]*

> *Required: true*
>
> The tags value is a string array of tags that wants to be associated with the transaction ID. For example invoice id, member id, etc.

**scheme:** *integer*

> *Required: true*
>
> Scheme value represents what format do you want to use for the tokenization process in the request.
> {% endtab %}

{% tab title="Attributes of the response" %}

**status\_code:** *int*

> The status code represents the result of the operation that was performed. For successful transactions a code 200 is always returned for the others another code is returned.

**status:** *string*

> The status is a string result that only has two possible values. "Success" or "Fail".

**desc**: *string*

> The desc value represents a short description about the status code.

**data**: *{object}*

> The value of the data represents a set of JSON objects of tokenized credit cards. Each object has the following attributes:
>
> * **tokens:** *\[{object}]*
>   * **card**: *string*
>
>     The truncated value of the credit card number.
>   * **token**: *string*
>
>     The permanent token value.
>   * **tags**: *\[string]*
>
>     The tags associated to the credit card.
>   * **scheme**: *int*
>
>     The scheme used to tokenize the card.
>   * **status**: *int*
>
>     Value 1 if it was possible to tokenize the credit card. Value 0 if it was not possible to tokenize the credit card.
>   * **created\_by**: *string*
>
>     The username that tokenized the card.
>   * **createdAt**: *ISODate*
>
>     The ISODate of the tokenization.
>     {% endtab %}
>     {% endtabs %}

<details>

<summary>Example JSON request body</summary>

```json
{
    "tags": [
        "TESLA",
        "TEST"
    ],
    "scheme": "7"
}
```

</details>

<details>

<summary>Example JSON response body</summary>

```json
{
    "status_code": 200,
    "status": "success",
    "desc": "Success",
    "data": {
        "tokens": [
            {
                "card": "424242******4242",
                "token": "f3790191-4b4d-4f00-8afe-11e64f68cef2",
                "tags": [
                    "tesla",
                    "test"
                ],
                "scheme": "7",
                "created_by": {
                    "user_id": "API",
                    "name": "API"
                },
                "status": 1,
                "createdAt": "2022-10-23T20:05:48.198Z"
            }
        ]
    }
}
```

</details>
