OpenAI Certificates API

The Certificates API from OpenAI — 7 operation(s) for certificates.

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /organization/certificates List the organization's certificates · List organization certificates #
Ask an LLM
“Which certificates have been uploaded to my organization?”
“Can I page through every certificate uploaded at the org level?”
Tell an agent
List all certificates uploaded to my organization.
Show the first {limit} organization certificates.
POST /organization/certificates Upload a certificate to the organization · Upload certificate #
Ask an LLM
“How do I upload a certificate to my OpenAI organization?”
“Does uploading a certificate turn it on automatically, and how many can I upload?”
Tell an agent
Upload certificate {certificate} to the organization as {name}.
Add this PEM certificate to my org: {certificate}.
POST /organization/certificates/activate Activate certificates for the whole organization · Activate certificates for organization #
Ask an LLM
“How do I turn on uploaded certificates across my entire organization?”
“How many certificates can I activate at the org level in one request?”
Tell an agent
Activate certificates {certificate_ids} at the organization level.
Turn on certificates {certificate_ids} for the whole org.
POST /organization/certificates/deactivate Deactivate certificates for the whole organization · Deactivate certificates for organization #
Ask an LLM
“Can I switch off certificates across my whole organization?”
“Is org-level certificate deactivation safe to retry if the call times out?”
Tell an agent
Deactivate certificates {certificate_ids} at the organization level.
Turn off certificates {certificate_ids} for the whole org.
GET /organization/certificates/{certificate_id} Retrieve an uploaded certificate · Get certificate #
Ask an LLM
“Can I look up a certificate even if it isn't active?”
“Is there a way to get back the PEM content of a certificate I uploaded?”
Tell an agent
Get certificate {certificate_id}.
Fetch certificate {certificate_id} including {include}.
POST /organization/certificates/{certificate_id} Rename a certificate · Modify certificate #
Ask an LLM
“Can I rename a certificate after uploading it?”
“What can I change on an uploaded certificate besides its name?”
Tell an agent
Rename certificate {certificate_id} to {name}.
Change the display name of certificate {certificate_id} to {name}.
DELETE /organization/certificates/{certificate_id} Delete a certificate · Delete certificate #
Ask an LLM
“Why can't I delete a certificate that is still active?”
“How do I remove a certificate from my organization entirely?”
Tell an agent destructive · confirm first
Delete certificate {certificate_id}.
Remove the inactive certificate {certificate_id} from my organization.
GET /organization/projects/{project_id}/certificates List a project's certificates · List project certificates #
Ask an LLM
“Which certificates are active for a particular project?”
“Can I see the certificates configured on one project only?”
Tell an agent
List the certificates for project {project_id}.
Show the first {limit} certificates on project {project_id}.
POST /organization/projects/{project_id}/certificates/activate Activate certificates for a project · Activate certificates for project #
Ask an LLM
“Can I enable certificates for just one project instead of the whole org?”
“What's the limit on certificates I can activate on a project in one call?”
Tell an agent
Activate certificates {certificate_ids} on project {project_id}.
Turn on certificates {certificate_ids} for project {project_id} only.
POST /organization/projects/{project_id}/certificates/deactivate Deactivate certificates for a project · Deactivate certificates for project #
Ask an LLM
“Can I switch off a certificate for one project but leave it active elsewhere?”
“How many certificates can I deactivate on a single project at a time?”
Tell an agent
Deactivate certificates {certificate_ids} on project {project_id}.
Turn off certificates {certificate_ids} for project {project_id} only.

Documentation

📖
Documentation
https://platform.openai.com/docs/assistants/overview
📖
Documentation
https://platform.openai.com/docs/api-reference/assistants
📖
Documentation
https://platform.openai.com/docs/guides/text-to-speech
📖
Documentation
https://platform.openai.com/docs/api-reference/audio
📖
Documentation
https://platform.openai.com/docs/guides/speech-to-text
📖
Documentation
https://developers.openai.com/api/docs/guides/audio/
📖
Documentation
https://developers.openai.com/api/docs/guides/voice-agents/
📖
Documentation
https://platform.openai.com/docs/api-reference/chat
📖
Documentation
https://platform.openai.com/docs/guides/embeddings
📖
Documentation
https://platform.openai.com/docs/api-reference/embeddings
📖
Documentation
https://platform.openai.com/docs/api-reference/files
📖
Documentation
https://platform.openai.com/docs/guides/fine-tuning
📖
Documentation
https://platform.openai.com/docs/api-reference/fine-tuning
📖
Documentation
https://platform.openai.com/docs/guides/images
📖
Documentation
https://platform.openai.com/docs/api-reference/images
📖
Documentation
https://platform.openai.com/docs/guides/image-generation
📖
Documentation
https://platform.openai.com/docs/guides/images-vision
📖
Documentation
https://platform.openai.com/docs/models
📖
Documentation
https://platform.openai.com/docs/api-reference/models
📖
Documentation
https://platform.openai.com/docs/assistants/how-it-works/managing-threads-and-messages
📖
Documentation
https://platform.openai.com/docs/api-reference/threads
📖
Documentation
https://platform.openai.com/docs/api-reference/completions

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openai:openai-certificates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openai-certificates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenAI Certificates API
  description: The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
  version: 2.3.0
  termsOfService: https://openai.com/policies/terms-of-use
  contact:
    name: OpenAI Support
    url: https://help.openai.com/
  license:
    name: MIT
    identifier: MIT
servers:
- url: https://api.openai.com/v1
security:
- ApiKeyAuth: []
tags:
- name: Certificates
paths:
  /organization/certificates:
    get:
      security:
      - AdminApiKeyAuth: []
      summary: List organization certificates
      description: List uploaded certificates for this organization.
      operationId: listOrganizationCertificates
      tags:
      - Certificates
      parameters:
      - name: limit
        in: query
        description: 'A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.

          '
        required: false
        schema:
          type: integer
          default: 20
      - name: after
        in: query
        description: 'A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

          '
        required: false
        schema:
          type: string
      - name: order
        in: query
        description: 'Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.

          '
        schema:
          type: string
          default: desc
          enum:
          - asc
          - desc
      responses:
        '200':
          description: Certificates listed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCertificatesResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: 'curl https://api.openai.com/v1/organization/certificates \

              -H "Authorization: Bearer $OPENAI_ADMIN_KEY"

              '
          response: "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"organization.certificate\",\n      \"id\": \"cert_abc\",\n      \"name\": \"My Example Certificate\",\n      \"active\": true,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n  ],\n  \"first_id\": \"cert_abc\",\n  \"last_id\": \"cert_abc\",\n  \"has_more\": false\n}\n"
    post:
      security:
      - AdminApiKeyAuth: []
      summary: Upload certificate
      description: 'Upload a certificate to the organization. This does **not** automatically activate the certificate.


        Organizations can upload up to 50 certificates.'
      operationId: uploadCertificate
      tags:
      - Certificates
      requestBody:
        description: The certificate upload payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadCertificateRequest'
      responses:
        '200':
          description: Certificate uploaded successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Certificate'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: "curl -X POST https://api.openai.com/v1/organization/certificates \\\n-H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"name\": \"My Example Certificate\",\n  \"certificate\": \"-----BEGIN CERTIFICATE-----\\\\nMIIDeT...\\\\n-----END CERTIFICATE-----\"\n}'\n"
          response: "{\n  \"object\": \"certificate\",\n  \"id\": \"cert_abc\",\n  \"name\": \"My Example Certificate\",\n  \"created_at\": 1234567,\n  \"certificate_details\": {\n    \"valid_at\": 12345667,\n    \"expires_at\": 12345678\n  }\n}\n"
  /organization/certificates/activate:
    post:
      security:
      - AdminApiKeyAuth: []
      summary: Activate certificates for organization
      description: 'Activate certificates at the organization level.


        You can atomically and idempotently activate up to 10 certificates at a time.'
      operationId: activateOrganizationCertificates
      tags:
      - Certificates
      requestBody:
        description: The certificate activation payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToggleCertificatesRequest'
      responses:
        '200':
          description: Certificates activated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationCertificateActivationResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: "curl https://api.openai.com/v1/organization/certificates/activate \\\n-H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"certificate_ids\": [\"cert_abc\", \"cert_def\"]\n}'\n"
          response: "{\n  \"object\": \"organization.certificate.activation\",\n  \"data\": [\n    {\n      \"object\": \"organization.certificate\",\n      \"id\": \"cert_abc\",\n      \"name\": \"My Example Certificate\",\n      \"active\": true,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n    {\n      \"object\": \"organization.certificate\",\n      \"id\": \"cert_def\",\n      \"name\": \"My Example Certificate 2\",\n      \"active\": true,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n  ],\n}\n"
  /organization/certificates/deactivate:
    post:
      security:
      - AdminApiKeyAuth: []
      summary: Deactivate certificates for organization
      description: 'Deactivate certificates at the organization level.


        You can atomically and idempotently deactivate up to 10 certificates at a time.'
      operationId: deactivateOrganizationCertificates
      tags:
      - Certificates
      requestBody:
        description: The certificate deactivation payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToggleCertificatesRequest'
      responses:
        '200':
          description: Certificates deactivated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationCertificateDeactivationResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: "curl https://api.openai.com/v1/organization/certificates/deactivate \\\n-H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"certificate_ids\": [\"cert_abc\", \"cert_def\"]\n}'\n"
          response: "{\n  \"object\": \"organization.certificate.deactivation\",\n  \"data\": [\n    {\n      \"object\": \"organization.certificate\",\n      \"id\": \"cert_abc\",\n      \"name\": \"My Example Certificate\",\n      \"active\": false,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n    {\n      \"object\": \"organization.certificate\",\n      \"id\": \"cert_def\",\n      \"name\": \"My Example Certificate 2\",\n      \"active\": false,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n  ],\n}\n"
  /organization/certificates/{certificate_id}:
    get:
      security:
      - AdminApiKeyAuth: []
      summary: Get certificate
      description: 'Get a certificate that has been uploaded to the organization.


        You can get a certificate regardless of whether it is active or not.'
      operationId: getCertificate
      tags:
      - Certificates
      parameters:
      - name: certificate_id
        in: path
        description: Unique ID of the certificate to retrieve.
        required: true
        schema:
          type: string
      - name: include
        in: query
        description: A list of additional fields to include in the response. Currently the only supported value is `content` to fetch the PEM content of the certificate.
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - content
      responses:
        '200':
          description: Certificate retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Certificate'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: 'curl "https://api.openai.com/v1/organization/certificates/cert_abc?include[]=content" \

              -H "Authorization: Bearer $OPENAI_ADMIN_KEY"

              '
          response: "{\n  \"object\": \"certificate\",\n  \"id\": \"cert_abc\",\n  \"name\": \"My Example Certificate\",\n  \"created_at\": 1234567,\n  \"certificate_details\": {\n    \"valid_at\": 1234567,\n    \"expires_at\": 12345678,\n    \"content\": \"-----BEGIN CERTIFICATE-----MIIDeT...-----END CERTIFICATE-----\"\n  }\n}\n"
    post:
      security:
      - AdminApiKeyAuth: []
      summary: Modify certificate
      description: Modify a certificate. Note that only the name can be modified.
      operationId: modifyCertificate
      tags:
      - Certificates
      parameters:
      - name: certificate_id
        in: path
        description: Unique ID of the certificate to modify.
        required: true
        schema:
          type: string
      requestBody:
        description: The certificate modification payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyCertificateRequest'
      responses:
        '200':
          description: Certificate modified successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Certificate'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: "curl -X POST https://api.openai.com/v1/organization/certificates/cert_abc \\\n-H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"name\": \"Renamed Certificate\"\n}'\n"
          response: "{\n  \"object\": \"certificate\",\n  \"id\": \"cert_abc\",\n  \"name\": \"Renamed Certificate\",\n  \"created_at\": 1234567,\n  \"certificate_details\": {\n    \"valid_at\": 12345667,\n    \"expires_at\": 12345678\n  }\n}\n"
    delete:
      security:
      - AdminApiKeyAuth: []
      summary: Delete certificate
      description: 'Delete a certificate from the organization.


        The certificate must be inactive for the organization and all projects.'
      operationId: deleteCertificate
      tags:
      - Certificates
      parameters:
      - name: certificate_id
        in: path
        description: Unique ID of the certificate to delete.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Certificate deleted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCertificateResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: 'curl -X DELETE https://api.openai.com/v1/organization/certificates/cert_abc \

              -H "Authorization: Bearer $OPENAI_ADMIN_KEY"

              '
          response: "{\n  \"object\": \"certificate.deleted\",\n  \"id\": \"cert_abc\"\n}\n"
  /organization/projects/{project_id}/certificates:
    get:
      security:
      - AdminApiKeyAuth: []
      summary: List project certificates
      description: List certificates for this project.
      operationId: listProjectCertificates
      tags:
      - Certificates
      parameters:
      - name: project_id
        in: path
        description: The ID of the project.
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: 'A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.

          '
        required: false
        schema:
          type: integer
          default: 20
      - name: after
        in: query
        description: 'A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

          '
        required: false
        schema:
          type: string
      - name: order
        in: query
        description: 'Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.

          '
        schema:
          type: string
          default: desc
          enum:
          - asc
          - desc
      responses:
        '200':
          description: Certificates listed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProjectCertificatesResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: 'curl https://api.openai.com/v1/organization/projects/proj_abc/certificates \

              -H "Authorization: Bearer $OPENAI_ADMIN_KEY"

              '
          response: "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"organization.project.certificate\",\n      \"id\": \"cert_abc\",\n      \"name\": \"My Example Certificate\",\n      \"active\": true,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n  ],\n  \"first_id\": \"cert_abc\",\n  \"last_id\": \"cert_abc\",\n  \"has_more\": false\n}\n"
  /organization/projects/{project_id}/certificates/activate:
    post:
      security:
      - AdminApiKeyAuth: []
      summary: Activate certificates for project
      description: 'Activate certificates at the project level.


        You can atomically and idempotently activate up to 10 certificates at a time.'
      operationId: activateProjectCertificates
      tags:
      - Certificates
      parameters:
      - name: project_id
        in: path
        description: The ID of the project.
        required: true
        schema:
          type: string
      requestBody:
        description: The certificate activation payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToggleCertificatesRequest'
      responses:
        '200':
          description: Certificates activated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationProjectCertificateActivationResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: "curl https://api.openai.com/v1/organization/projects/proj_abc/certificates/activate \\\n-H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"certificate_ids\": [\"cert_abc\", \"cert_def\"]\n}'\n"
          response: "{\n  \"object\": \"organization.project.certificate.activation\",\n  \"data\": [\n    {\n      \"object\": \"organization.project.certificate\",\n      \"id\": \"cert_abc\",\n      \"name\": \"My Example Certificate\",\n      \"active\": true,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n    {\n      \"object\": \"organization.project.certificate\",\n      \"id\": \"cert_def\",\n      \"name\": \"My Example Certificate 2\",\n      \"active\": true,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n  ],\n}\n"
  /organization/projects/{project_id}/certificates/deactivate:
    post:
      security:
      - AdminApiKeyAuth: []
      summary: Deactivate certificates for project
      description: 'Deactivate certificates at the project level. You can atomically and

        idempotently deactivate up to 10 certificates at a time.'
      operationId: deactivateProjectCertificates
      tags:
      - Certificates
      parameters:
      - name: project_id
        in: path
        description: The ID of the project.
        required: true
        schema:
          type: string
      requestBody:
        description: The certificate deactivation payload.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToggleCertificatesRequest'
      responses:
        '200':
          description: Certificates deactivated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationProjectCertificateDeactivationResponse'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: "curl https://api.openai.com/v1/organization/projects/proj_abc/certificates/deactivate \\\n-H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n  \"certificate_ids\": [\"cert_abc\", \"cert_def\"]\n}'\n"
          response: "{\n  \"object\": \"organization.project.certificate.deactivation\",\n  \"data\": [\n    {\n      \"object\": \"organization.project.certificate\",\n      \"id\": \"cert_abc\",\n      \"name\": \"My Example Certificate\",\n      \"active\": false,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n    {\n      \"object\": \"organization.project.certificate\",\n      \"id\": \"cert_def\",\n      \"name\": \"My Example Certificate 2\",\n      \"active\": false,\n      \"created_at\": 1234567,\n      \"certificate_details\": {\n        \"valid_at\": 12345667,\n        \"expires_at\": 12345678\n      }\n    },\n  ],\n}\n"
components:
  responses:
    TooManyRequests:
      description: The request was rejected because a rate limit was exceeded.
      headers:
        Retry-After:
          description: The minimum number of seconds to wait before retrying. This header is returned when the server has computed a retry delay and may be omitted for 429 responses that require user action.
          schema:
            type: integer
            minimum: 1
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    DeleteCertificateResponse:
      type: object
      properties:
        object:
          type: string
          description: The object type, must be `certificate.deleted`.
          enum:
          - certificate.deleted
          x-stainless-const: true
        id:
          type: string
          description: The ID of the certificate that was deleted.
      required:
      - object
      - id
    ModifyCertificateRequest:
      type: object
      properties:
        name:
          type: string
          description: The updated name for the certificate
    _MisalignmentErrorType:
      anyOf:
      - type: string
      - type: string
        enum:
        - potentially_unintended_data_transfer
        - potentially_unintended_data_access
        - potentially_unintended_destructive_activity
        - other
    OrganizationCertificateActivationResponse:
      type: object
      properties:
        object:
          type: string
          enum:
          - organization.certificate.activation
          description: The organization certificate activation result type.
          x-stainless-const: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationCertificate'
      required:
      - object
      - data
    ListProjectCertificatesResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationProjectCertificate'
        first_id:
          anyOf:
          - type: string
          - type: 'null'
          example: cert_abc
        last_id:
          anyOf:
          - type: string
          - type: 'null'
          example: cert_abc
        has_more:
          type: boolean
        object:
          type: string
          enum:
          - list
          x-stainless-const: true
      required:
      - object
      - data
      - has_more
      - first_id
      - last_id
    OrganizationProjectCertificateDeactivationResponse:
      type: object
      properties:
        object:
          type: string
          enum:
          - organization.project.certificate.deactivation
          description: The project certificate deactivation result type.
          x-stainless-const: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationProjectCertificate'
      required:
      - object
      - data
    OrganizationCertificateDeactivationResponse:
      type: object
      properties:
        object:
          type: string
          enum:
          - organization.certificate.deactivation
          description: The organization certificate deactivation result type.
          x-stainless-const: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationCertificate'
      required:
      - object
      - data
    MisalignmentErrorDetailsResource:
      properties:
        error_type:
          $ref: '#/components/schemas/_MisalignmentErrorType'
          description: An optional classification; clients must accept additional values.
        detailed_explanation:
          type: string
          description: The public explanation for this block.
        steer:
          $ref: '#/components/schemas/_MisalignmentSteer'
          description: An optional public continuation instruction.
      type: object
      required: []
    ToggleCertificatesRequest:
      type: object
      properties:
        certificate_ids:
          type: array
          items:
            type: string
            example: cert_abc
          minItems: 1
          maxItems: 10
      required:
      - certificate_ids
    OrganizationProjectCertificateActivationResponse:
      type: object
      properties:
        object:
          type: string
          enum:
          - organization.project.certificate.activation
          description: The project certificate activation result type.
          x-stainless-const: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationProjectCertificate'
      required:
      - object
      - data
    OrganizationCertificate:
      type: object
      description: Represents an individual certificate configured at the organization level.
      properties:
        object:
          type: string
          enum:
          - organization.certificate
          description: The object type, which is always `organization.certificate`.
          x-stainless-const: true
        id:
          type: string
          description: The identifier, which can be referenced in API endpoints
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the certificate.
        created_at:
          type: integer
          format: unixtime
          description: The Unix timestamp (in seconds) of when the certificate was uploaded.
        certificate_details:
          type: object
          properties:
            valid_at:
              type: integer
              format: unixtime
              description: The Unix timestamp (in seconds) of when the certificate becomes valid.
            expires_at:
              type: integer
              format: unixtime
              description: The Unix timestamp (in seconds) of when the certificate expires.
        active:
          type: boolean
          description: Whether the certificate is currently active at the organization level.
      required:
      - object
      - id
      - name
      - created_at
      - certificate_details
      - active
    Error:
      type: object
      properties:
        code:
          anyOf:
          - type: string
          - type: 'null'
        message:
          type: string
        param:
          anyOf:
          - type: string
          - type: 'null'
        type:
          type: string
        misalignment:
          $ref: '#/components/schemas/MisalignmentErrorDetailsResource'
      required:
      - type
      - message
      - param
      - code
    ListCertificatesResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationCertificate'
        first_id:
          anyOf:
          - type: string
          - type: 'null'
          example: cert_abc
        last_id:
          anyOf:
          - type: string
          - type: 'null'
          example: cert_abc
        has_more:
          type: boolean
        object:
          type: string
          enum:
          - list
          x-stainless-const: true
      required:
      - object
      - data
      - has_more
      - first_id
      - last_id
    Certificate:
      type: object
      description: Represents an individual `certificate` uploaded to the organization.
      properties:
        object:
          type: string
          enum:
          - certificate
          - organization.certificate
          - organization.project.certificate
          description: 'The object type.


            - If creating, updating, or getting a specific certificate, the object type is `certificate`.

            - If listing, activating, or deactivating certificates for the organization, the object type is `organization.certificate`.

            - If listing, activating, or deactivating certificates for a project, the object type is `organization.project.certificate`.

            '
          x-stainless-const: true
        id:
          type: string
          description: The identifier, which can be referenced in API endpoints
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the certificate.
        created_at:
          type: integer
          format: unixtime
          description: The Unix timestamp (in seconds) of when the certificate was uploaded.
        certificate_details:
          type: object
          properties:
            valid_at:
              type: integer
              format: unixtime
              description: The Unix timestamp (in seconds) of when the certificate becomes valid.
            expires_at:
              type: integer
              format: unixtime
              description: The Unix timestamp (in seconds) of when the certificate expires.
            content:
              type: string
              description: The content of the certificate in PEM format.
        active:
          type: boolean
          description: Whether the certificate is currently active at the specified scope. Not returned when getting details for a specific certificate.
      required:
      - object
      - id
      - name
      - created_at
      - certificate_details
      x-oaiMeta:
        name: The certificate object
        example: "{\n  \"object\": \"certificate\",\n  \"id\": \"cert_abc\",\n  \"name\": \"My Certificate\",\n  \"created_at\": 1234567,\n  \"certificate_details\": {\n    \"valid_at\": 1234567,\n    \"expires_at\": 12345678,\n    \"content\": \"-----BEGIN CERTIFICATE----- MIIGAjCCA...6znFlOW+ -----END CERTIFICATE-----\"\n  }\n}\n"
    UploadCertificateRequest:
      type: object
      properties:
        name:
          type: string
          description: An optional name for the certificate
        certificate:
          type: string
          description: The certificate content in PEM format
      required:
      - certificate
    _MisalignmentSteer:
      properties:
        message:
          type: string
          description: The public continuation instruction.
      type: object
      required:
      - message
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
      - error
    OrganizationProjectCertificate:
      type: object
      description: Represents an individual certificate configured at the project level.
      properties:
        object:
          type: string
          enum:
          - organization.project.certificate
          description: The object type, which is always `organization.project.certificate`.
          x-stainless-const: true
        id:
          type: string
          description: The identifier, which can be referenced in API endpoints
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the certificate.
        created_at:
          type: integer
          format: unixtime
          description: The Unix timestamp (in seconds) of when the certificate was uploaded.
        certificate_details:
          type: object
          properties:
            valid_at:
              type: integer
              format: unixtime
              description: The Unix timestamp (in seconds) of when the certificate becomes valid.
            expires_at:
              type: integer
              format: unixtime
              description: The Unix timestamp (in seconds) of when the certificate expires.
        active:
          type: boolean
          description: Whether the certificate is currently active at the project level.
      required:
      - object
      - id
      - name
      - created_at
      - certificate_details
      - active
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
    AdminApiKeyAuth:
      type: http
      scheme: bearer
x-oaiMeta:
  navigationGroups:
  - id: responses
    title: Responses API
  - id: webhooks
    title: Webhooks
  - id: endpoints
    title: Platform APIs
  - id: vector_stores
    title: Vector stores
  - id: chatkit
    title: ChatKit
    beta: true
  - id: containers
    title: Containers
  - id: live
    title: Live (alpha)
  - id: realtime
    title: Realtime
  - id: chat
    title: Chat Completions
  - id: assistants
    title: Assistants
    deprecated: true
  - id: administration
    title: Administration
  - id: legacy
    title: Legacy
  groups:


# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openai/refs/heads/main/openapi/openai-certificates-api-openapi.yml