> ## 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 or replace dataset snapshot

> Create or replace dataset snapshot. If there is an existing dataset snapshot with the same name as the one specified in the request, will replace the existing dataset snapshot with the provided fields



## OpenAPI

````yaml /openapi.yaml put /v1/dataset_snapshot
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/dataset_snapshot:
    put:
      tags:
        - DatasetSnapshots
      summary: Create or replace dataset snapshot
      description: >-
        Create or replace dataset snapshot. If there is an existing dataset
        snapshot with the same name as the one specified in the request, will
        replace the existing dataset snapshot with the provided fields
      operationId: putDatasetSnapshot
      requestBody:
        description: Any desired information about the new dataset snapshot object
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDatasetSnapshot'
      responses:
        '200':
          description: Returns the new dataset snapshot object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetSnapshot'
        '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:
    CreateDatasetSnapshot:
      type: object
      properties:
        dataset_id:
          type: string
          format: uuid
          description: Unique identifier for the dataset that this snapshot belongs to
        name:
          type: string
          minLength: 1
          description: Name of the dataset snapshot
        description:
          type:
            - string
            - 'null'
          description: Textual description of the dataset snapshot
        xact_id:
          type: string
          minLength: 1
          description: Transaction id of the brainstore version at the time of the snapshot
      required:
        - dataset_id
        - name
        - xact_id
    DatasetSnapshot:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the dataset snapshot
        dataset_id:
          type: string
          format: uuid
          description: Unique identifier for the dataset that this snapshot belongs to
        name:
          type: string
          description: Name of the dataset snapshot
        description:
          type:
            - string
            - 'null'
        xact_id:
          type: string
          description: Transaction id of the brainstore version at the time of the snapshot
        created:
          type:
            - string
            - 'null'
          format: date-time
          description: Date of dataset snapshot creation
      required:
        - id
        - dataset_id
        - name
        - description
        - xact_id
        - created
  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.