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

# Start async table materialization or refresh

> Start an asynchronous first-time materialization or refresh. Requires confirm=true. Returns HTTP 202 with runId and statusUrl as soon as the run is accepted, without waiting for materialization to finish. Acceptance does not mean the table change succeeded. Poll statusUrl to learn the outcome. Reuse the same idempotency key after a timeout or lost response; keys are scoped to the tenant, table, and operation. Table-state validation happens in the background.



## OpenAPI

````yaml https://api.summation.com/openapi.json post /v1/grid/tables/{table_id}/materializations
openapi: 3.1.0
info:
  title: summation-api public API
  version: 0.1.0
servers: []
security: []
tags:
  - name: Auth
    description: Machine authentication for API clients.
  - name: Tenant
    description: Organization and tenant context resolved by summation-api.
  - name: Projects
    description: Project resources.
  - name: Conversations
    description: Conversation and message resources.
  - name: Reports
    description: Report resources and report operations.
  - name: Runs
    description: Project run history and execution status.
  - name: Playbooks
    description: Playbook resources.
  - name: Files
    description: Project file resources.
  - name: Catalog Entries
    description: Project-scoped data asset attachments.
  - name: Data Connectors
    description: Reusable external data source connections.
  - name: App Connectors
    description: External app connectors whose tools the agent can use during chat.
  - name: Tables
    description: Canonical table metadata and catalog.
  - name: Views
    description: Canonical Summation view metadata and catalog.
  - name: Query Executions
    description: Read-only SQL query execution.
  - name: Grid
    description: Materialized grid status, sync, and lineage.
  - name: Schedules
    description: Schedule and schedule run inspection.
  - name: Workflows
    description: >-
      Workflows: what they run, when they run, and where their output is
      delivered.
  - name: Verification Tests
    description: >-
      Administrative custom verification-test definitions, overlays, and
      effective-set previews.
paths:
  /v1/grid/tables/{table_id}/materializations:
    post:
      tags:
        - Grid
      summary: Start async table materialization or refresh
      description: >-
        Start an asynchronous first-time materialization or refresh. Requires
        confirm=true. Returns HTTP 202 with runId and statusUrl as soon as the
        run is accepted, without waiting for materialization to finish.
        Acceptance does not mean the table change succeeded. Poll statusUrl to
        learn the outcome. Reuse the same idempotency key after a timeout or
        lost response; keys are scoped to the tenant, table, and operation.
        Table-state validation happens in the background.
      operationId: start_table_materialization
      parameters:
        - name: table_id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 128
            pattern: ^[a-zA-Z0-9_-]+$
            description: Calculation table identifier.
            title: Table Id
          description: Calculation table identifier.
        - name: confirm
          in: query
          required: false
          schema:
            type: boolean
            description: >-
              Set confirm=true to start materialization or refresh, which writes
              the table's stored data.
            default: false
            title: Confirm
          description: >-
            Set confirm=true to start materialization or refresh, which writes
            the table's stored data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GridMaterializationRequest'
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GridMaterializationStartedResponse'
        '400':
          description: Invalid request or unsupported option.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemError'
        '401':
          description: Missing, invalid, or expired credentials.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemError'
        '403':
          description: Authenticated but missing the required scope.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemError'
        '404':
          description: Resource not found or not accessible.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: Rate limit exceeded.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemError'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemError'
      security:
        - SummationMachineAuth:
            - agent:write
components:
  schemas:
    GridMaterializationRequest:
      properties:
        operation:
          type: string
          enum:
            - materialize
            - refresh
          title: Operation
          description: >-
            materialize builds a calculation table for the first time; refresh
            rebuilds an already materialized table.
        idempotencyKey:
          type: string
          maxLength: 128
          minLength: 1
          pattern: ^[a-zA-Z0-9_.:-]+$
          title: Idempotencykey
          description: >-
            Reuse this key when retrying the same request, including after a
            timeout. Use a new key for a new run.
      additionalProperties: false
      type: object
      required:
        - operation
        - idempotencyKey
      title: GridMaterializationRequest
    GridMaterializationStartedResponse:
      properties:
        data:
          $ref: '#/components/schemas/GridMaterializationStarted'
      type: object
      required:
        - data
      title: GridMaterializationStartedResponse
    ProblemError:
      description: >-
        Public error envelope (RFC 7807 ``application/problem+json``).


        Mirrors the body produced by :func:`api_error`. Declaring it in the
        contract

        lets generated clients type error handling instead of guessing.
      properties:
        type:
          description: URI reference identifying the problem type.
          title: Type
          type: string
        title:
          description: Short, human-readable summary of the problem type.
          title: Title
          type: string
        status:
          description: HTTP status code.
          title: Status
          type: integer
        detail:
          description: Human-readable explanation specific to this occurrence.
          title: Detail
          type: string
        code:
          description: Stable, machine-readable error code.
          title: Code
          type: string
        request_id:
          description: Correlation id, echoed in the x-request-id header.
          title: Request Id
          type: string
      required:
        - type
        - title
        - status
        - detail
        - code
        - request_id
      title: ProblemError
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    GridMaterializationStarted:
      properties:
        runId:
          type: string
          title: Runid
          description: Identifier of the accepted materialization run.
        statusUrl:
          type: string
          title: Statusurl
          description: Relative URL to poll for this run's status.
      type: object
      required:
        - runId
        - statusUrl
      title: GridMaterializationStarted
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    SummationMachineAuth:
      type: oauth2
      flows:
        clientCredentials:
          scopes:
            agent:read: agent:read
            agent:write: agent:write
          tokenUrl: /v1/auth/m2m/token

````