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

# Resume a run

> Resumes an interrupted run (approval or connect interrupt) as a new turn on the same conversation. Returns Server-Sent Events. Send Accept: application/json for the polling transport.

**Requires:** `workflows:invoke`



## OpenAPI

````yaml https://api.getmodus.com/openapi.json post /agent/v1/runs/{runId}/resume
openapi: 3.0.3
info:
  title: Modus Public API
  version: 1.0.0
servers: []
security:
  - bearerAuth: []
tags:
  - name: Scopes
    description: Create, configure, deploy, and manage scopes.
  - name: Scopes · Conversations
    description: Read scope conversation threads.
  - name: Scopes · Supervision
    description: Scope supervision sub-resource.
  - name: Scopes · Memories
    description: Long-term memory stored per scope.
  - name: Scopes · Chat
    description: Chat with a published scope.
  - name: Scopes · Context
    description: Compose a scope’s context without an LLM call.
  - name: Modus · Chat
    description: Chat with Modus — your org-wide assistant.
  - name: Modus · Conversations
    description: Read Modus and cross-scope conversation threads.
  - name: Modus · Context
    description: Compose full-environment context without an LLM call.
  - name: Workflows
    description: Create, configure, deploy, and manage workflows.
  - name: Workflows · Runs
    description: Inspect workflow run history.
  - name: Workflows · Interfaces
    description: Slack / MCP / Teams interface management.
  - name: Connections
    description: Read connected integrations.
  - name: Tools
    description: Catalog of tools/integrations a scope can select in its toolset.
  - name: Suggestions
    description: Approved suggested questions and first-party suggestion usage events.
  - name: Context
    description: Create and manage organization context items.
  - name: Usage
    description: Organization LLM usage reporting.
  - name: Users
    description: Organization and membership management.
  - name: Runs · Streaming
    description: 'Run lifecycle: stream, poll, resume, interrupt, and cancel executions.'
  - name: Scopes · Runs
    description: Run a published or draft scope.
  - name: Modus · Runs
    description: Run the Modus home agent.
paths:
  /agent/v1/runs/{runId}/resume:
    post:
      tags:
        - Runs · Streaming
      summary: Resume a run
      description: >-
        Resumes an interrupted run (approval or connect interrupt) as a new turn
        on the same conversation. Returns Server-Sent Events. Send Accept:
        application/json for the polling transport.


        **Requires:** `workflows:invoke`
      operationId: ResumeRunsController_create
      parameters:
        - name: runId
          required: true
          in: path
          description: Id of the interrupted run being resumed.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeRunDto'
      responses:
        '200':
          description: SSE stream of run events.
          content:
            text/event-stream:
              schema:
                type: string
        '201':
          description: >-
            Polling start — returned when Accept: application/json is set. Poll
            GET /runs/{runId}/events for subsequent events.
          content:
            application/json:
              schema:
                type: object
                required:
                  - runId
                  - status
                properties:
                  runId:
                    type: string
                  status:
                    type: string
      security:
        - bearerAuth: []
      servers:
        - url: https://agent.getmodus.com
components:
  schemas:
    ResumeRunDto:
      type: object
      properties:
        message:
          type: string
          description: The user message to send.
        sessionId:
          type: string
          description: >-
            Opaque client-generated conversation token for continuity. The
            server NEVER derives the run target identity (scope/workflow/modus)
            from this string — target identity comes only from the request path
            and DTO (see RunTarget). It is used solely to thread successive
            turns of the same conversation together.
        organizationId:
          type: string
          description: >-
            Organization id. Ignored for authenticated callers — the server uses
            the principal's org.
        version:
          type: string
          enum:
            - published
            - draft
          description: Saved version to run (scope/workflow; ignored for Modus).
        fileThreadId:
          type: string
          description: Document-scoped conversation thread id.
        config:
          $ref: '#/components/schemas/RunConfigDto'
        attachments:
          $ref: '#/components/schemas/AttachmentsDto'
        userContext:
          $ref: '#/components/schemas/UserContextDto'
        supplementalContext:
          $ref: '#/components/schemas/SupplementalContextDto'
        source:
          description: Origin of the run.
          allOf:
            - $ref: '#/components/schemas/RunSource'
        runId:
          type: string
          description: Client-supplied run id (Idempotency-Key header wins).
        streamProtocolVersion:
          type: number
          enum:
            - 2
          description: >-
            Streaming protocol version. Version 2 supports assistant-content
            replacement events.
        experimentalFeatures:
          type: boolean
        debug:
          type: boolean
        decision:
          type: string
          enum:
            - approve
            - deny
            - connected
            - cancelled
          description: Decision that resumes the interrupted run.
      required:
        - message
        - sessionId
        - decision
    RunConfigDto:
      type: object
      properties:
        model:
          type: string
          description: Model id, e.g. anthropic/claude-sonnet-4.6.
        modelSettings:
          description: Model-specific runtime controls.
          allOf:
            - $ref: '#/components/schemas/RunModelSettingsDto'
        contextSelections:
          description: Context selections (runtime-owned shape).
          type: array
          items:
            type: object
        connectionSelections:
          description: Database connection selections (runtime-owned shape).
          type: array
          items:
            type: object
        connectionSet:
          description: Schema scopes (runtime-owned shape).
          type: array
          items:
            type: object
        connectionAllModeIds:
          type: array
          items:
            type: string
        guardrails:
          description: Guardrail ids applied to the run.
          type: array
          items:
            type: string
        toolset:
          type: object
          description: Map of tool name to tool config.
        strategies:
          type: array
          items:
            type: string
        experimentalFeatures:
          type: boolean
        debug:
          type: boolean
        composerFileOffload:
          type: boolean
          description: Set false to keep composer output inline.
    AttachmentsDto:
      type: object
      properties:
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageAttachmentDto'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentAttachmentDto'
    UserContextDto:
      type: object
      properties:
        email:
          type: string
          description: End-user email for personalization; also used for usage attribution.
        name:
          type: string
          description: End-user display name.
        timezone:
          type: string
          description: IANA timezone, e.g. America/New_York.
        userId:
          type: string
          description: User id for system/PAT runs (usage attribution).
    SupplementalContextDto:
      type: object
      properties:
        text:
          type: string
          description: >-
            Background context (e.g. Slack/Teams thread + channel history) to
            prepend to the system prompt.
        source:
          description: Producer that supplied the supplemental context.
          allOf:
            - $ref: '#/components/schemas/SupplementalContextSource'
      required:
        - text
        - source
    RunSource:
      type: string
      enum:
        - home
        - agent_settings
        - agent
        - api
        - modus_api
        - mcp
        - slack
        - slack_dm
        - teams
        - context_chat
        - other
      description: Origin of the run.
    RunModelSettingsDto:
      type: object
      properties:
        reasoningEffort:
          allOf:
            - $ref: '#/components/schemas/RunReasoningEffort'
        contextWindow:
          type: number
          description: Selected model context window in tokens.
          minimum: 1
    ImageAttachmentDto:
      type: object
      properties:
        data:
          type: string
        mimeType:
          type: string
        name:
          type: string
        s3Key:
          type: string
        uploadId:
          type: string
    DocumentAttachmentDto:
      type: object
      properties:
        fileName:
          type: string
          description: Original file name.
        parsedContent:
          type: string
        uploadId:
          type: string
        mimeType:
          type: string
        originalSize:
          type: number
        storageFileName:
          type: string
        rawContentS3Key:
          type: string
        sizeBytes:
          type: number
        summary:
          type: string
          nullable: true
      required:
        - fileName
    SupplementalContextSource:
      type: string
      enum:
        - slack
        - teams
      description: Producer that supplied the supplemental context.
    RunReasoningEffort:
      type: string
      enum:
        - none
        - minimal
        - low
        - medium
        - high
        - xhigh
        - max
  securitySchemes:
    bearerAuth:
      scheme: bearer
      bearerFormat: Modus PAT (modus_<orgUuid>_<prefix>_<secret>) or OAuth 2.1 access token
      type: http
      description: >-
        A Modus personal access token (`modus_<orgUuid>_<prefix>_<secret>`) or
        an OAuth 2.1 access token, sent as `Authorization: Bearer <token>`.

````