Pipory
Node reference

Pinecone

Pinecone node reference - all 88 operations, the credential it needs, and a worked example.

Pinecone vector database (Data Store). 88 operations: vectors (upsert, query, fetch by ID or metadata, update, delete, list IDs, index stats), integrated-embedding records, namespaces, bulk imports, indexes, collections, backups and restore jobs, Inference (embed, rerank, models), Assistants (management, files, chat, context, evaluation), and the Admin API (organizations, projects, API keys, users, invites, service accounts, role bindings).

Credential: Pinecone API key + index host - see Credentials.

Roles

Each operation below lists the role it needs. Roles are chosen when the API key is created at app.pinecone.io and NEVER changeable afterwards - a key with the wrong role has to be replaced, not edited. Pinecone has no OAuth scopes and no per-operation grants; every key carries one role out of ProjectEditor/ProjectViewer (everything in the project), ControlPlaneEditor/ControlPlaneViewer (indexes, collections, backups, restore jobs, assistant management) and DataPlaneEditor/DataPlaneViewer (vectors, records, namespaces, imports). Editor implies Viewer, so a DataPlaneViewer key can query but not upsert - and Pinecone answers that write with a 403 whose body never names the missing role. Four things a failure here is NOT a role. First, and most expensive: the 32 Admin operations cannot be reached with an API key at all. /admin/* accepts only an Authorization: Bearer token minted at login.pinecone.io/oauth/token from an OAuth2 SERVICE ACCOUNT; a request carrying Api-Key gets 401 UNAUTHENTICATED - "Missing authorization header", because the key header is not merely insufficient, it is ignored - Pinecone's admin OpenAPI document declares no API-key scheme at all. Service accounts are additionally an Enterprise-plan feature in public preview, so on any other plan those operations cannot be made to work whatever is in the credential. Second, a 401 on the other planes is usually the PROJECT: keys are project-scoped, and a key from a different project in the same organization is rejected exactly like an invalid one. Third, a 404 on the data plane is very often the HOST - each index has its own regional host, and a request sent to the wrong index's host answers 404 identically to a record that does not exist. Fourth, a 400 is usually shape rather than permission: a vector whose length does not match the index dimension, a filtered delete on a serverless index (unsupported there), or a collection operation against a serverless index (collections are pod-only). And one trap that is not an error at all - pinning X-Pinecone-Api-Version to a stale version is ACCEPTED and silently routes to that version's much smaller surface, while omitting the header falls back to the OLDEST supported version rather than the newest. If a run fails with a permission error, the node names the missing role in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (88)

Vectors

OperationWhat it doesRole
upsertUpsert vectorsDataPlaneEditor
queryQuery vectorsDataPlaneViewer
fetchFetch vectors by IDDataPlaneViewer
fetchByMetadataFetch vectors by metadataDataPlaneViewer
updateUpdate a vectorDataPlaneEditor
deleteVectorsDelete vectorsDataPlaneEditor
listVectorIdsList vector IDsDataPlaneViewer
describeIndexStatsDescribe index statsDataPlaneViewer

Records (integrated embedding)

OperationWhat it doesRole
upsertRecordsUpsert text recordsDataPlaneEditor
searchRecordsSearch recordsDataPlaneViewer

Namespaces

OperationWhat it doesRole
listNamespacesList namespacesDataPlaneViewer
describeNamespaceDescribe namespaceDataPlaneViewer
createNamespaceCreate namespaceDataPlaneEditor
deleteNamespaceDelete namespaceDataPlaneEditor

Bulk imports

OperationWhat it doesRole
startImportStart bulk importDataPlaneEditor
listImportsList bulk importsDataPlaneViewer
describeImportDescribe bulk importDataPlaneViewer
cancelImportCancel bulk importDataPlaneEditor

Indexes

OperationWhat it doesRole
listIndexesList indexesControlPlaneViewer
describeIndexDescribe indexControlPlaneViewer
createIndexCreate indexControlPlaneEditor
createIndexForModelCreate index with integrated embeddingControlPlaneEditor
configureIndexConfigure indexControlPlaneEditor
deleteIndexDelete indexControlPlaneEditor

Collections

OperationWhat it doesRole
listCollectionsList collectionsControlPlaneViewer
describeCollectionDescribe collectionControlPlaneViewer
createCollectionCreate collectionControlPlaneEditor
deleteCollectionDelete collectionControlPlaneEditor

Backups & restore

OperationWhat it doesRole
createBackupCreate backupControlPlaneEditor
listIndexBackupsList backups for an indexControlPlaneViewer
listProjectBackupsList all backupsControlPlaneViewer
describeBackupDescribe backupControlPlaneViewer
deleteBackupDelete backupControlPlaneEditor
createIndexFromBackupCreate index from backupControlPlaneEditor
listRestoreJobsList restore jobsControlPlaneViewer
describeRestoreJobDescribe restore jobControlPlaneViewer

Inference

OperationWhat it doesRole
embedGenerate embeddings(any project API key — Inference is not role-gated)
rerankRerank documents(any project API key — Inference is not role-gated)
listModelsList hosted models(any project API key — Inference is not role-gated)
describeModelDescribe hosted model(any project API key — Inference is not role-gated)

Assistants

OperationWhat it doesRole
listAssistantsList assistantsControlPlaneViewer
describeAssistantDescribe assistantControlPlaneViewer
createAssistantCreate assistantControlPlaneEditor
updateAssistantUpdate assistantControlPlaneEditor
deleteAssistantDelete assistantControlPlaneEditor

Assistant files

OperationWhat it doesRole
listAssistantFilesList assistant filesDataPlaneViewer
describeAssistantFileDescribe assistant fileDataPlaneViewer
uploadAssistantFileUpload assistant fileDataPlaneEditor
upsertAssistantFileReplace assistant fileDataPlaneEditor
deleteAssistantFileDelete assistant fileDataPlaneEditor
listAssistantOperationsList assistant operationsDataPlaneViewer
describeAssistantOperationDescribe assistant operationDataPlaneViewer

Assistant chat

OperationWhat it doesRole
chatAssistantChat with assistantDataPlaneViewer
chatAssistantCompletionsChat (OpenAI-compatible)DataPlaneViewer
assistantContextRetrieve context snippetsDataPlaneViewer
evaluateAnswerEvaluate an answerDataPlaneViewer

Admin: organizations & projects

OperationWhat it doesRole
listOrganizationsList organizations(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
describeOrganizationDescribe organization(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
updateOrganizationUpdate organization(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
deleteOrganizationDelete organization(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
listProjectsList projects(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
describeProjectDescribe project(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
createProjectCreate project(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
updateProjectUpdate project(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
deleteProjectDelete project(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)

Admin: API keys

OperationWhat it doesRole
listApiKeysList API keys(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
describeApiKeyDescribe API key(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
createApiKeyCreate API key(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
updateApiKeyUpdate API key(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
deleteApiKeyDelete API key(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)

Admin: users & invites

OperationWhat it doesRole
listUsersList users(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
describeUserDescribe user(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
deleteUserRemove user(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
listInvitesList invites(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
describeInviteDescribe invite(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
createInviteInvite a user(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
resendInviteResend invite(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
deleteInviteRevoke invite(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)

Admin: service accounts & roles

OperationWhat it doesRole
listServiceAccountsList service accounts(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
describeServiceAccountDescribe service account(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
createServiceAccountCreate service account(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
updateServiceAccountUpdate service account(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
deleteServiceAccountDelete service account(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
rotateServiceAccountSecretRotate service account secret(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
listRoleBindingsList role bindings(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
describeRoleBindingDescribe role binding(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
createRoleBindingCreate role binding(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)
deleteRoleBindingDelete role binding(no API-key role — the Admin API accepts only an OAuth2 service account, and the grant is that account's organization role. Service accounts are Enterprise-plan, public preview.)