OpenAPI Specification
openapi: 3.0.3
info:
title: Pinecone Admin API Keys Organizations API
description: 'Provides an API for managing a Pinecone organization and its resources.
'
contact:
name: Pinecone Support
url: https://support.pinecone.io
email: support@pinecone.io
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 2025-10
servers:
- url: https://api.pinecone.io
description: Production API endpoints
security:
- BearerAuth: []
tags:
- name: Organizations
description: Actions that manage organizations.
paths:
/admin/organizations:
get:
tags:
- Organizations
summary: List organizations
description: List all organizations associated with an account.
operationId: list_organizations
parameters:
- in: header
name: X-Pinecone-Api-Version
description: Required date-based version header
required: true
schema:
default: 2025-10
type: string
style: simple
responses:
'200':
description: A list of organizations.
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationList'
'401':
description: 'Unauthorized. Possible causes: Invalid API key.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized:
summary: Unauthorized
value:
error:
code: UNAUTHENTICATED
message: Invalid API key.
status: 401
4XX:
description: Unexpected error on request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
internal-server-error:
summary: Internal server error
value:
error:
code: UNKNOWN
message: Internal server error
status: 500
/admin/organizations/{organization_id}:
get:
tags:
- Organizations
summary: Get organization details
description: Get details about an organization.
operationId: fetch_organization
parameters:
- in: header
name: X-Pinecone-Api-Version
description: Required date-based version header
required: true
schema:
default: 2025-10
type: string
style: simple
- in: path
name: organization_id
description: Organization ID
required: true
schema:
type: string
style: simple
responses:
'200':
description: The details of an organization.
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'401':
description: 'Unauthorized. Possible causes: Invalid API key.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized:
summary: Unauthorized
value:
error:
code: UNAUTHENTICATED
message: Invalid API key.
status: 401
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
4XX:
description: Unexpected error on request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
internal-server-error:
summary: Internal server error
value:
error:
code: UNKNOWN
message: Internal server error
status: 500
delete:
tags:
- Organizations
summary: Delete an organization
description: 'Delete an organization and all its associated configuration.
Before deleting an organization, you must delete all projects (including indexes, assistants, backups, and collections) associated with the organization.
'
operationId: delete_organization
parameters:
- in: header
name: X-Pinecone-Api-Version
description: Required date-based version header
required: true
schema:
default: 2025-10
type: string
style: simple
- in: path
name: organization_id
description: Organization ID
required: true
schema:
type: string
style: simple
responses:
'202':
description: Organization deletion request accepted.
'401':
description: 'Unauthorized. Possible causes: Invalid API key.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized:
summary: Unauthorized
value:
error:
code: UNAUTHENTICATED
message: Invalid API key.
status: 401
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
4XX:
description: Unexpected error on request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
internal-server-error:
summary: Internal server error
value:
error:
code: UNKNOWN
message: Internal server error
status: 500
patch:
tags:
- Organizations
summary: Update an organization
description: 'Update an organization''s name.
'
operationId: update_organization
parameters:
- in: header
name: X-Pinecone-Api-Version
description: Required date-based version header
required: true
schema:
default: 2025-10
type: string
style: simple
- in: path
name: organization_id
description: Organization ID
required: true
schema:
type: string
style: simple
requestBody:
description: 'Organization details to be updated.
'
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrganizationRequest'
required: true
responses:
'200':
description: The organization was successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'400':
description: Bad request. The request body included invalid request parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
index-metric-validation-error:
summary: Validation error
value:
error:
code: INVALID_ARGUMENT
message: Bad request. The request body included invalid request parameters.
status: 400
'401':
description: 'Unauthorized. Possible causes: Invalid API key.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized:
summary: Unauthorized
value:
error:
code: UNAUTHENTICATED
message: Invalid API key.
status: 401
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
4XX:
description: Unexpected error on request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
internal-server-error:
summary: Internal server error
value:
error:
code: UNKNOWN
message: Internal server error
status: 500
components:
schemas:
Organization:
description: The details of an organization.
type: object
properties:
id:
description: The unique ID of the organization.
type: string
name:
description: The name of the organization.
type: string
minLength: 1
maxLength: 512
plan:
description: The current plan the organization is on.
x-enum:
- Free
- Standard
- Enterprise
- Dedicated
type: string
payment_status:
description: The current payment status of the organization.
x-enum:
- Active
- PaymentPending
- PastDue
- Restricted
- Suspended
- Deactivated
type: string
created_at:
description: The date and time when the organization was created.
type: string
format: date-time
support_tier:
description: The support tier of the organization.
x-enum:
- Free
- Developer
- Pro
- Enterprise
type: string
required:
- id
- name
- plan
- payment_status
- created_at
- support_tier
ErrorResponse:
example:
error:
code: QUOTA_EXCEEDED
message: The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota.
status: 429
description: The response shape used for all error responses.
type: object
properties:
status:
example: 500
description: The HTTP status code of the error.
type: integer
error:
example:
code: INVALID_ARGUMENT
message: Index name must contain only lowercase alphanumeric characters or hyphens, and must not begin or end with a hyphen.
description: Detailed information about the error that occurred.
type: object
properties:
code:
description: 'The error code.
Possible values: `OK`, `UNKNOWN`, `INVALID_ARGUMENT`, `DEADLINE_EXCEEDED`, `QUOTA_EXCEEDED`, `NOT_FOUND`, `ALREADY_EXISTS`, `PERMISSION_DENIED`, `UNAUTHENTICATED`, `RESOURCE_EXHAUSTED`, `FAILED_PRECONDITION`, `ABORTED`, `OUT_OF_RANGE`, `UNIMPLEMENTED`, `INTERNAL`, `UNAVAILABLE`, `DATA_LOSS`, `FORBIDDEN`, or `UNPROCESSABLE_ENTITY`. '
x-enum:
- OK
- UNKNOWN
- INVALID_ARGUMENT
- DEADLINE_EXCEEDED
- QUOTA_EXCEEDED
- NOT_FOUND
- ALREADY_EXISTS
- PERMISSION_DENIED
- UNAUTHENTICATED
- RESOURCE_EXHAUSTED
- FAILED_PRECONDITION
- ABORTED
- OUT_OF_RANGE
- UNIMPLEMENTED
- INTERNAL
- UNAVAILABLE
- DATA_LOSS
- FORBIDDEN
- UNPROCESSABLE_ENTITY
type: string
message:
example: Index name must contain only lowercase alphanumeric characters or hyphens, and must not begin or end with a hyphen.
type: string
details:
description: Additional information about the error. This field is not guaranteed to be present.
type: object
required:
- code
- message
required:
- status
- error
UpdateOrganizationRequest:
type: object
properties:
name:
example: organization-name
description: The new name for the organization.
type: string
minLength: 1
maxLength: 512
OrganizationList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Organization'
required:
- data
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: 'An [access token](https://docs.pinecone.io/guides/organizations/manage-service-accounts#retrieve-an-access-token) must be provided in the `Authorization` header using the `Bearer` scheme.
'