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

# Test one AutomationGraph node

> Three arms at one endpoint.



## OpenAPI

````yaml /openapi.json post /v1/automation-graphs/{id}/node-tests
openapi: 3.1.0
info:
  title: Checkfu API
  version: '2026-08-31'
  description: >-
    Authentication is declared per operation: API-key, runtime, or connector
    bearer; Automation signature; bootstrap poll token; or anonymous bootstrap
    creation and credential-free pairing redemption. Every general Checkfu REST
    request requires the dated `Checkfu-Version` header (one of: 2026-08-31);
    the three MCP JSON-RPC transports use `MCP-Protocol-Version`, A2A uses
    `A2A-Version`, and the provider OAuth callback carries neither Checkfu
    header. API keys resolve one Workspace without a request selector;
    authenticated responses identify it with `Checkfu-Workspace-Id`.
servers:
  - url: https://api.checkfu.com
security:
  - bearerAuth: []
tags:
  - name: organizations
  - name: sourceRepositories
  - name: tenants
  - name: workspaces
  - name: principals
  - name: principalGroups
  - name: principalAccessCredentials
  - name: apiKeys
  - name: agents
  - name: harnesses
  - name: harnessRuntime
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: dreams
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: blueprintInstallations
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: agentBlueprints
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: concepts
  - name: support
  - name: bootstrapRequests
  - name: connections
  - name: connectionVaults
  - name: connectionAssignments
  - name: connectedRuntimes
  - name: fileTrees
  - name: collaboration
  - name: automationGraphs
  - name: automations
  - name: actionApprovals
  - name: standingApprovals
  - name: workloadReviewPolicies
  - name: usage
  - name: models
  - name: outcomes
  - name: budgets
  - name: billing
  - name: sessions
  - name: audit
  - name: sessionExports
  - name: runs
  - name: runnerPools
  - name: transcripts
  - name: sessionWatches
  - name: sessionHandoffs
  - name: sessionCapsules
  - name: sessionTrajectories
  - name: webhookEndpoints
  - name: integrationGateway
  - name: workEnvironments
  - name: computers
  - name: computerScreens
  - name: computerBrowserObservations
  - name: computerBrowserActions
  - name: environments
  - name: computerHeadlessOperations
  - name: vaults
  - name: apiMcp
  - name: a2a
paths:
  /v1/automation-graphs/{id}/node-tests:
    post:
      tags:
        - automationGraphs
      summary: Test one AutomationGraph node
      description: >-
        Three arms at one endpoint. Preview interprets explicitly supplied
        hypothetical answers through a check node's frozen deterministic rule:
        no provider call, no usage, nothing persisted. Evaluate crosses the
        sample to the admitted evaluate model for one billed evaluation under
        the durable attempt keyed by the idempotency key: usage is accounted to
        the workspace, the attempt row and protected result bytes persist, and
        no Agent, Connection, approval, or publication effect exists. Prompt
        preview renders the exact first message an Agent block (agent or
        step_agent) would receive for a sample event or sample previous output,
        under the same template grammar and 64 KiB bound a firing uses, and
        names the Agent version and Environment a Session would use: no Session,
        provider call, usage, or firing record. No arm launches work.


        Checkfu support posture: alpha; hosted. Required evidence journey:
        automation-firing. Deployment-specific readiness and the latest proven
        release are available from GET /v1/support/capabilities.
      operationId: automationGraphs.testAutomationGraphNode
      parameters:
        - name: id
          in: path
          schema:
            $ref: '#/components/schemas/AutomationGraphId'
          required: true
        - name: checkfu-version
          in: header
          schema:
            type: string
            enum:
              - '2026-08-31'
          required: true
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/TestAutomationGraphNodePreview'
                - $ref: '#/components/schemas/TestAutomationGraphNodeEvaluate'
                - $ref: '#/components/schemas/TestAutomationGraphNodePromptPreview'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      mode:
                        anyOf:
                          - type: string
                            enum:
                              - preview
                      graph_id:
                        $ref: '#/components/schemas/AutomationGraphId'
                      revision:
                        type: integer
                        allOf:
                          - exclusiveMinimum: 0
                      node_id:
                        type: string
                        allOf:
                          - maxLength: 16384
                          - minLength: 1
                          - maxLength: 128
                      answers_validation:
                        anyOf:
                          - type: string
                            enum:
                              - ok
                      rule_outcome:
                        type: string
                        enum:
                          - 'true'
                          - 'false'
                          - uncertain
                          - error
                      specification_digest:
                        type: string
                        allOf:
                          - pattern: ^sha256:[0-9a-f]{64}$
                      rule_digest:
                        type: string
                        allOf:
                          - pattern: ^sha256:[0-9a-f]{64}$
                    required:
                      - mode
                      - graph_id
                      - revision
                      - node_id
                      - answers_validation
                      - rule_outcome
                      - specification_digest
                      - rule_digest
                    additionalProperties: false
                  - type: object
                    properties:
                      mode:
                        anyOf:
                          - type: string
                            enum:
                              - evaluate
                      graph_id:
                        $ref: '#/components/schemas/AutomationGraphId'
                      revision:
                        type: integer
                        allOf:
                          - exclusiveMinimum: 0
                      node_id:
                        type: string
                        allOf:
                          - maxLength: 16384
                          - minLength: 1
                          - maxLength: 128
                      result:
                        anyOf:
                          - type: object
                            properties:
                              result:
                                type: string
                                enum:
                                  - succeeded
                              answers:
                                type: array
                                items:
                                  $ref: '#/components/schemas/Union_225'
                              model:
                                type: string
                                allOf:
                                  - minLength: 1
                              adapter:
                                type: string
                                allOf:
                                  - minLength: 1
                              route:
                                $ref: '#/components/schemas/Objects_124'
                              usage:
                                $ref: '#/components/schemas/Objects_56'
                              input_digest:
                                type: string
                                allOf:
                                  - pattern: ^sha256:[0-9a-f]{64}$
                              specification_digest:
                                type: string
                                allOf:
                                  - pattern: ^sha256:[0-9a-f]{64}$
                            required:
                              - result
                              - answers
                              - model
                              - adapter
                              - route
                              - usage
                              - input_digest
                              - specification_digest
                            additionalProperties: false
                          - type: object
                            properties:
                              result:
                                type: string
                                enum:
                                  - failed
                              error_code:
                                type: string
                                enum:
                                  - invalid_input
                                  - unavailable_context
                                  - retention_incompatible
                                  - unsupported_capability
                                  - evaluator_unqualified
                                  - provider_access_denied
                                  - credentials_missing
                                  - credentials_rejected
                                  - quota_exhausted
                                  - budget_exhausted
                                  - deadline_exceeded
                                  - provider_unavailable
                                  - invalid_protocol
                                  - indeterminate_work
                                  - cancelled
                              usage:
                                $ref: '#/components/schemas/Objects_56'
                              work:
                                type: string
                                enum:
                                  - not_dispatched
                                  - unknown
                                  - completed_invalid
                            required:
                              - result
                              - error_code
                              - work
                            additionalProperties: false
                      rule_outcome:
                        type: string
                        enum:
                          - 'true'
                          - 'false'
                          - uncertain
                          - error
                      usage:
                        anyOf:
                          - $ref: '#/components/schemas/Objects_56'
                          - type: 'null'
                      route:
                        anyOf:
                          - $ref: '#/components/schemas/Objects_124'
                          - type: 'null'
                      input_digest:
                        type: string
                        allOf:
                          - pattern: ^sha256:[0-9a-f]{64}$
                      specification_digest:
                        type: string
                        allOf:
                          - pattern: ^sha256:[0-9a-f]{64}$
                      rule_digest:
                        type: string
                        allOf:
                          - pattern: ^sha256:[0-9a-f]{64}$
                    required:
                      - mode
                      - graph_id
                      - revision
                      - node_id
                      - result
                      - rule_outcome
                      - usage
                      - route
                      - input_digest
                      - specification_digest
                      - rule_digest
                    additionalProperties: false
                  - type: object
                    properties:
                      mode:
                        anyOf:
                          - type: string
                            enum:
                              - prompt_preview
                      graph_id:
                        $ref: '#/components/schemas/AutomationGraphId'
                      revision:
                        type: integer
                        allOf:
                          - exclusiveMinimum: 0
                      node_id:
                        type: string
                        allOf:
                          - maxLength: 16384
                          - minLength: 1
                          - maxLength: 128
                      prompt_source:
                        type: string
                        enum:
                          - event_template
                          - literal
                          - previous_output
                      rendered_prompt:
                        type: string
                      rendered_prompt_bytes:
                        type: integer
                        allOf:
                          - minimum: 0
                      missing_references:
                        type: array
                        items:
                          type: string
                      agent_id:
                        $ref: '#/components/schemas/AgentId'
                      agent_version:
                        anyOf:
                          - type: integer
                            allOf:
                              - exclusiveMinimum: 0
                          - type: 'null'
                      environment_id:
                        $ref: '#/components/schemas/EnvironmentId'
                    required:
                      - mode
                      - graph_id
                      - revision
                      - node_id
                      - prompt_source
                      - rendered_prompt
                      - rendered_prompt_bytes
                      - missing_references
                      - agent_id
                      - agent_version
                      - environment_id
                    additionalProperties: false
          headers:
            checkfu-workspace-id:
              description: The Workspace resolved from the authenticated bearer credential.
              required: true
              schema:
                $ref: '#/components/schemas/WorkspaceId'
        '400':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationMalformedError'
        '401':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - auth.invalid_key
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#auth-invalid-key
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '403':
          description: >-
            The organization, tenant, or workspace backing this key is
            administratively disabled. | Deployment governance or retention
            policy denied the request.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    required:
                      - error
                    properties:
                      error:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - auth.disabled_tenancy
                          message:
                            type: string
                          more:
                            type: string
                            enum:
                              - >-
                                https://docs.checkfu.com/reference/errors#auth-disabled-tenancy
                            description: >-
                              Stable public documentation and remedy for this
                              error type.
                        required:
                          - type
                          - message
                          - more
                        additionalProperties: false
                    additionalProperties: false
                  - $ref: '#/components/schemas/PolicyDeniedError'
        '404':
          description: >-
            The requested resource does not exist in the resolved deployment
            boundary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationNotFoundError'
        '409':
          description: >-
            The request conflicts with the resource's current state. | An
            idempotent mutation conflicts with a completed or in-progress
            request for the same key.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationConflictError'
                  - $ref: '#/components/schemas/IdempotencyConflictError'
        '429':
          description: Typed Checkfu wire error
          headers:
            retry-after:
              description: >-
                Delay in seconds for rate limits or deployment quotas with a
                known release or UTC reset boundary
              required: false
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - budget.exceeded
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#budget-exceeded
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '500':
          description: >-
            An unexpected internal failure occurred; the message contains an
            opaque incident reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeInternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    AutomationGraphId:
      type: string
      allOf:
        - pattern: ^agph_[0-9a-f]{32}$
    TestAutomationGraphNodePreview:
      type: object
      properties:
        revision:
          type: integer
          allOf:
            - exclusiveMinimum: 0
        node_id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 128
        mode:
          anyOf:
            - type: string
              enum:
                - preview
        answers:
          type: array
          items:
            $ref: '#/components/schemas/Union_225'
          allOf:
            - minItems: 1
            - maxItems: 8
      required:
        - revision
        - node_id
        - mode
        - answers
      additionalProperties: false
    TestAutomationGraphNodeEvaluate:
      type: object
      properties:
        revision:
          type: integer
          allOf:
            - exclusiveMinimum: 0
        node_id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 128
        mode:
          anyOf:
            - type: string
              enum:
                - evaluate
        input:
          type: string
          allOf:
            - maxLength: 65536
        idempotency_key:
          $ref: '#/components/schemas/CheckQuestionKey'
      required:
        - revision
        - node_id
        - mode
        - input
        - idempotency_key
      additionalProperties: false
    TestAutomationGraphNodePromptPreview:
      type: object
      properties:
        revision:
          type: integer
          allOf:
            - exclusiveMinimum: 0
        node_id:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 128
        mode:
          anyOf:
            - type: string
              enum:
                - prompt_preview
        event:
          $ref: '#/components/schemas/AutomationGraphNodeTestSampleEvent'
        previous_output:
          type: string
          allOf:
            - maxLength: 65536
      required:
        - revision
        - node_id
        - mode
      additionalProperties: false
    Union_225:
      anyOf:
        - type: object
          properties:
            key:
              $ref: '#/components/schemas/CheckQuestionKey'
            type:
              type: string
              enum:
                - boolean
            probability_true:
              type: number
              allOf:
                - minimum: 0
                - maximum: 1
          required:
            - key
            - type
            - probability_true
          additionalProperties: false
        - type: object
          properties:
            key:
              $ref: '#/components/schemas/CheckQuestionKey'
            type:
              type: string
              enum:
                - choice
            probabilities:
              type: array
              items:
                type: number
                allOf:
                  - minimum: 0
                  - maximum: 1
            selected_key:
              $ref: '#/components/schemas/CheckQuestionKey'
            provider_confidence:
              type: number
              allOf:
                - minimum: 0
                - maximum: 1
          required:
            - key
            - type
            - probabilities
            - selected_key
          additionalProperties: false
        - type: object
          properties:
            key:
              $ref: '#/components/schemas/CheckQuestionKey'
            type:
              type: string
              enum:
                - score
            probabilities:
              type: array
              items:
                type: number
                allOf:
                  - minimum: 0
                  - maximum: 1
            mean_level:
              type: number
              allOf:
                - minimum: 0
            provider_confidence:
              type: number
              allOf:
                - minimum: 0
                - maximum: 1
          required:
            - key
            - type
            - probabilities
            - mean_level
          additionalProperties: false
    Objects_124:
      type: object
      properties:
        model_routing_profile_key:
          type: string
        model:
          type: string
        tier:
          type: string
        reason:
          type: string
        access_source:
          $ref: '#/components/schemas/Union_78'
      required:
        - model_routing_profile_key
        - model
        - tier
        - reason
        - access_source
      additionalProperties: false
    Objects_56:
      type: object
      properties:
        input_tokens:
          type: integer
          allOf:
            - minimum: 0
        cached_input_tokens:
          type: integer
          allOf:
            - minimum: 0
        cache_write_input_tokens:
          type: integer
          allOf:
            - minimum: 0
        output_tokens:
          type: integer
          allOf:
            - minimum: 0
        reasoning_output_tokens:
          type: integer
          allOf:
            - minimum: 0
        total_tokens:
          type: integer
          allOf:
            - minimum: 0
      required:
        - input_tokens
        - cached_input_tokens
        - cache_write_input_tokens
        - output_tokens
        - reasoning_output_tokens
        - total_tokens
      additionalProperties: false
    AgentId:
      type: string
      allOf:
        - pattern: ^agent_[0-9a-f]{32}$
    EnvironmentId:
      type: string
      allOf:
        - pattern: ^env_[0-9a-f]{32}$
    WorkspaceId:
      type: string
      allOf:
        - pattern: ^wrkspc_[0-9a-f]{32}$
    ValidationMalformedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.malformed
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-malformed
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The request could not be decoded or violated a declared input
        constraint.
    PolicyDeniedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - policy.denied
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#policy-denied
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: Deployment governance or retention policy denied the request.
    ValidationNotFoundError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.not_found
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-not-found
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The requested resource does not exist in the resolved deployment
        boundary.
    ValidationConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.conflict
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The request conflicts with the resource's current state.
    IdempotencyConflictError:
      anyOf:
        - $ref: '#/components/schemas/ValidationIdempotencyConflictError'
        - $ref: '#/components/schemas/ValidationIdempotencyInProgressError'
      description: >-
        An idempotent mutation conflicts with a completed or in-progress request
        for the same key.
    RuntimeInternalError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - runtime.internal
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#runtime-internal
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An unexpected internal failure occurred; the message contains an opaque
        incident reference.
    CheckQuestionKey:
      type: string
    AutomationGraphNodeTestSampleEvent:
      x-checkfu-json-budget:
        maximumBytes: 1048576
        maximumDepth: 64
        maximumNodes: 100000
        maximumInspectionWork: 100000
      x-checkfu-unicode-scalar-values: true
      description: >-
        A sample trigger event: finite JSON of at most 1048576 bytes (1 MiB)
        with at most 64 levels and 100,000 nodes, the bound a webhook delivery
        body meets.
    Union_78:
      anyOf:
        - $ref: '#/components/schemas/Objects_36'
        - type: object
          properties:
            kind:
              type: string
              enum:
                - platform_supply
            provider:
              type: string
              allOf:
                - pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            usage_entry_id:
              $ref: '#/components/schemas/UsageEntryId'
            supply_id:
              $ref: '#/components/schemas/PlatformSupplyId'
            credential_generation_id:
              $ref: '#/components/schemas/SupplyCredentialGenerationId'
            rate_card_id:
              $ref: '#/components/schemas/BillingRateCardId'
            rated_at:
              $ref: '#/components/schemas/PlatformModelRatedAt'
          required:
            - kind
            - provider
            - usage_entry_id
            - supply_id
            - credential_generation_id
            - rate_card_id
            - rated_at
          additionalProperties: false
    ValidationIdempotencyConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_conflict
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The Idempotency-Key is already bound to a different request.
    ValidationIdempotencyInProgressError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_in_progress
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-in-progress
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An identical idempotent request is still in progress and may be retried
        later.
    Objects_36:
      type: object
      properties:
        kind:
          type: string
          enum:
            - workspace_credential
        provider:
          type: string
          allOf:
            - pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        model_credential_id:
          $ref: '#/components/schemas/ModelCredentialId'
        model_credential_generation_id:
          $ref: '#/components/schemas/ModelCredentialGenerationId'
      required:
        - kind
        - provider
        - model_credential_id
        - model_credential_generation_id
      additionalProperties: false
    UsageEntryId:
      type: string
      allOf:
        - pattern: ^use_[0-9a-f]{32}$
    PlatformSupplyId:
      type: string
      allOf:
        - pattern: ^sup_[0-9a-f]{32}$
    SupplyCredentialGenerationId:
      type: string
      allOf:
        - pattern: ^sgen_[0-9a-f]{32}$
    BillingRateCardId:
      type: string
      allOf:
        - pattern: ^rate_[0-9a-f]{32}$
    PlatformModelRatedAt:
      type: string
      allOf:
        - maxLength: 24
        - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
          description: >-
            A canonical UTC ISO-8601 model-rating instant with millisecond
            precision.
    ModelCredentialId:
      type: string
      allOf:
        - pattern: ^mcred_[0-9a-f]{32}$
    ModelCredentialGenerationId:
      type: string
      allOf:
        - pattern: ^mcgen_[0-9a-f]{32}$
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````