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

# Get assistant proposal

> Only the member it was proposed to can read it.



## OpenAPI

````yaml /openapi-public.json get /agent/proposals/{id}
openapi: 3.1.1
info:
  title: Klef API
  description: Klef's multi-tenant HRIS sync platform API.
  version: v1
servers:
  - url: https://{workspace}.klef.ai/api
    variables:
      workspace:
        default: acme
        description: Your workspace's subdomain.
security: []
tags:
  - name: Users
  - name: Connections
  - name: Adoption
  - name: Policy resources
  - name: Audit
  - name: Catalog
  - name: Sync
  - name: Search
  - name: SyncPlans
  - name: Agent
  - name: Auth
  - name: Workspaces
  - name: Invitations
  - name: FirstSignIns
  - name: Connection accounts
  - name: Policies
  - name: Secrets
  - name: Lookup tables
  - name: Scripts
  - name: Segments
  - name: Members
  - name: Workers
  - name: Inbox
  - name: Notifications
paths:
  /agent/proposals/{id}:
    get:
      tags:
        - Agent
      summary: Get assistant proposal
      description: Only the member it was proposed to can read it.
      operationId: GetAgentProposal
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfAgentProposalResponse'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                required:
                  - result
                  - errors
                type: object
                properties:
                  result: {}
                  errors:
                    type: array
                    items:
                      required:
                        - errorCode
                        - errorMessage
                      type: object
                      properties:
                        errorCode:
                          enum:
                            - validation_error
                            - unauthorized
                            - forbidden
                            - not_found
                            - internal_error
                            - error
                            - precondition_required
                            - precondition_failed
                            - invalid_if_match
                            - worker_not_found
                            - worker_version_not_found
                            - connection_not_found
                            - policy_not_found
                            - policy_modified
                            - policy_revision_not_found
                            - lookup_table_not_found
                            - script_not_found
                            - segment_not_found
                            - workspace_secret_not_found
                            - member_not_found
                            - invitation_not_found
                            - user_not_found
                            - workspace_not_found
                            - api_key_not_found
                            - inbox_item_not_found
                            - sync_plan_not_found
                            - connection_account_not_found
                            - managed_account_not_found
                            - adoption_run_not_found
                            - sync_plan_not_ready
                            - sync_plan_stale
                            - sync_plan_already_applying
                            - subdomain_taken
                            - invalid_subdomain
                            - invalid_invite
                            - last_owner_protected
                            - owner_protected
                            - already_member
                            - already_invited
                            - role_not_assignable
                            - invalid_email
                            - email_required
                            - email_mismatch
                            - invitation_gone
                            - invalid_connector_credentials
                            - wrong_connector_type
                            - connection_not_syncable
                            - connector_o_auth_not_configured
                            - connector_authorization_failed
                            - salesforce_manage_users_required
                            - box_admin_required
                            - linear_admin_required
                            - dropbox_admin_required
                            - github_organization_required
                            - invalid_match_rule
                            - adoption_run_composed
                            - adoption_run_empty
                            - adoption_selection_refused
                            - invalid_policy
                            - policy_does_not_compile
                            - policy_secret_missing
                            - policy_lookup_table_missing
                            - policy_script_missing
                            - policy_segment_missing
                            - policy_edit_target_missing
                            - policy_secret_disclosure_forbidden
                            - notification_send_failed
                            - invalid_workspace_secret
                            - workspace_secret_referenced
                            - workspace_secret_name_conflict
                            - invalid_lookup_table
                            - lookup_table_referenced
                            - lookup_table_name_conflict
                            - invalid_script
                            - script_name_conflict
                            - script_referenced
                            - invalid_segment
                            - segment_name_conflict
                            - segment_referenced
                            - segment_worker_missing
                            - api_key_scope_not_granted
                            - api_key_limit_reached
                            - subscription_required
                            - plan_upgrade_required
                            - already_subscribed
                            - no_billing_customer
                            - workspace_pending_deletion
                            - workspace_deletion_confirmation_mismatch
                            - workspace_deletion_already_scheduled
                            - workspace_deletion_not_scheduled
                            - workspace_export_expired
                            - workspace_export_not_found
                            - agent_conversation_not_found
                            - agent_proposal_not_found
                            - agent_proposal_outdated
                            - agent_proposal_expired
                            - agent_proposal_already_applied
                            - agent_proposal_rejected
                            - notification_kind_unsupported
                            - first_sign_in_not_found
                            - first_sign_in_gone
                            - first_sign_in_not_a_recipient
                            - first_sign_in_recipient_unknown
                            - first_sign_in_locked
                            - first_sign_in_code_refused
                            - first_sign_in_proof_invalid
                            - password_reset_unsupported
                            - invalid_password_rules
                            - avatar_not_owned
                            - unsupported_image_type
                            - image_too_large
                          description: >-
                            The central catalog of every error returned by the
                            API.
                        errorMessage:
                          type: string
                        target:
                          type:
                            - 'null'
                            - string
                      description: >-
                        One error in an API response: a specific ApiErrorCode, a
                        human-readable message, and an optional `target` (the
                        field a validation error applies to).
                description: >-
                  The envelope for a single-resource response: `result` on
                  success, otherwise `null` with one or more `errors`.
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                required:
                  - result
                  - errors
                type: object
                properties:
                  result: {}
                  errors:
                    type: array
                    items:
                      required:
                        - errorCode
                        - errorMessage
                      type: object
                      properties:
                        errorCode:
                          enum:
                            - validation_error
                            - unauthorized
                            - forbidden
                            - not_found
                            - internal_error
                            - error
                            - precondition_required
                            - precondition_failed
                            - invalid_if_match
                            - worker_not_found
                            - worker_version_not_found
                            - connection_not_found
                            - policy_not_found
                            - policy_modified
                            - policy_revision_not_found
                            - lookup_table_not_found
                            - script_not_found
                            - segment_not_found
                            - workspace_secret_not_found
                            - member_not_found
                            - invitation_not_found
                            - user_not_found
                            - workspace_not_found
                            - api_key_not_found
                            - inbox_item_not_found
                            - sync_plan_not_found
                            - connection_account_not_found
                            - managed_account_not_found
                            - adoption_run_not_found
                            - sync_plan_not_ready
                            - sync_plan_stale
                            - sync_plan_already_applying
                            - subdomain_taken
                            - invalid_subdomain
                            - invalid_invite
                            - last_owner_protected
                            - owner_protected
                            - already_member
                            - already_invited
                            - role_not_assignable
                            - invalid_email
                            - email_required
                            - email_mismatch
                            - invitation_gone
                            - invalid_connector_credentials
                            - wrong_connector_type
                            - connection_not_syncable
                            - connector_o_auth_not_configured
                            - connector_authorization_failed
                            - salesforce_manage_users_required
                            - box_admin_required
                            - linear_admin_required
                            - dropbox_admin_required
                            - github_organization_required
                            - invalid_match_rule
                            - adoption_run_composed
                            - adoption_run_empty
                            - adoption_selection_refused
                            - invalid_policy
                            - policy_does_not_compile
                            - policy_secret_missing
                            - policy_lookup_table_missing
                            - policy_script_missing
                            - policy_segment_missing
                            - policy_edit_target_missing
                            - policy_secret_disclosure_forbidden
                            - notification_send_failed
                            - invalid_workspace_secret
                            - workspace_secret_referenced
                            - workspace_secret_name_conflict
                            - invalid_lookup_table
                            - lookup_table_referenced
                            - lookup_table_name_conflict
                            - invalid_script
                            - script_name_conflict
                            - script_referenced
                            - invalid_segment
                            - segment_name_conflict
                            - segment_referenced
                            - segment_worker_missing
                            - api_key_scope_not_granted
                            - api_key_limit_reached
                            - subscription_required
                            - plan_upgrade_required
                            - already_subscribed
                            - no_billing_customer
                            - workspace_pending_deletion
                            - workspace_deletion_confirmation_mismatch
                            - workspace_deletion_already_scheduled
                            - workspace_deletion_not_scheduled
                            - workspace_export_expired
                            - workspace_export_not_found
                            - agent_conversation_not_found
                            - agent_proposal_not_found
                            - agent_proposal_outdated
                            - agent_proposal_expired
                            - agent_proposal_already_applied
                            - agent_proposal_rejected
                            - notification_kind_unsupported
                            - first_sign_in_not_found
                            - first_sign_in_gone
                            - first_sign_in_not_a_recipient
                            - first_sign_in_recipient_unknown
                            - first_sign_in_locked
                            - first_sign_in_code_refused
                            - first_sign_in_proof_invalid
                            - password_reset_unsupported
                            - invalid_password_rules
                            - avatar_not_owned
                            - unsupported_image_type
                            - image_too_large
                          description: >-
                            The central catalog of every error returned by the
                            API.
                        errorMessage:
                          type: string
                        target:
                          type:
                            - 'null'
                            - string
                      description: >-
                        One error in an API response: a specific ApiErrorCode, a
                        human-readable message, and an optional `target` (the
                        field a validation error applies to).
                description: >-
                  The envelope for a single-resource response: `result` on
                  success, otherwise `null` with one or more `errors`.
        '404':
          description: Not Found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                required:
                  - result
                  - errors
                type: object
                properties:
                  result: {}
                  errors:
                    type: array
                    items:
                      required:
                        - errorCode
                        - errorMessage
                      type: object
                      properties:
                        errorCode:
                          enum:
                            - validation_error
                            - unauthorized
                            - forbidden
                            - not_found
                            - internal_error
                            - error
                            - precondition_required
                            - precondition_failed
                            - invalid_if_match
                            - worker_not_found
                            - worker_version_not_found
                            - connection_not_found
                            - policy_not_found
                            - policy_modified
                            - policy_revision_not_found
                            - lookup_table_not_found
                            - script_not_found
                            - segment_not_found
                            - workspace_secret_not_found
                            - member_not_found
                            - invitation_not_found
                            - user_not_found
                            - workspace_not_found
                            - api_key_not_found
                            - inbox_item_not_found
                            - sync_plan_not_found
                            - connection_account_not_found
                            - managed_account_not_found
                            - adoption_run_not_found
                            - sync_plan_not_ready
                            - sync_plan_stale
                            - sync_plan_already_applying
                            - subdomain_taken
                            - invalid_subdomain
                            - invalid_invite
                            - last_owner_protected
                            - owner_protected
                            - already_member
                            - already_invited
                            - role_not_assignable
                            - invalid_email
                            - email_required
                            - email_mismatch
                            - invitation_gone
                            - invalid_connector_credentials
                            - wrong_connector_type
                            - connection_not_syncable
                            - connector_o_auth_not_configured
                            - connector_authorization_failed
                            - salesforce_manage_users_required
                            - box_admin_required
                            - linear_admin_required
                            - dropbox_admin_required
                            - github_organization_required
                            - invalid_match_rule
                            - adoption_run_composed
                            - adoption_run_empty
                            - adoption_selection_refused
                            - invalid_policy
                            - policy_does_not_compile
                            - policy_secret_missing
                            - policy_lookup_table_missing
                            - policy_script_missing
                            - policy_segment_missing
                            - policy_edit_target_missing
                            - policy_secret_disclosure_forbidden
                            - notification_send_failed
                            - invalid_workspace_secret
                            - workspace_secret_referenced
                            - workspace_secret_name_conflict
                            - invalid_lookup_table
                            - lookup_table_referenced
                            - lookup_table_name_conflict
                            - invalid_script
                            - script_name_conflict
                            - script_referenced
                            - invalid_segment
                            - segment_name_conflict
                            - segment_referenced
                            - segment_worker_missing
                            - api_key_scope_not_granted
                            - api_key_limit_reached
                            - subscription_required
                            - plan_upgrade_required
                            - already_subscribed
                            - no_billing_customer
                            - workspace_pending_deletion
                            - workspace_deletion_confirmation_mismatch
                            - workspace_deletion_already_scheduled
                            - workspace_deletion_not_scheduled
                            - workspace_export_expired
                            - workspace_export_not_found
                            - agent_conversation_not_found
                            - agent_proposal_not_found
                            - agent_proposal_outdated
                            - agent_proposal_expired
                            - agent_proposal_already_applied
                            - agent_proposal_rejected
                            - notification_kind_unsupported
                            - first_sign_in_not_found
                            - first_sign_in_gone
                            - first_sign_in_not_a_recipient
                            - first_sign_in_recipient_unknown
                            - first_sign_in_locked
                            - first_sign_in_code_refused
                            - first_sign_in_proof_invalid
                            - password_reset_unsupported
                            - invalid_password_rules
                            - avatar_not_owned
                            - unsupported_image_type
                            - image_too_large
                          description: >-
                            The central catalog of every error returned by the
                            API.
                        errorMessage:
                          type: string
                        target:
                          type:
                            - 'null'
                            - string
                      description: >-
                        One error in an API response: a specific ApiErrorCode, a
                        human-readable message, and an optional `target` (the
                        field a validation error applies to).
                description: >-
                  The envelope for a single-resource response: `result` on
                  success, otherwise `null` with one or more `errors`.
      security:
        - cookieAuth: []
components:
  schemas:
    ApiResponseOfAgentProposalResponse:
      required:
        - result
        - errors
      type: object
      properties:
        result:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/AgentProposalResponse'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
      description: >-
        The envelope for a single-resource response: `result` on success,
        otherwise `null` with one or more `errors`.
    AgentProposalResponse:
      required:
        - id
        - card
        - proposedAt
        - expiresAt
        - appliedAt
      type: object
      properties:
        id:
          type: string
        card:
          $ref: '#/components/schemas/ProposalCard'
        proposedAt:
          $ref: '#/components/schemas/Instant'
        expiresAt:
          $ref: '#/components/schemas/Instant'
        appliedAt:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/Instant'
    ApiError:
      required:
        - errorCode
        - errorMessage
      type: object
      properties:
        errorCode:
          $ref: '#/components/schemas/ApiErrorCode'
        errorMessage:
          type: string
        target:
          type:
            - 'null'
            - string
      description: >-
        One error in an API response: a specific ApiErrorCode, a human-readable
        message, and an optional `target` (the field a validation error applies
        to).
    ProposalCard:
      required:
        - kind
      type: object
      anyOf:
        - $ref: '#/components/schemas/ProposalCardPolicy'
        - $ref: '#/components/schemas/ProposalCardSegment'
        - $ref: '#/components/schemas/ProposalCardScript'
        - $ref: '#/components/schemas/ProposalCardLookup'
        - $ref: '#/components/schemas/ProposalCardSecret'
        - $ref: '#/components/schemas/ProposalCardPolicyStatus'
        - $ref: '#/components/schemas/ProposalCardPolicyDeletion'
        - $ref: '#/components/schemas/ProposalCardPlanApproval'
      description: A proposed change as the user reads it before applying it.
      discriminator:
        propertyName: kind
        mapping:
          policy: '#/components/schemas/ProposalCardPolicy'
          segment: '#/components/schemas/ProposalCardSegment'
          script: '#/components/schemas/ProposalCardScript'
          lookup: '#/components/schemas/ProposalCardLookup'
          secret: '#/components/schemas/ProposalCardSecret'
          policy_status: '#/components/schemas/ProposalCardPolicyStatus'
          policy_deletion: '#/components/schemas/ProposalCardPolicyDeletion'
          plan_approval: '#/components/schemas/ProposalCardPlanApproval'
    Instant:
      type: string
      format: date-time
    ApiErrorCode:
      enum:
        - validation_error
        - unauthorized
        - forbidden
        - not_found
        - internal_error
        - error
        - precondition_required
        - precondition_failed
        - invalid_if_match
        - worker_not_found
        - worker_version_not_found
        - connection_not_found
        - policy_not_found
        - policy_modified
        - policy_revision_not_found
        - lookup_table_not_found
        - script_not_found
        - segment_not_found
        - workspace_secret_not_found
        - member_not_found
        - invitation_not_found
        - user_not_found
        - workspace_not_found
        - api_key_not_found
        - inbox_item_not_found
        - sync_plan_not_found
        - connection_account_not_found
        - managed_account_not_found
        - adoption_run_not_found
        - sync_plan_not_ready
        - sync_plan_stale
        - sync_plan_already_applying
        - subdomain_taken
        - invalid_subdomain
        - invalid_invite
        - last_owner_protected
        - owner_protected
        - already_member
        - already_invited
        - role_not_assignable
        - invalid_email
        - email_required
        - email_mismatch
        - invitation_gone
        - invalid_connector_credentials
        - wrong_connector_type
        - connection_not_syncable
        - connector_o_auth_not_configured
        - connector_authorization_failed
        - salesforce_manage_users_required
        - box_admin_required
        - linear_admin_required
        - dropbox_admin_required
        - github_organization_required
        - invalid_match_rule
        - adoption_run_composed
        - adoption_run_empty
        - adoption_selection_refused
        - invalid_policy
        - policy_does_not_compile
        - policy_secret_missing
        - policy_lookup_table_missing
        - policy_script_missing
        - policy_segment_missing
        - policy_edit_target_missing
        - policy_secret_disclosure_forbidden
        - notification_send_failed
        - invalid_workspace_secret
        - workspace_secret_referenced
        - workspace_secret_name_conflict
        - invalid_lookup_table
        - lookup_table_referenced
        - lookup_table_name_conflict
        - invalid_script
        - script_name_conflict
        - script_referenced
        - invalid_segment
        - segment_name_conflict
        - segment_referenced
        - segment_worker_missing
        - api_key_scope_not_granted
        - api_key_limit_reached
        - subscription_required
        - plan_upgrade_required
        - already_subscribed
        - no_billing_customer
        - workspace_pending_deletion
        - workspace_deletion_confirmation_mismatch
        - workspace_deletion_already_scheduled
        - workspace_deletion_not_scheduled
        - workspace_export_expired
        - workspace_export_not_found
        - agent_conversation_not_found
        - agent_proposal_not_found
        - agent_proposal_outdated
        - agent_proposal_expired
        - agent_proposal_already_applied
        - agent_proposal_rejected
        - notification_kind_unsupported
        - first_sign_in_not_found
        - first_sign_in_gone
        - first_sign_in_not_a_recipient
        - first_sign_in_recipient_unknown
        - first_sign_in_locked
        - first_sign_in_code_refused
        - first_sign_in_proof_invalid
        - password_reset_unsupported
        - invalid_password_rules
        - avatar_not_owned
        - unsupported_image_type
        - image_too_large
      description: The central catalog of every error returned by the API.
    ProposalCardPolicy:
      required:
        - diff
        - id
        - label
      properties:
        kind:
          enum:
            - policy
          type: string
        diff:
          type: array
          items:
            $ref: '#/components/schemas/SourceDiffLine'
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    ProposalCardSegment:
      required:
        - id
        - label
      properties:
        kind:
          enum:
            - segment
          type: string
        settings:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ProposalField'
        rules:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ProposalField'
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    ProposalCardScript:
      required:
        - source
        - id
        - label
      properties:
        kind:
          enum:
            - script
          type: string
        source:
          type: string
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    ProposalCardLookup:
      required:
        - id
        - label
      properties:
        kind:
          enum:
            - lookup
          type: string
        settings:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ProposalField'
        entries:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ProposalEntryChange'
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    ProposalCardSecret:
      required:
        - name
        - id
        - label
      properties:
        kind:
          enum:
            - secret
          type: string
        name:
          $ref: '#/components/schemas/ProposalRename'
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    ProposalCardPolicyStatus:
      required:
        - fields
        - id
        - label
      properties:
        kind:
          enum:
            - policy_status
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ProposalField'
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    ProposalCardPolicyDeletion:
      required:
        - fields
        - id
        - label
      properties:
        kind:
          enum:
            - policy_deletion
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ProposalField'
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    ProposalCardPlanApproval:
      required:
        - fields
        - id
        - label
      properties:
        kind:
          enum:
            - plan_approval
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ProposalField'
        id:
          type: string
          description: The id of the record the change is to.
        label:
          type: string
        confirm:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ProposalConfirm'
              description: The proposal to apply, or `null` before it is saved.
        applied:
          type: boolean
    SourceDiffLine:
      required:
        - kind
      type: object
      anyOf:
        - $ref: '#/components/schemas/SourceDiffLineAdded'
        - $ref: '#/components/schemas/SourceDiffLineRemoved'
        - $ref: '#/components/schemas/SourceDiffLineContext'
        - $ref: '#/components/schemas/SourceDiffLineSkipped'
      discriminator:
        propertyName: kind
        mapping:
          added: '#/components/schemas/SourceDiffLineAdded'
          removed: '#/components/schemas/SourceDiffLineRemoved'
          context: '#/components/schemas/SourceDiffLineContext'
          skipped: '#/components/schemas/SourceDiffLineSkipped'
    ProposalConfirm:
      required:
        - id
      type: object
      properties:
        id:
          type: string
    ProposalField:
      required:
        - name
        - before
        - after
      type: object
      properties:
        name:
          type: string
        before:
          type:
            - 'null'
            - string
        after:
          type:
            - 'null'
            - string
        beforeWorkers:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ProposalWorkerRef'
          description: >-
            The workers either side names, when the setting is a list of
            workers.
        afterWorkers:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ProposalWorkerRef'
      description: One setting either side of a change (`null` is the side not set yet).
    ProposalEntryChange:
      required:
        - before
        - after
      type: object
      properties:
        before:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/LookupEntry'
        after:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/LookupEntry'
    ProposalRename:
      required:
        - before
        - after
      type: object
      properties:
        before:
          type: string
        after:
          type: string
    SourceDiffLineAdded:
      required:
        - text
      properties:
        kind:
          enum:
            - added
          type: string
        text:
          type: string
    SourceDiffLineRemoved:
      required:
        - text
      properties:
        kind:
          enum:
            - removed
          type: string
        text:
          type: string
    SourceDiffLineContext:
      required:
        - text
      properties:
        kind:
          enum:
            - context
          type: string
        text:
          type: string
    SourceDiffLineSkipped:
      required:
        - lines
      properties:
        kind:
          enum:
            - skipped
          type: string
        lines:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
    ProposalWorkerRef:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    LookupEntry:
      required:
        - key
        - value
      type: object
      properties:
        key:
          type: string
        value:
          type: string
      description: A single Key/Value row in a LookupTable.
  securitySchemes:
    cookieAuth:
      type: apiKey
      description: >-
        Cookie-based session. Obtain by completing the `/auth/login/{provider}`
        OAuth flow; the `/auth/callback` response sets the `klef.session` cookie
        that subsequent requests send automatically.
      name: klef.session
      in: cookie

````

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