How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OpenAI Projects API

The Projects API from OpenAI — 11 operation(s) for projects.

OpenAI Projects API is one of 51 APIs that OpenAI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 2 JSON Schema definitions.

Tagged areas include Project. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a JSON-LD context, and 2 JSON Schemas.

This API exposes 19 operations across 11 paths, and defines 25 schemas. It is described by OpenAPI 3.0.0, at version 2.0.0.

Requests are made against a single base URL, https://api.openai.com/v1.

19 operations 11 paths 25 schemas 3 DELETE9 GET7 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
2.0.0
Base URL
https://api.openai.com
Authentication
HTTP Bearer
License
Terms of Service
Resource Areas
1

Authentication & Security 1

OpenAI Projects API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (ApiKeyAuth). By default, every request must be authenticated.

Paths & Operations 19

Across 11 paths, the API surfaces 19 operations — 3 DELETE, 9 GET, 7 POST. Each is listed below with its method, path, parameters, and response codes.

Projects 19
GET
/organization/projects
Returns a list of projects.
list-projects 3 params → 200
POST
/organization/projects
Create a new project in the organization. Projects can be created and archived, but cannot be deleted.
create-project body → 200
GET
/organization/projects/{project_id}
Retrieves a project.
retrieve-project 1 param → 200
POST
/organization/projects/{project_id}
Modifies a project in the organization.
modify-project 1 param body → 200400
GET
/organization/projects/{project_id}/api_keys
Returns a list of API keys in the project.
list-project-api-keys 3 params → 200
GET
/organization/projects/{project_id}/api_keys/{api_key_id}
Retrieves an API key in the project.
retrieve-project-api-key 2 params → 200
DELETE
/organization/projects/{project_id}/api_keys/{api_key_id}
Deletes an API key from the project. Returns confirmation of the key deletion, or an error if the key belonged to a service account.
delete-project-api-key 2 params → 200400
POST
/organization/projects/{project_id}/archive
Archives a project in the organization. Archived projects cannot be used or updated.
archive-project 1 param → 200
GET
/organization/projects/{project_id}/rate_limits
Returns the rate limits per model for a project.
list-project-rate-limits 4 params → 200
POST
/organization/projects/{project_id}/rate_limits/{rate_limit_id}
Updates a project rate limit.
update-project-rate-limits 2 params body → 200400
GET
/organization/projects/{project_id}/service_accounts
Returns a list of service accounts in the project.
list-project-service-accounts 3 params → 200400
POST
/organization/projects/{project_id}/service_accounts
Creates a new service account in the project. This also returns an unredacted API key for the service account.
create-project-service-account 1 param body → 200400
GET
/organization/projects/{project_id}/service_accounts/{service_account_id}
Retrieves a service account in the project.
retrieve-project-service-account 2 params → 200
DELETE
/organization/projects/{project_id}/service_accounts/{service_account_id}
Deletes a service account from the project. Returns confirmation of service account deletion, or an error if the project is archived (archived projects have no service accounts).
delete-project-service-account 2 params → 200
GET
/organization/projects/{project_id}/users
Returns a list of users in the project.
list-project-users 3 params → 200400
POST
/organization/projects/{project_id}/users
Adds a user to the project. Users must already be members of the organization to be added to a project.
create-project-user 1 param body → 200400
GET
/organization/projects/{project_id}/users/{user_id}
Retrieves a user in the project.
retrieve-project-user 2 params → 200
POST
/organization/projects/{project_id}/users/{user_id}
Modifies a user's role in the project.
modify-project-user 2 params body → 200400
DELETE
/organization/projects/{project_id}/users/{user_id}
Deletes a user from the project. Returns confirmation of project user deletion, or an error if the project is archived (archived projects have no users).
delete-project-user 2 params → 200400

Schemas 25

The contract defines 25 schemas that model the data the API accepts and returns. The most detailed are ProjectRateLimit (9 properties), Project (7 properties), ProjectApiKey (7 properties), ProjectServiceAccountCreateResponse (6 properties). Each schema is shown below with its type and property counts.

ProjectUser
object
Represents an individual user in a project.
6 properties 4 required
Project
object
Represents an individual project.
7 properties 3 required
ProjectApiKey
object
Represents an individual API key in a project.
7 properties 7 required
ProjectUserUpdateRequest
object
1 property
Error
object
4 properties 4 required
ErrorResponse
object
1 property 1 required
ProjectCreateRequest
object
3 properties 1 required
ProjectApiKeyOwnerUser
object
The user that owns a project API key.
5 properties 5 required
ProjectServiceAccountApiKey
object
5 properties 5 required
ProjectServiceAccountCreateRequest
object
1 property 1 required
ProjectApiKeyListResponse
object
5 properties 3 required
ProjectRateLimit
object
Represents a project rate limit config.
9 properties 5 required
ProjectRateLimitListResponse
object
5 properties 3 required
ProjectUserListResponse
object
5 properties 3 required
ProjectServiceAccountListResponse
object
5 properties 3 required
ProjectServiceAccountCreateResponse
object
6 properties 6 required
ProjectUpdateRequest
object
3 properties
ProjectRateLimitUpdateRequest
object
6 properties
ProjectUserCreateRequest
object
3 properties 1 required
ProjectListResponse
object
5 properties 3 required
ProjectServiceAccount
object
Represents an individual service account in a project.
5 properties 5 required
ProjectApiKeyOwnerServiceAccount
object
The service account that owns a project API key.
4 properties 4 required
ProjectUserDeleteResponse
object
3 properties 3 required
ProjectServiceAccountDeleteResponse
object
3 properties 3 required
ProjectApiKeyDeleteResponse
object
3 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

openai-projects-api-openapi.yml Raw ↑

Other APIs OpenAI publishes across the network.

OpenAI Responses API
OpenAI Moderations API
OpenAI Batch API
OpenAI Vector Stores API
OpenAI Uploads API
OpenAI Realtime API
OpenAI Evals API
OpenAI Videos API
OpenAI Conversations API
OpenAI Containers API
OpenAI ChatKit API
OpenAI Skills API
Where this information came from

This is an independent, third-party profile of OpenAI Projects API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.