> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-lee-tschetter-gemini-enterprise-mcp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Surface Provenance

> GetSurfaceProvenance returns, in plain terms, what the surface's report
 was built from: every record its program touched, in the order it touched
 them.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/a2ui/conversations/{conversation_id}/surfaces/{surface_id}/provenance
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/a2ui/conversations/{conversation_id}/surfaces/{surface_id}/provenance:
    get:
      tags:
        - A 2 UI
      summary: Get Surface Provenance
      description: |-
        GetSurfaceProvenance returns, in plain terms, what the surface's report
         was built from: every record its program touched, in the order it touched
         them.
      operationId: c1.api.a2ui.v1.A2UIService.GetSurfaceProvenance
      parameters:
        - in: path
          name: conversation_id
          required: true
          schema:
            description: The conversationId field.
            type: string
        - in: path
          name: surface_id
          required: true
          schema:
            description: The surfaceId field.
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.a2ui.v1.A2UIServiceGetSurfaceProvenanceResponse
          description: >-
            A2UIServiceGetSurfaceProvenanceResponse returns what a surface was
            built
             from: the steps its program ran, and the sources its components report.
components:
  schemas:
    c1.api.a2ui.v1.A2UIServiceGetSurfaceProvenanceResponse:
      description: |-
        A2UIServiceGetSurfaceProvenanceResponse returns what a surface was built
         from: the steps its program ran, and the sources its components report.
      properties:
        programCommitId:
          description: >-
            The program's identity: code mode invokes by explicit commit, so the
            commit
             — not the function — is what a refresh re-executes.
          type: string
        programFunctionId:
          description: >-
            The program that produced a reporting surface. Flat rather than a
            nested
             ref: these five fields are read together by one drawer and nothing else,
             and a saved report's ProgramRef is the type worth converging on later.
             All empty for a surface carrying no report components, and for reports
             emitted before the report-program requirement was enabled for the tenant.
          type: string
        programInput:
          description: >-
            The JSON parameters the program ran with. Empty when the invocation
            has aged
             out of retention.
          type: string
        programInvocationId:
          description: The run that produced this surface.
          type: string
        programSource:
          description: >-
            The program's source, read from the pinned commit. Empty when the
            commit has
             aged out of code-mode retention — the report still renders, but what
             produced it is no longer recoverable.
          type: string
        sources:
          description: The sources field.
          items:
            $ref: '#/components/schemas/c1.api.a2ui.v1.A2UIProvenanceSource'
          type:
            - array
            - 'null'
        stepObjectsVisible:
          description: >-
            Whether the caller may see the ids each step named. False withholds
            every
             A2UIProvenanceStep.objects on the same boundary that withholds
             program_source: those ids are the program's parameters by another name.
          type: boolean
        steps:
          description: Everything the surface's program did, in the order it does it.
          items:
            $ref: '#/components/schemas/c1.api.a2ui.v1.A2UIProvenanceStep'
          type:
            - array
            - 'null'
        stepsAvailable:
          description: >-
            False when neither the pinned program nor the conversation
            transcript could
             be read, so no record of what was looked at survives. Distinguishes that
             from a record that was read and genuinely contains no steps.
          type: boolean
        toolCalls:
          deprecated: true
          description: |-
            Deprecated: raw tool names, superseded by steps. Still populated for
             clients on the previous shape.
          items:
            $ref: '#/components/schemas/c1.api.a2ui.v1.A2UIProvenanceToolCall'
          type:
            - array
            - 'null'
        transcriptAvailable:
          description: False when the backing session or its transcript steps are gone.
          type: boolean
      title: A 2 Ui Service Get Surface Provenance Response
      type: object
      x-speakeasy-name-override: A2UIServiceGetSurfaceProvenanceResponse
    c1.api.a2ui.v1.A2UIProvenanceSource:
      description: >-
        A2UIProvenanceSource is one self-reported source from a reporting
        component:
         what a chart or table says it was drawn from, and how many rows fed it.
      properties:
        componentId:
          description: The componentId field.
          type: string
        count:
          description: The count field.
          format: int64
          type: string
        kind:
          description: The kind field.
          type: string
        label:
          description: The label field.
          type: string
        matchedToolCall:
          deprecated: true
          description: 'Deprecated: always empty. See verified.'
          type: string
        ref:
          description: The ref field.
          type: string
        verified:
          deprecated: true
          description: |-
            Deprecated: always false. Superseded by
             A2UIServiceGetSurfaceProvenanceResponse.steps, which reports what the
             program did rather than judging it.
          type: boolean
      title: A 2 Ui Provenance Source
      type: object
      x-speakeasy-name-override: A2UIProvenanceSource
    c1.api.a2ui.v1.A2UIProvenanceStep:
      description: >-
        A2UIProvenanceStep is one thing the report's program did. Steps are
        returned
         in the order the program performs them.
      properties:
        objects:
          description: >-
            The specific records this step named. Empty when the step names
            none, and
             withheld wholesale when step_objects_visible is false.
          items:
            $ref: '#/components/schemas/c1.api.a2ui.v1.A2UIProvenanceObject'
          type:
            - array
            - 'null'
        operation:
          description: The operation field.
          enum:
            - A2UI_PROVENANCE_OPERATION_UNSPECIFIED
            - A2UI_PROVENANCE_OPERATION_LOOKED_UP
            - A2UI_PROVENANCE_OPERATION_COUNTED
            - A2UI_PROVENANCE_OPERATION_FETCHED_RECORD
            - A2UI_PROVENANCE_OPERATION_SEARCHED
            - A2UI_PROVENANCE_OPERATION_READ_TREND
            - A2UI_PROVENANCE_OPERATION_CREATED
            - A2UI_PROVENANCE_OPERATION_UPDATED
            - A2UI_PROVENANCE_OPERATION_DELETED
            - A2UI_PROVENANCE_OPERATION_RAN_PROGRAM
            - A2UI_PROVENANCE_OPERATION_BUILT_REPORT
          type: string
          x-speakeasy-unknown-values: allow
        recordType:
          description: The recordType field.
          enum:
            - A2UI_PROVENANCE_RECORD_TYPE_UNSPECIFIED
            - A2UI_PROVENANCE_RECORD_TYPE_APP
            - A2UI_PROVENANCE_RECORD_TYPE_USER
            - A2UI_PROVENANCE_RECORD_TYPE_GRANT
            - A2UI_PROVENANCE_RECORD_TYPE_APP_ENTITLEMENT
            - A2UI_PROVENANCE_RECORD_TYPE_APP_USER
            - A2UI_PROVENANCE_RECORD_TYPE_APP_RESOURCE
            - A2UI_PROVENANCE_RECORD_TYPE_APP_RESOURCE_TYPE
            - A2UI_PROVENANCE_RECORD_TYPE_TASK
            - A2UI_PROVENANCE_RECORD_TYPE_POLICY
            - A2UI_PROVENANCE_RECORD_TYPE_CONNECTOR
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_REVIEW
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_REVIEW_TEMPLATE
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_REVIEW_SELECTION
            - A2UI_PROVENANCE_RECORD_TYPE_CONFLICT_MONITOR
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_VIOLATION
            - A2UI_PROVENANCE_RECORD_TYPE_REQUEST_CATALOG
            - A2UI_PROVENANCE_RECORD_TYPE_WEBHOOK
            - A2UI_PROVENANCE_RECORD_TYPE_DIRECTORY
            - A2UI_PROVENANCE_RECORD_TYPE_PROFILE_TYPE
            - A2UI_PROVENANCE_RECORD_TYPE_ROLE_BINDING
            - A2UI_PROVENANCE_RECORD_TYPE_AUTOMATION_EXECUTION
            - A2UI_PROVENANCE_RECORD_TYPE_AUTOMATION_EXECUTION_STEP
            - A2UI_PROVENANCE_RECORD_TYPE_FINDING
            - A2UI_PROVENANCE_RECORD_TYPE_METRIC
            - A2UI_PROVENANCE_RECORD_TYPE_AUTOMATION
            - A2UI_PROVENANCE_RECORD_TYPE_GRANT_HISTORY
            - A2UI_PROVENANCE_RECORD_TYPE_GRANT_REASON
            - A2UI_PROVENANCE_RECORD_TYPE_APP_OWNER
          type: string
          x-speakeasy-unknown-values: allow
      title: A 2 Ui Provenance Step
      type: object
      x-speakeasy-name-override: A2UIProvenanceStep
    c1.api.a2ui.v1.A2UIProvenanceToolCall:
      description: A2UIProvenanceToolCall is one tool call extracted from the transcript.
      properties:
        calledAt:
          format: date-time
          type:
            - string
            - 'null'
        inputDigest:
          description: Leading characters of the tool input, whitespace-collapsed.
          type: string
        toolName:
          description: The toolName field.
          type: string
      title: A 2 Ui Provenance Tool Call
      type: object
      x-speakeasy-name-override: A2UIProvenanceToolCall
    c1.api.a2ui.v1.A2UIProvenanceObject:
      description: A2UIProvenanceObject names one record a step referred to by id.
      properties:
        displayName:
          description: >-
            Empty when the record's type has no name to resolve, or the record
            is
             gone. The id then stands alone rather than the whole row being dropped.
          type: string
        id:
          description: The id field.
          type: string
        recordType:
          description: >-
            Not always the step's own type: a step over grants can be narrowed
            to one
             app, and the app is the record worth naming.
          enum:
            - A2UI_PROVENANCE_RECORD_TYPE_UNSPECIFIED
            - A2UI_PROVENANCE_RECORD_TYPE_APP
            - A2UI_PROVENANCE_RECORD_TYPE_USER
            - A2UI_PROVENANCE_RECORD_TYPE_GRANT
            - A2UI_PROVENANCE_RECORD_TYPE_APP_ENTITLEMENT
            - A2UI_PROVENANCE_RECORD_TYPE_APP_USER
            - A2UI_PROVENANCE_RECORD_TYPE_APP_RESOURCE
            - A2UI_PROVENANCE_RECORD_TYPE_APP_RESOURCE_TYPE
            - A2UI_PROVENANCE_RECORD_TYPE_TASK
            - A2UI_PROVENANCE_RECORD_TYPE_POLICY
            - A2UI_PROVENANCE_RECORD_TYPE_CONNECTOR
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_REVIEW
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_REVIEW_TEMPLATE
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_REVIEW_SELECTION
            - A2UI_PROVENANCE_RECORD_TYPE_CONFLICT_MONITOR
            - A2UI_PROVENANCE_RECORD_TYPE_ACCESS_VIOLATION
            - A2UI_PROVENANCE_RECORD_TYPE_REQUEST_CATALOG
            - A2UI_PROVENANCE_RECORD_TYPE_WEBHOOK
            - A2UI_PROVENANCE_RECORD_TYPE_DIRECTORY
            - A2UI_PROVENANCE_RECORD_TYPE_PROFILE_TYPE
            - A2UI_PROVENANCE_RECORD_TYPE_ROLE_BINDING
            - A2UI_PROVENANCE_RECORD_TYPE_AUTOMATION_EXECUTION
            - A2UI_PROVENANCE_RECORD_TYPE_AUTOMATION_EXECUTION_STEP
            - A2UI_PROVENANCE_RECORD_TYPE_FINDING
            - A2UI_PROVENANCE_RECORD_TYPE_METRIC
            - A2UI_PROVENANCE_RECORD_TYPE_AUTOMATION
            - A2UI_PROVENANCE_RECORD_TYPE_GRANT_HISTORY
            - A2UI_PROVENANCE_RECORD_TYPE_GRANT_REASON
            - A2UI_PROVENANCE_RECORD_TYPE_APP_OWNER
          type: string
          x-speakeasy-unknown-values: allow
      title: A 2 Ui Provenance Object
      type: object
      x-speakeasy-name-override: A2UIProvenanceObject
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````