Skip to main content
Pinecone Docs

Search documentation

Type to search this documentation.

On this pageOverview

Manage API keys

Create, view, update, and delete Pinecone API keys with custom permissions per project, including scoped roles and data plane access controls.

Each Pinecone project has one or more API keys. To make calls to the Pinecone API, you must provide a valid API key for the relevant Pinecone project.

This page shows you how to create, view, update, and delete API keys.

You can create a new API key for your project, as follows:

  1. Open the Pinecone console.
  2. Select your project.
  3. Go to API keys.
  4. Click Create API key.
  5. Enter an API key name.
  6. Select the Permissions to grant to the API key. For a description of the permission roles, see Project roles.Users on the Starter and Builder plans can set the permissions to All only. To customize the permissions further, upgrade to the Standard or Enterprise plan.
  7. Click Create key.
  8. Copy and save the generated API key in a secure place for future use.You will not be able to see the API key again after you close the dialog.
  9. Click Close.
curl
PINECONE_PROJECT_ID="YOUR_PROJECT_ID"
PINECONE_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"

curl -X POST "https://api.pinecone.io/admin/projects/$PINECONE_PROJECT_ID/api-keys" \
     -H "X-Pinecone-Api-Version: 2026-07" \
     -H "Authorization: Bearer $PINECONE_ACCESS_TOKEN" \
     -d '{
           "name": "example-api-key",
           "roles": ["ProjectEditor"]
         }'
CLI
# Target the project for which you want to create an API key.
pc target -o "example-org" -p "example-project"
# Create the API key
pc api-key create -n "example-api-key" --roles ProjectEditor

The example returns a response like the following:

curl
{
  "key": {
    "id": "62b0dbfe-3489-4b79-b850-34d911527c88",
    "name": "example-api-key",
    "project_id": "32c8235a-5220-4a80-a9f1-69c24109e6f2",
    "roles": [
      "ProjectEditor"
    ],
    "created_at": "2025-10-20T23:40:27.069075Z"
  },
  "value": "..."
}
CLI
ATTRIBUTE     VALUE
Name          example-api-key
ID            62b0dbfe-3489-4b79-b850-34d911527c88
Value         ...
Project ID    32c8235a-5220-4a80-a9f1-69c24109e6f2
Roles         ProjectEditor

You can view the API keys for your project:

  1. Open the Pinecone console.
  2. Select your project.
  3. Go to the API keys tab.

You will see a list of all API keys for the project, including their names, IDs, and permissions.

curl
PINECONE_PROJECT_ID="32c8235a-5220-4a80-a9f1-69c24109e6f2"
PINECONE_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"

curl -X GET "https://api.pinecone.io/admin/projects/$PINECONE_PROJECT_ID/api-keys" \
     -H "Authorization: Bearer $PINECONE_ACCESS_TOKEN" \
     -H "X-Pinecone-Api-Version: 2026-07"
CLI
PINECONE_PROJECT_ID="32c8235a-5220-4a80-a9f1-69c24109e6f2"

pc api-key list -i $PINECONE_PROJECT_ID

The example returns a response like the following:

curl
{
  "data": [
    {
      "id": "62b0dbfe-3489-4b79-b850-34d911527c88",
      "name": "example-api-key",
      "project_id": "32c8235a-5220-4a80-a9f1-69c24109e6f2",
      "roles": [
        "ProjectEditor"
      ],
      "created_at": "2025-10-20T23:39:43.665754Z"
    },
    {
      "id": "0d0d3678-81b4-4e0d-a4f0-70ba488acfb7",
      "name": "example-api-key-2",
      "project_id": "32c8235a-5220-4a80-a9f1-69c24109e6f2",
      "roles": [
        "ProjectEditor"
      ],
      "created_at": "2025-10-20T23:43:13.176422Z"
    }
  ]
}
CLI
Organization: example-organization (ID: -NM7af6f234168c4e44a)
Project: example-project (ID: 32c8235a-5220-4a80-a9f1-69c24109e6f2)

API Keys

NAME                 ID                                      PROJECT ID                              ROLES
example-api-key      62b0dbfe-3489-4b79-b850-34d911527c88    32c8235a-5220-4a80-a9f1-69c24109e6f2    ProjectEditor
example-api-key-2    0d0d3678-81b4-4e0d-a4f0-70ba488acfb7    32c8235a-5220-4a80-a9f1-69c24109e6f2    ProjectEditor

You can view the details of an API key:

  1. Open the Pinecone console.
  2. Select your project.
  3. Go to the API keys tab.
  4. In the row of the API key you want to change, in the Actions column, click ellipsis (...) menu > Settings.

You will see the API key's name, ID, and permissions.

curl
PINECONE_API_KEY_ID="62b0dbfe-3489-4b79-b850-34d911527c88"
PINECONE_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"

curl -X GET "https://api.pinecone.io/admin/api-keys/$PINECONE_API_KEY_ID" \
     -H "Authorization: Bearer $PINECONE_ACCESS_TOKEN" \
     -H "accept: application/json" \
     -H "X-Pinecone-Api-Version: 2026-07"
CLI
PINECONE_API_KEY_ID="62b0dbfe-3489-4b79-b850-34d911527c88"

pc api-key describe -i $PINECONE_API_KEY_ID

The example returns a response like the following:

curl
{
  "id": "62b0dbfe-3489-4b79-b850-34d911527c88",
  "name": "example-api-key",
  "project_id": "32c8235a-5220-4a80-a9f1-69c24109e6f2",
  "roles": [
    "ProjectEditor"
  ],
  "created_at": "2025-10-22T19:27:21.202955Z"
}
CLI
ATTRIBUTE     VALUE
Name          example-api-key
ID            62b0dbfe-3489-4b79-b850-34d911527c88
Project ID    32c8235a-5220-4a80-a9f1-69c24109e6f2
Roles         ProjectEditor

If you are a project owner, you can update the name and roles of an API key:

  1. Open the Pinecone console.
  2. Select your project.
  3. Go to the API keys tab.
  4. In the row of the API key you want to change, in the Actions column, click ellipsis (...) menu > Settings.
  5. Change the name and/or permissions for the API key as needed.

    For information about the different API key permissions, refer to Project roles.

  6. Click Update.
curl
PINECONE_API_KEY_ID="62b0dbfe-3489-4b79-b850-34d911527c88"
PINECONE_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"

curl -X PATCH "https://api.pinecone.io/admin/api-keys/$PINECONE_API_KEY_ID" \
     -H "X-Pinecone-Api-Version: 2026-07" \
     -H "Authorization: Bearer $PINECONE_ACCESS_TOKEN" \
     -d '{
           "name": "new-api-key-name",
           "roles": ["ProjectEditor"]
         }'
CLI
PINECONE_API_KEY_ID="62b0dbfe-3489-4b79-b850-34d911527c88"

# Target the organization that contains the API key.
pc target -o "example-org"
# Update the API key name.
pc api-key update -i $PINECONE_API_KEY_ID -n "new-api-key-name"

The example returns a response like the following:

curl
{
  "id": "62b0dbfe-3489-4b79-b850-34d911527c88",
  "name": "new-api-key-name",
  "project_id": "32c8235a-5220-4a80-a9f1-69c24109e6f2",
  "roles": [
    "ProjectEditor"
  ],
  "created_at": "2025-10-22T19:27:21.202955Z"
}
CLI
ATTRIBUTE     VALUE
Name          new-api-key-name
ID            62b0dbfe-3489-4b79-b850-34d911527c88
Project ID    32c8235a-5220-4a80-a9f1-69c24109e6f2
Roles         ProjectEditor

If you are a project owner, you can delete your API key:

  1. Open the Pinecone console.
  2. Select your project.
  3. Go to the API keys tab.
  4. In the row of the API key you want to change, in the Actions column, click ellipsis (...) menu > Delete.
  5. Enter the API key name.
  6. Click Confirm deletion.Deleting an API key is irreversible and will immediately disable any applications using the API key.
curl
PINECONE_API_KEY_ID="62b0dbfe-3489-4b79-b850-34d911527c88"
PINECONE_ACCESS_TOKEN="YOUR_ACCESS_TOKEN"

curl -X DELETE "https://api.pinecone.io/admin/api-keys/$PINECONE_API_KEY_ID" \
     -H "X-Pinecone-Api-Version: 2026-07" \
     -H "Authorization: Bearer $PINECONE_ACCESS_TOKEN"
CLI
PINECONE_API_KEY_ID="62b0dbfe-3489-4b79-b850-34d911527c88"

# Delete the API key. Use --skip-confirmation to skip
# the confirmation prompt.
pc api-key delete -i $PINECONE_API_KEY_ID

The example returns a response like the following:

curl
No response payload
CLI
[WARN] This operation will delete API key example-api-key from project example-project.
[WARN] Any integrations that authenticate with this API key will immediately stop working.
[WARN] This action cannot be undone.
Do you want to continue? (y/N): y
[INFO] You chose to continue delete.
[SUCCESS] API key example-api-key deleted
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu