> ## Documentation Index
> Fetch the complete documentation index at: https://docs.braintrust.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create ingest key

> Create a publishable key for one existing project. Requires project create_acls permission. Ingest keys do not expire and remain valid until revoked. The configuration URL is returned on creation and can be retrieved again by listing the project's ingest keys.



## OpenAPI

````yaml /openapi.yaml post /v1/ingest_key
openapi: 3.1.1
info:
  version: 1.0.0
  title: Braintrust API
  description: >-
    API specification for the backend data server. The API is hosted globally at

    https://api.braintrust.dev or in your own environment.


    You can access the OpenAPI spec for this API at
    https://github.com/braintrustdata/braintrust-openapi.
  license:
    name: Apache 2.0
servers:
  - url: https://api.braintrust.dev
security:
  - bearerAuth: []
  - {}
paths:
  /v1/ingest_key:
    post:
      tags:
        - Ingest keys
      summary: Create ingest key
      description: >-
        Create a publishable key for one existing project. Requires project
        create_acls permission. Ingest keys do not expire and remain valid until
        revoked. The configuration URL is returned on creation and can be
        retrieved again by listing the project's ingest keys.
      operationId: createIngestKey
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  format: uuid
                name:
                  type: string
                  minLength: 1
              required:
                - project_id
                - name
      responses:
        '200':
          description: The ingest key, including its HTTPS configuration URL.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/IngestKey'
                  - type: object
                    properties:
                      url:
                        type: string
                    required:
                      - url
        '400':
          description: >-
            The request was unacceptable, often due to missing a required
            parameter
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema: {}
        '401':
          description: No valid API key provided
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema: {}
        '403':
          description: The API key doesn’t have permissions to perform the request
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema: {}
        '429':
          description: >-
            Too many requests hit the API too quickly. We recommend an
            exponential backoff of your requests
          headers:
            Retry-After:
              schema:
                type: string
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema: {}
        '500':
          description: Something went wrong on Braintrust's end. (These are rare.)
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema: {}
      security:
        - bearerAuth: []
        - {}
components:
  schemas:
    IngestKey:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the ingest key
        created:
          type:
            - string
            - 'null'
          format: date-time
          description: Date of ingest key creation
        name:
          type: string
          description: Name of the ingest key
        org_id:
          type: string
          format: uuid
        project_id:
          type: string
          format: uuid
        preview_name:
          type: string
      required:
        - id
        - name
        - org_id
        - project_id
        - preview_name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key or JWT
      description: >-
        Most Braintrust endpoints are authenticated by providing your API key as
        a header `Authorization: Bearer [api_key]` to your HTTP request. You can
        create an API key in the Braintrust [organization settings
        page](https://www.braintrustdata.com/app/settings?subroute=api-keys).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.