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

# Save a Table

> Save a reference to an existing Lakehouse or Warehouse Table. The API does not check Fabric, so a wrong ID or path shows up when a Run cannot read the Table.

Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader).



## OpenAPI

````yaml /api/openapi.json post /api/v1/fabric/tables
openapi: 3.1.0
info:
  description: >-
    General Validation's API for Organization administration, Table Pair and
    Test authoring, Runs, and Result metadata. Microsoft Entra bearer tokens
    authorize every call.
  title: General Validation API
  version: 1.0.0
servers:
  - url: https://api.generalvalidation.com
security: []
tags:
  - description: >-
      Customer-owned Fabric references, immutable Runs, and safe Result
      summaries.
    name: Fabric
  - description: Organizations and verified membership.
    name: Organization
  - description: Subscriptions and entitlements.
    name: Billing
paths:
  /api/v1/fabric/tables:
    post:
      tags:
        - Fabric
      summary: Save a Table
      description: >-
        Save a reference to an existing Lakehouse or Warehouse Table. The API
        does not check Fabric, so a wrong ID or path shows up when a Run cannot
        read the Table.


        Requires the GV.APIContributor application role, or a higher role (Owner
        > Contributor > Reader).
      operationId: create_fabric_table
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/LakehouseTableCreate'
                - $ref: '#/components/schemas/WarehouseTableCreate'
              title: Payload
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/FabricLakehouseTable'
                  - $ref: '#/components/schemas/FabricWarehouseTable'
                  - $ref: '#/components/schemas/FabricCopyTable'
                title: Response Create Fabric Table
          description: Successful Response
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V1Problem'
          description: A valid Microsoft Entra bearer token is required.
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V1Problem'
          description: The authenticated principal does not have the required role.
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V1Problem'
          description: The resource does not exist in this tenant.
        '409':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V1Problem'
          description: The operation conflicts with current resource or Azure state.
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V1Problem'
          description: The request is syntactically valid but semantically invalid.
        '429':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V1Problem'
          description: The bounded application request rate was exceeded.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                minimum: 1
                type: integer
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V1Problem'
          description: A required dependency is temporarily unavailable.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                minimum: 1
                type: integer
      security:
        - entraApplication: []
components:
  schemas:
    LakehouseTableCreate:
      additionalProperties: false
      properties:
        format:
          const: delta
          description: Always `delta`.
          title: Format
          type: string
        kind:
          const: lakehouse
          default: lakehouse
          description: '`lakehouse`, or omit it.'
          title: Kind
          type: string
        lakehouse_id:
          description: The Lakehouse's item ID.
          format: uuid
          title: Lakehouse Id
          type: string
        name:
          description: The Table's name in General Validation.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Name
          type: string
        options:
          additionalProperties: true
          description: Delta tables accept only an empty options object.
          maxProperties: 0
          title: Options
          type: object
        path:
          description: >-
            The Table's path in the Lakehouse: `Tables/<table>`, or
            `Tables/<schema>/<table>` in a Lakehouse with schemas.
          maxLength: 512
          minLength: 1
          title: Path
          type: string
        version_as_of:
          anyOf:
            - maximum: 9007199254740991
              minimum: 0
              type: integer
            - type: 'null'
          description: >-
            Read this Delta table version at every Run. Omit to read the latest
            version.
          title: Version As Of
        workspace_id:
          description: The Fabric workspace that holds the Lakehouse.
          format: uuid
          title: Workspace Id
          type: string
      required:
        - workspace_id
        - lakehouse_id
        - path
        - format
        - name
      title: LakehouseTableCreate
      type: object
    WarehouseTableCreate:
      additionalProperties: false
      properties:
        kind:
          const: warehouse
          title: Kind
          type: string
        name:
          description: The Table's name in General Validation.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Name
          type: string
        schema_name:
          description: The Table's schema, such as `dbo`.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Schema Name
          type: string
        table_name:
          description: The Table's name in the Warehouse.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Table Name
          type: string
        warehouse_id:
          description: The Warehouse's item ID.
          format: uuid
          title: Warehouse Id
          type: string
        warehouse_name:
          description: >-
            The Warehouse's name in Fabric. Validation reads the Table by this
            name.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Warehouse Name
          type: string
        workspace_id:
          description: The Fabric workspace that holds the Warehouse.
          format: uuid
          title: Workspace Id
          type: string
      required:
        - kind
        - workspace_id
        - warehouse_id
        - warehouse_name
        - schema_name
        - table_name
        - name
      title: WarehouseTableCreate
      type: object
    FabricLakehouseTable:
      additionalProperties: false
      properties:
        format:
          const: delta
          description: Always `delta`.
          title: Format
          type: string
        id:
          format: uuid
          title: Id
          type: string
        kind:
          const: lakehouse
          default: lakehouse
          description: '`lakehouse`, or omit it.'
          title: Kind
          type: string
        lakehouse_id:
          description: The Lakehouse's item ID.
          format: uuid
          title: Lakehouse Id
          type: string
        name:
          description: The Table's name in General Validation.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Name
          type: string
        options:
          additionalProperties: true
          description: Delta tables accept only an empty options object.
          maxProperties: 0
          title: Options
          type: object
        path:
          description: >-
            The Table's path in the Lakehouse: `Tables/<table>`, or
            `Tables/<schema>/<table>` in a Lakehouse with schemas.
          maxLength: 512
          minLength: 1
          title: Path
          type: string
        version_as_of:
          anyOf:
            - maximum: 9007199254740991
              minimum: 0
              type: integer
            - type: 'null'
          description: >-
            Read this Delta table version at every Run. Omit to read the latest
            version.
          title: Version As Of
        workspace_id:
          description: The Fabric workspace that holds the Lakehouse.
          format: uuid
          title: Workspace Id
          type: string
      required:
        - workspace_id
        - lakehouse_id
        - path
        - format
        - name
        - id
      title: FabricLakehouseTable
      type: object
    FabricWarehouseTable:
      additionalProperties: false
      properties:
        id:
          format: uuid
          title: Id
          type: string
        kind:
          const: warehouse
          title: Kind
          type: string
        name:
          description: The Table's name in General Validation.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Name
          type: string
        schema_name:
          description: The Table's schema, such as `dbo`.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Schema Name
          type: string
        table_name:
          description: The Table's name in the Warehouse.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Table Name
          type: string
        warehouse_id:
          description: The Warehouse's item ID.
          format: uuid
          title: Warehouse Id
          type: string
        warehouse_name:
          description: >-
            The Warehouse's name in Fabric. Validation reads the Table by this
            name.
          maxLength: 255
          minLength: 1
          pattern: ^[^\x00-\x1f\x7f]+$
          title: Warehouse Name
          type: string
        workspace_id:
          description: The Fabric workspace that holds the Warehouse.
          format: uuid
          title: Workspace Id
          type: string
      required:
        - kind
        - workspace_id
        - warehouse_id
        - warehouse_name
        - schema_name
        - table_name
        - name
        - id
      title: FabricWarehouseTable
      type: object
    FabricCopyTable:
      description: A Table a connector prepares in the app. Create it in the app.
      properties:
        connector:
          description: The connector that prepares the Table.
          title: Connector
          type: string
        id:
          format: uuid
          title: Id
          type: string
        kind:
          const: copy
          title: Kind
          type: string
        name:
          description: The Table's name in General Validation.
          title: Name
          type: string
      required:
        - id
        - kind
        - connector
        - name
      title: FabricCopyTable
      type: object
    V1Problem:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable machine-readable error code, such as `precondition.failed`.
            Branch on this value.
          title: Code
          type: string
        detail:
          description: What went wrong in this request, written for a person.
          title: Detail
          type: string
        diagnostics:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          description: >-
            Extra details for some errors, such as `fieldErrors` for an invalid
            request or `requiredRole` for a denied one. Absent when there are
            none.
          title: Diagnostics
        instance:
          description: Path of the request that failed.
          title: Instance
          type: string
        requestId:
          description: >-
            This request's ID, also sent in the `X-Request-Id` response header.
            Quote it when you contact support. A request that sends an
            `X-Request-Id` of 1 to 64 letters, digits, or `_.:-` gets that value
            back.
          title: Requestid
          type: string
        status:
          description: The HTTP status code of this response.
          title: Status
          type: integer
        title:
          description: Short summary of the error code.
          title: Title
          type: string
        type:
          description: Link to the documentation page for this error code.
          title: Type
          type: string
      required:
        - type
        - title
        - status
        - code
        - detail
        - instance
        - requestId
      title: V1Problem
      type: object
  securitySchemes:
    entraApplication:
      bearerFormat: JWT
      description: >-
        Microsoft Entra application token issued by the caller's Organization
        tenant for this multitenant API. Request the .default scope and assign
        the application the required GV.APIReader, GV.APIContributor, or
        GV.APIOwner role.
      scheme: bearer
      type: http
      x-gv-app-roles:
        - GV.APIReader
        - GV.APIContributor
        - GV.APIOwner
      x-gv-audience: 78d5d8af-9dd6-49dd-b06c-38c3a3c707af
      x-gv-scope: api://78d5d8af-9dd6-49dd-b06c-38c3a3c707af/.default
      x-gv-token-url-template: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token

````

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