> ## 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 view

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



## OpenAPI

````yaml /openapi.yaml put /v1/view
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/view:
    put:
      tags:
        - Views
      summary: Create or replace view
      description: >-
        Create or replace view. If there is an existing view with the same name
        as the one specified in the request, will replace the existing view with
        the provided fields
      operationId: putView
      requestBody:
        description: Any desired information about the new view object
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateView'
      responses:
        '200':
          description: Returns the new view object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/View'
        '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:
    CreateView:
      type: object
      properties:
        object_type:
          $ref: '#/components/schemas/AclObjectType'
        object_id:
          type: string
          format: uuid
          description: The id of the object the view applies to
        view_type:
          type: string
          enum:
            - projects
            - experiments
            - experiment
            - playgrounds
            - playground
            - datasets
            - dataset
            - prompts
            - parameters
            - tools
            - scorers
            - classifiers
            - logs
            - patterns
            - monitor
            - for_review_project_log
            - for_review_experiments
            - for_review_datasets
          description: Type of object that the view corresponds to.
        name:
          type: string
          description: Name of the view
        description:
          type:
            - string
            - 'null'
          description: Textual description of the view
        view_data:
          $ref: '#/components/schemas/ViewData'
        options:
          $ref: '#/components/schemas/ViewOptions'
        user_id:
          type:
            - string
            - 'null'
          format: uuid
          description: Identifies the user who created the view
        deleted_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Date of role deletion, or null if the role is still active
      required:
        - object_type
        - object_id
        - view_type
        - name
    View:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the view
        object_type:
          $ref: '#/components/schemas/AclObjectType'
        object_id:
          type: string
          format: uuid
          description: The id of the object the view applies to
        view_type:
          type: string
          enum:
            - projects
            - experiments
            - experiment
            - playgrounds
            - playground
            - datasets
            - dataset
            - prompts
            - parameters
            - tools
            - scorers
            - classifiers
            - logs
            - patterns
            - monitor
            - for_review_project_log
            - for_review_experiments
            - for_review_datasets
          description: Type of object that the view corresponds to.
        name:
          type: string
          description: Name of the view
        description:
          type:
            - string
            - 'null'
          description: Textual description of the view
        starred:
          type: boolean
          description: Whether the view is starred in its project
        created:
          type:
            - string
            - 'null'
          format: date-time
          description: Date of view creation
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Date of last view update
        view_data:
          $ref: '#/components/schemas/ViewData'
        options:
          $ref: '#/components/schemas/ViewOptions'
        user_id:
          type:
            - string
            - 'null'
          format: uuid
          description: Identifies the user who created the view
        deleted_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Date of role deletion, or null if the role is still active
      required:
        - id
        - object_type
        - object_id
        - view_type
        - name
    AclObjectType:
      type: string
      enum:
        - organization
        - project
        - experiment
        - dataset
        - prompt
        - prompt_session
        - group
        - role
        - org_member
        - project_log
        - org_project
        - org_audit_logs
        - project_group
        - project_group_projects
        - ai_secret
        - org_ai_secret
        - org_account
      description: The object type that the ACL applies to
    ViewData:
      type:
        - object
        - 'null'
      properties:
        search:
          $ref: '#/components/schemas/ViewDataSearch'
        custom_charts: {}
      description: The view definition
    ViewOptions:
      anyOf:
        - type: object
          properties:
            viewType:
              type: string
              enum:
                - monitor
            options:
              type: object
              properties:
                filterScope:
                  type: string
                  enum:
                    - span
                    - trace
                spanType:
                  type:
                    - string
                    - 'null'
                  enum:
                    - range
                    - frame
                    - null
                rangeValue:
                  type:
                    - string
                    - 'null'
                frameStart:
                  type:
                    - string
                    - 'null'
                frameEnd:
                  type:
                    - string
                    - 'null'
                tzUTC:
                  type:
                    - boolean
                    - 'null'
                chartVisibility:
                  type:
                    - object
                    - 'null'
                  additionalProperties:
                    type: boolean
                projectId:
                  type:
                    - string
                    - 'null'
                type:
                  type:
                    - string
                    - 'null'
                  enum:
                    - project
                    - experiment
                    - null
                groupBy:
                  type:
                    - string
                    - 'null'
            freezeColumns:
              type:
                - boolean
                - 'null'
          required:
            - viewType
            - options
          title: MonitorViewOptions
        - type: object
          properties:
            columnVisibility:
              type:
                - object
                - 'null'
              additionalProperties:
                type: boolean
            columnOrder:
              type:
                - array
                - 'null'
              items:
                type: string
            columnSizing:
              type:
                - object
                - 'null'
              additionalProperties:
                type: number
            grouping:
              type:
                - string
                - 'null'
            rowHeight:
              type:
                - string
                - 'null'
            tallGroupRows:
              type:
                - boolean
                - 'null'
            layout:
              type:
                - string
                - 'null'
            topicMapReportKey:
              type:
                - string
                - 'null'
            chartHeight:
              type:
                - number
                - 'null'
            excludedMeasures:
              type:
                - array
                - 'null'
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - none
                      - score
                      - metric
                      - metadata
                  value:
                    type: string
                required:
                  - type
                  - value
            yMetric:
              type:
                - object
                - 'null'
              properties:
                type:
                  type: string
                  enum:
                    - none
                    - score
                    - metric
                    - metadata
                value:
                  type: string
              required:
                - type
                - value
            xAxis:
              type:
                - object
                - 'null'
              properties:
                type:
                  type: string
                  enum:
                    - none
                    - score
                    - metric
                    - metadata
                value:
                  type: string
              required:
                - type
                - value
            symbolGrouping:
              type:
                - object
                - 'null'
              properties:
                type:
                  type: string
                  enum:
                    - none
                    - score
                    - metric
                    - metadata
                value:
                  type: string
              required:
                - type
                - value
            pointSizeMetric:
              type:
                - object
                - 'null'
              properties:
                type:
                  type: string
                  enum:
                    - none
                    - score
                    - metric
                    - metadata
                value:
                  type: string
              required:
                - type
                - value
            xAxisAggregation:
              type:
                - string
                - 'null'
              description: One of 'avg', 'sum', 'min', 'max', 'median', 'all'
            chartAnnotations:
              type:
                - array
                - 'null'
              items:
                type: object
                properties:
                  id:
                    type: string
                  text:
                    type: string
                required:
                  - id
                  - text
            timeRangeFilter:
              anyOf:
                - type: string
                - type: object
                  properties:
                    from:
                      type: string
                    to:
                      type: string
                  required:
                    - from
                    - to
                - type: 'null'
            queryShape:
              type:
                - string
                - 'null'
              enum:
                - traces
                - spans
                - logs
                - topics
                - null
            cluster:
              type:
                - string
                - 'null'
            freezeColumns:
              type:
                - boolean
                - 'null'
          title: TableViewOptions
        - type: 'null'
      description: Options for the view in the app
    ViewDataSearch:
      type:
        - object
        - 'null'
      properties:
        filter:
          type:
            - array
            - 'null'
          items: {}
        tag:
          type:
            - array
            - 'null'
          items: {}
        match:
          type:
            - array
            - 'null'
          items: {}
        sort:
          type:
            - array
            - 'null'
          items: {}
  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.