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

# Validate review workspace

> Compile a workspace without applying it and return diagnostics.

**Operation ID:** `http.graph.workspaces.validate`

```http theme={null}
POST /v1/orgs/{org}/projects/{project}/graph/workspaces/{ws}/validate
```


## OpenAPI

````yaml openapi.json POST /v1/orgs/{org}/projects/{project}/graph/workspaces/{ws}/validate
openapi: 3.1.0
info:
  title: Penumbra API
  version: v1
  description: >-
    HTTP reference for Files, search, extraction, reviews, Graph, Shapes and
    sharing.
servers:
  - url: https://api.pnbr.io
    description: Penumbra API
security: []
paths:
  /v1/orgs/{org}/projects/{project}/graph/workspaces/{ws}/validate:
    post:
      tags:
        - Review workspaces
      summary: Validate review workspace
      description: |-
        Compile a workspace without applying it and return diagnostics.

        Product guidance: [Workspace](/concepts/workspace).
      operationId: http.graph.workspaces.validate
      parameters:
        - name: org
          in: path
          required: true
          schema:
            type: string
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: ws
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/http_graph_workspaces_validate_request'
      responses:
        2XX:
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http_graph_workspaces_validate_response'
      security:
        - bearerAuth: []
components:
  schemas:
    http_graph_workspaces_validate_request:
      type: object
      properties: {}
      additionalProperties: false
    http_graph_workspaces_validate_response:
      type: object
      properties:
        data:
          type: object
          properties:
            workspace:
              type: object
              properties:
                id:
                  type: string
                creation_origin:
                  type: string
                name:
                  type: string
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                status:
                  type: string
                  enum:
                    - open
                    - submitted
                    - applied
                    - closed
                revision:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                item_count:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                shape:
                  anyOf:
                    - type: object
                      properties:
                        shape_id:
                          type: string
                        artifact_digest:
                          type: string
                      required:
                        - shape_id
                        - artifact_digest
                      additionalProperties: {}
                    - type: 'null'
                bindings:
                  type: array
                  items:
                    type: object
                    properties:
                      shape_id:
                        type: string
                      artifact_digest:
                        type: string
                    required:
                      - shape_id
                      - artifact_digest
                    additionalProperties: {}
                bridge_set:
                  anyOf:
                    - type: object
                      properties:
                        digest:
                          type: string
                        declaration_count:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                      required:
                        - digest
                        - declaration_count
                      additionalProperties: {}
                    - type: 'null'
                created_at:
                  type: string
                updated_at:
                  type: string
                applied_at:
                  anyOf:
                    - type: string
                    - type: 'null'
                replaced_by:
                  type: string
              required:
                - id
                - creation_origin
                - name
                - description
                - status
                - revision
                - item_count
                - shape
                - bindings
                - bridge_set
                - created_at
                - updated_at
                - applied_at
              additionalProperties: {}
            valid:
              type: boolean
            diagnostics:
              type: array
              items:
                type: object
                properties:
                  severity:
                    type: string
                    enum:
                      - error
                      - warning
                  code:
                    type: string
                  message:
                    type: string
                  handle:
                    type: string
                  path:
                    type: string
                required:
                  - severity
                  - code
                  - message
                additionalProperties: {}
            summary:
              type: object
              properties:
                flagged_items:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                review_flags:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                entities:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                relationships:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                hydrated_updates:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                hydrated_deletes:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                linked_existing:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                by_type:
                  type: object
                  propertyNames:
                    type: string
                  additionalProperties:
                    type: number
              required:
                - entities
                - relationships
                - hydrated_updates
                - hydrated_deletes
                - linked_existing
                - by_type
              additionalProperties: {}
            plans:
              type: object
              properties:
                create_plan_digest:
                  anyOf:
                    - type: string
                    - type: 'null'
                lifecycle_plan_digest:
                  anyOf:
                    - type: string
                    - type: 'null'
              required:
                - create_plan_digest
                - lifecycle_plan_digest
              additionalProperties: {}
          required:
            - workspace
            - valid
            - diagnostics
            - summary
            - plans
          additionalProperties: {}
      required:
        - data
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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