> ## 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.

# List Skill proposals

> List SkillProposal improvement jobs in the selected Workspace.



## OpenAPI

````yaml /openapi.json get /v1/skill-proposals
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; or 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: harnessRuntime
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: agentBlueprints
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: concepts
  - name: support
  - 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: 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/skill-proposals:
    get:
      tags:
        - skillProposals
      summary: List Skill proposals
      description: >-
        List SkillProposal improvement jobs in the selected Workspace. Each row
        carries its lifecycle status (authoring, drafted, verifying, verified,
        submitting, submitted, discarded, and their failure states), the source
        Sessions it was authored from, the originating Agent, and the exact
        authoring model usage. `submitting` is a durable repository-operation
        reservation: inspect `submission_attempt` to resume it, or discard it
        only while no prepared commit exists.


        Checkfu support posture: alpha; hosted. Required evidence journey:
        skill-delivery. Deployment-specific readiness and the latest proven
        release are available from GET /v1/support/capabilities.
      operationId: skillProposals.listSkillProposals
      parameters:
        - name: checkfu-version
          in: header
          schema:
            type: string
            enum:
              - '2026-08-31'
          required: true
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
          required: false
        - name: page
          in: query
          schema:
            type: string
            pattern: ^c1_[0-9a-z]+$
          required: false
        - name: order
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
          required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SkillProposalConsistency_1'
                  next_page:
                    anyOf:
                      - type: string
                      - type: 'null'
                required:
                  - data
                  - next_page
                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'
        '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:
    SkillProposalConsistency_1:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/SkillProposalId'
        status:
          $ref: '#/components/schemas/Union_152'
        source_session_ids:
          $ref: '#/components/schemas/Arrays_22'
        source_session_boundaries:
          type: array
          items:
            $ref: '#/components/schemas/SkillProposalSessionBoundary'
          allOf:
            - minItems: 1
            - maxItems: 8
        agent:
          $ref: '#/components/schemas/AgentId'
        model_routing_profile_key:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
        instructions:
          anyOf:
            - type: string
              allOf:
                - maxLength: 4096
            - type: 'null'
        skill:
          $ref: '#/components/schemas/Union_153'
        verification_material:
          $ref: '#/components/schemas/Union_154'
        verifications:
          $ref: '#/components/schemas/Arrays_23'
        submission_attempt:
          $ref: '#/components/schemas/NullableSkillProposalSubmissionAttempt'
        submission:
          $ref: '#/components/schemas/NullableSkillProposalSubmission'
        adoption:
          $ref: '#/components/schemas/NullableSkillProposalAdoption'
        error:
          anyOf:
            - type: string
              enum:
                - input_session_unavailable
                - input_sessions_too_large
                - authoring_failed
                - internal
            - type: 'null'
        usage:
          $ref: '#/components/schemas/Objects_76'
        created_at:
          type: string
        updated_at:
          type: string
        version:
          type: integer
          exclusiveMinimum: 0
      required:
        - id
        - status
        - source_session_ids
        - agent
        - model_routing_profile_key
        - instructions
        - skill
        - verification_material
        - verifications
        - submission
        - adoption
        - error
        - usage
        - created_at
        - updated_at
        - version
      additionalProperties: false
    WorkspaceId:
      type: string
      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.
    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.
    SkillProposalId:
      type: string
      pattern: ^skp_[0-9a-f]{32}$
    Union_152:
      type: string
      enum:
        - authoring
        - drafted
        - authoring_failed
        - verifying
        - verified
        - verification_failed
        - submitting
        - submitted
        - discarded
    Arrays_22:
      type: array
      items:
        $ref: '#/components/schemas/SessionId'
      allOf:
        - minItems: 1
        - maxItems: 8
    SkillProposalSessionBoundary:
      type: object
      properties:
        session_id:
          $ref: '#/components/schemas/SessionId'
        source_sequence:
          type: integer
          allOf:
            - exclusiveMinimum: 0
            - maximum: 9007199254740991
        range:
          $ref: '#/components/schemas/SkillProposalSessionRange'
      required:
        - session_id
        - source_sequence
      additionalProperties: false
    AgentId:
      type: string
      pattern: ^agent_[0-9a-f]{32}$
    Union_153:
      anyOf:
        - type: object
          properties:
            name:
              type: string
              pattern: ^[a-z0-9](?:[a-z0-9._-]{0,93})$
            description:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 1024
            kind:
              type: string
              enum:
                - instructional
            entry:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 2560
            content_sha256:
              type: string
              pattern: ^sha256:[0-9a-f]{64}$
          required:
            - name
            - description
            - kind
            - entry
            - content_sha256
          additionalProperties: false
        - type: 'null'
    Union_154:
      anyOf:
        - type: object
          properties:
            task:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 1024
            rubric:
              type: string
              allOf:
                - minLength: 1
                - maxLength: 2048
          required:
            - task
            - rubric
          additionalProperties: false
        - type: 'null'
    Arrays_23:
      type: array
      items:
        type: object
        properties:
          session:
            $ref: '#/components/schemas/SessionId'
          environment_id:
            $ref: '#/components/schemas/EnvironmentId'
          source_version:
            type: integer
            exclusiveMinimum: 0
          principal:
            $ref: '#/components/schemas/PrincipalId'
          launched_at:
            anyOf:
              - type: string
              - type: 'null'
          started_at:
            type: string
          result:
            anyOf:
              - type: object
                properties:
                  verdict:
                    $ref: '#/components/schemas/Union_156'
                  explanation:
                    type: string
                  cost_tokens:
                    anyOf:
                      - type: integer
                        minimum: 0
                      - type: 'null'
                  completed_at:
                    type: string
                required:
                  - verdict
                  - explanation
                  - cost_tokens
                  - completed_at
                additionalProperties: false
              - type: 'null'
        required:
          - session
          - started_at
          - result
        additionalProperties: false
      allOf:
        - maxItems: 8
    NullableSkillProposalSubmissionAttempt:
      anyOf:
        - $ref: '#/components/schemas/SkillProposalSubmissionAttempt'
        - type: 'null'
    NullableSkillProposalSubmission:
      anyOf:
        - $ref: '#/components/schemas/SkillProposalSubmission'
        - type: 'null'
    NullableSkillProposalAdoption:
      anyOf:
        - $ref: '#/components/schemas/SkillProposalAdoption'
        - type: 'null'
    Objects_76:
      type: object
      properties:
        input_tokens:
          type: integer
          minimum: 0
        cached_input_tokens:
          type: integer
          minimum: 0
        cache_write_input_tokens:
          type: integer
          minimum: 0
        output_tokens:
          type: integer
          minimum: 0
        reasoning_output_tokens:
          type: integer
          minimum: 0
        total_tokens:
          type: integer
          minimum: 0
      required:
        - input_tokens
        - cached_input_tokens
        - cache_write_input_tokens
        - output_tokens
        - reasoning_output_tokens
        - total_tokens
      additionalProperties: false
    SessionId:
      type: string
      pattern: ^sess_[0-9a-f]{32}$
    SkillProposalSessionRange:
      type: object
      properties:
        after_sequence:
          type: integer
          allOf:
            - minimum: 0
            - maximum: 9007199254740991
        through_sequence:
          type: integer
          allOf:
            - exclusiveMinimum: 0
            - maximum: 9007199254740991
        frontier:
          $ref: '#/components/schemas/SessionEvidenceFrontier'
      required:
        - after_sequence
        - through_sequence
        - frontier
      additionalProperties: false
    EnvironmentId:
      type: string
      pattern: ^env_[0-9a-f]{32}$
    PrincipalId:
      type: string
      pattern: ^prin_[0-9a-f]{32}$
    Union_156:
      type: string
      enum:
        - satisfied
        - needs_revision
        - max_iterations_reached
        - failed
        - interrupted
    SkillProposalSubmissionAttempt:
      type: object
      properties:
        source_version:
          type: integer
          exclusiveMinimum: 0
        skill_source:
          $ref: '#/components/schemas/SkillSourceId'
        acted_as:
          $ref: '#/components/schemas/PrincipalId'
        branch:
          $ref: '#/components/schemas/GitBranchName'
        base_commit_sha:
          type: string
          pattern: ^(?:[0-9a-f]{40}|[0-9a-f]{64})$
        base_content_sha256:
          type: string
          pattern: ^sha256:[0-9a-f]{64}$
        expected_base_digest:
          anyOf:
            - type: string
              pattern: >-
                ^(?:sha256:[0-9a-f]{64}|git-sha1:[0-9a-f]{40}|git-sha256:[0-9a-f]{64})$
            - type: 'null'
        prepared_commit_sha:
          anyOf:
            - type: string
              pattern: ^(?:[0-9a-f]{40}|[0-9a-f]{64})$
            - type: 'null'
        started_at:
          type: string
      required:
        - source_version
        - skill_source
        - acted_as
        - branch
        - base_commit_sha
        - base_content_sha256
        - expected_base_digest
        - prepared_commit_sha
        - started_at
      additionalProperties: false
      description: >-
        Durable authority for one externally mutating proposal submission
        attempt.
    SkillProposalSubmission:
      type: object
      properties:
        skill_source:
          $ref: '#/components/schemas/SkillSourceId'
        branch:
          $ref: '#/components/schemas/GitBranchName'
        commit_sha:
          type: string
          pattern: ^(?:[0-9a-f]{40}|[0-9a-f]{64})$
        submitted_at:
          type: string
      required:
        - skill_source
        - branch
        - commit_sha
        - submitted_at
      additionalProperties: false
      description: The recorded change proposal in the bound SkillSource repository.
    SkillProposalAdoption:
      type: object
      properties:
        skill_id:
          $ref: '#/components/schemas/SkillId'
        skill_version:
          type: integer
          exclusiveMinimum: 0
        observed_at:
          type: string
      required:
        - skill_id
        - skill_version
        - observed_at
      additionalProperties: false
      description: The merged and synced Skill version carrying the proposal content.
    SessionEvidenceFrontier:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/EventId'
        through_sequence:
          type: integer
          allOf:
            - exclusiveMinimum: 0
            - maximum: 9007199254740991
        primary_thread:
          anyOf:
            - $ref: '#/components/schemas/SessionThreadId'
            - type: 'null'
      required:
        - event
        - through_sequence
        - primary_thread
      additionalProperties: false
      description: >-
        committed Session event identity and inclusive sequence for frozen
        evidence; independent of directory change watermarks
    SkillSourceId:
      type: string
      pattern: ^sksrc_[0-9a-f]{32}$
    GitBranchName:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 255
    SkillId:
      type: string
      pattern: ^skl_[0-9a-f]{32}$
    EventId:
      type: string
      pattern: ^evt_[0-9a-f]{32}$
    SessionThreadId:
      type: string
      pattern: ^sthr_[0-9a-f]{32}$
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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