---
title: List Tokens
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/typescript)

[Accounts](https://developers.cloudflare.com/api/typescript/resources/accounts)

[Tokens](https://developers.cloudflare.com/api/typescript/resources/accounts/subresources/tokens)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# List Tokens

client.accounts.tokens.list(TokenListParams {account\_id, direction, include\_expired, 2 more } params, RequestOptionsoptions?): V4PagePaginationArray< [Token](<https://developers.cloudflare.com/api/typescript/resources/$shared#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)>) {id, condition, creator\_email\_at\_creation, 10 more } >

GET/accounts/{account\_id}/tokens

List Account Owned API tokens created for this account. Callers with `com.cloudflare.api.account.token.list_self` permission only receive tokens they created. Results include active, disabled, and recently-expired tokens when `include_expired` is set to true.

##### Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. [Create a token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/).

**Example:**`Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY`

##### Accepted Permissions (at least one required)

`Account API Tokens Write``Account API Tokens Read`

##### ParametersExpand Collapse

<details>

<summary>

params: TokenListParams {account\_id, direction, include\_expired, 2 more }

</summary>

account\_id: string

Path param: Account identifier tag.

maxLength32

minLength32

<a href="#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20account_id">Link to this property</a>

<details>

<summary>

direction?: "asc"| "desc"

Query param: Direction to order results.

</summary>

One of the following:

"asc"

<a href="#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20direction%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

"desc"

<a href="#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20direction%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20direction">Link to this property</a>

include\_expired?: boolean

Query param: When true, includes recently-expired tokens in the response.

<a href="#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20include_expired">Link to this property</a>

page?: number

Query param: Page number of paginated results.

minimum1

<a href="#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20page">Link to this property</a>

per\_page?: number

Query param: Maximum number of results per page.

maximum50

minimum5

<a href="#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default%20%3E%20(param)%20per_page">Link to this property</a>

</details>

[Link to this property](<#(resource)%20accounts.tokens%20%3E%20(method)%20list%20%3E%20(params)%20default>)

##### ReturnsExpand Collapse

<details>

<summary>

Token {id, condition, creator\_email\_at\_creation, 10 more }

</summary>

id?: string

Token identifier tag.

maxLength32

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

<details>

<summary>

condition?: Condition {request\_ip }

</summary>

<details>

<summary>

request\_ip?: RequestIP {in, not\_in }

Client IP restrictions.

</summary>

in?: Array&lt;<a href="https://developers.cloudflare.com/api/typescript/resources/$shared#(resource)%20%24shared%20%3E%20(model)%20token_condition_cidr_list%20%3E%20(schema)">TokenConditionCIDRList</a>&gt;

List of IPv4/IPv6 CIDR addresses.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20condition%20%3E%20(property)%20request_ip%20%3E%20(property)%20in">Link to this property</a>

not\_in?: Array&lt;<a href="https://developers.cloudflare.com/api/typescript/resources/$shared#(resource)%20%24shared%20%3E%20(model)%20token_condition_cidr_list%20%3E%20(schema)">TokenConditionCIDRList</a>&gt;

List of IPv4/IPv6 CIDR addresses.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20condition%20%3E%20(property)%20request_ip%20%3E%20(property)%20not_in">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20condition%20%3E%20(property)%20request_ip">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20condition">Link to this property</a>

creator\_email\_at\_creation?: string

The email address of the user who created the token at the time of creation. Only present for Account Owned API Tokens when a creator email was available.

maxLength90

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20creator_email_at_creation">Link to this property</a>

expires\_on?: string

The expiration time on or after which the JWT MUST NOT be accepted for processing.

formatdate-time

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20expires_on">Link to this property</a>

issued\_on?: string

The time on which the token was created.

formatdate-time

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20issued_on">Link to this property</a>

last\_used\_on?: string

Last time the token was used.

formatdate-time

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20last_used_on">Link to this property</a>

modified\_on?: string

Last time the token was modified.

formatdate-time

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20modified_on">Link to this property</a>

name?: string

Token name.

maxLength120

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20name">Link to this property</a>

not\_before?: string

The time before which the token MUST NOT be accepted for processing.

formatdate-time

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20not_before">Link to this property</a>

<details>

<summary>

policies?: Array&lt;<a href="https://developers.cloudflare.com/api/typescript/resources/$shared#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)">TokenPolicy</a> {id, effect, permission\_groups, resources } &gt;

List of access policies assigned to the token.

</summary>

id: string

Policy identifier.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

<details>

<summary>

effect: "allow"| "deny"

Allow or deny operations against the resources.

</summary>

One of the following:

"allow"

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20effect%20%3E%20(member)%200">Link to this property</a>

"deny"

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20effect%20%3E%20(member)%201">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20effect">Link to this property</a>

<details>

<summary>

permission\_groups: Array&lt;PermissionGroup&gt;

A set of permission groups that are specified to the policy.

</summary>

id: string

Identifier of the permission group.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20id">Link to this property</a>

<details>

<summary>

meta?: Meta {category, deprecated, description, 5 more }

Attributes associated to the permission group.

</summary>

category?: string

A category used to group permission groups.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20category">Link to this property</a>

deprecated?: string

Indicates whether the permission group is deprecated.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20deprecated">Link to this property</a>

description?: string

Additional information about the permission group.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20description">Link to this property</a>

editable?: string

Indicates whether the permission group can be edited.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20editable">Link to this property</a>

eol\_at?: string

The planned end-of-life date and time, when provided.

formatdate-time

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20eol_at">Link to this property</a>

label?: string

A label identifying the permission group.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20label">Link to this property</a>

scopes?: string

The scope associated with the permission group.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20scopes">Link to this property</a>

visibility?: string

Indicates the permission group’s availability or visibility.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta%20%3E%20(property)%20visibility">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20meta">Link to this property</a>

name?: string

Name of the permission group.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups%20%3E%20(items)%20%3E%20(property)%20name">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20permission_groups">Link to this property</a>

<details>

<summary>

resources: Record&lt;string, string&gt;| Record&lt;string, Record&lt;string, string&gt;&gt;

A list of resource names that the policy applies to.

</summary>

One of the following:

Record&lt;string, string&gt;

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20resources%20%3E%20(variant)%200">Link to this property</a>

Record&lt;string, Record&lt;string, string&gt;&gt;

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20resources%20%3E%20(variant)%201">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token_policy%20%3E%20(schema)%20%3E%20(property)%20resources">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20policies">Link to this property</a>

provisioner\_id?: string| null

The identifier of the service that provisioned the token. For an OAuth-provisioned token, this is the OAuth client identifier. Present when <code>provisioner_type</code> is present and null when the identifier is unavailable.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20provisioner_id">Link to this property</a>

provisioner\_type?: string

The type of service that provisioned the token. Only present for provisioned Account Owned API Tokens.

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20provisioner_type">Link to this property</a>

<details>

<summary>

status?: "active"| "disabled"| "expired"

Status of the token.

</summary>

One of the following:

"active"

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%200">Link to this property</a>

"disabled"

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%201">Link to this property</a>

"expired"

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20status%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)%20%3E%20(property)%20status">Link to this property</a>

</details>

[Link to this property](<#(resource)%20%24shared%20%3E%20(model)%20token%20%3E%20(schema)>)

### List Tokens

TypeScript

HTTPTypeScriptPythonGoTerraform

```
import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const token of client.accounts.tokens.list({
  account_id: '023e105f4ecef8ad9ca31a8372d0c353',
})) {
  console.log(token.id);
}
```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "id": "ed17574386854bf78a67040be0a770b0",
      "condition": {
        "request_ip": {
          "in": [
            "123.123.123.0/24",
            "2606:4700::/32"
          ],
          "not_in": [
            "123.123.123.100/24",
            "2606:4700:4700::/48"
          ]
        }
      },
      "creator_email_at_creation": "user@example.com",
      "expires_on": "2020-01-01T00:00:00Z",
      "issued_on": "2018-07-01T05:20:00Z",
      "last_used_on": "2020-01-02T12:34:00Z",
      "modified_on": "2018-07-02T05:20:00Z",
      "name": "readonly token",
      "not_before": "2018-07-01T05:20:00Z",
      "policies": [
        {
          "id": "f267e341f3dd4697bd3b9f71dd96247f",
          "effect": "allow",
          "permission_groups": [
            {
              "id": "c8fed203ed3043cba015a93ad1616f1f",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "load_balancer_admin",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Zone Read"
            },
            {
              "id": "82e64a83756745bbbb1c9c2701bf816b",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "fbm_user",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Magic Network Monitoring"
            }
          ],
          "resources": {
            "com.cloudflare.api.account.zone.22b1de5f1c0e4b3ea97bb1e963b06a43": "*"
          }
        }
      ],
      "provisioner_id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
      "provisioner_type": "com.cloudflare.api.oauthtoken",
      "status": "active"
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "id": "ed17574386854bf78a67040be0a770b0",
      "condition": {
        "request_ip": {
          "in": [
            "123.123.123.0/24",
            "2606:4700::/32"
          ],
          "not_in": [
            "123.123.123.100/24",
            "2606:4700:4700::/48"
          ]
        }
      },
      "creator_email_at_creation": "user@example.com",
      "expires_on": "2020-01-01T00:00:00Z",
      "issued_on": "2018-07-01T05:20:00Z",
      "last_used_on": "2020-01-02T12:34:00Z",
      "modified_on": "2018-07-02T05:20:00Z",
      "name": "readonly token",
      "not_before": "2018-07-01T05:20:00Z",
      "policies": [
        {
          "id": "f267e341f3dd4697bd3b9f71dd96247f",
          "effect": "allow",
          "permission_groups": [
            {
              "id": "c8fed203ed3043cba015a93ad1616f1f",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "load_balancer_admin",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Zone Read"
            },
            {
              "id": "82e64a83756745bbbb1c9c2701bf816b",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "fbm_user",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Magic Network Monitoring"
            }
          ],
          "resources": {
            "com.cloudflare.api.account.zone.22b1de5f1c0e4b3ea97bb1e963b06a43": "*"
          }
        }
      ],
      "provisioner_id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
      "provisioner_type": "com.cloudflare.api.oauthtoken",
      "status": "active"
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
```