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

# Resume Goal

> Resume a paused recurring compute goal

## Overview

Resumes a **paused recurring** compute goal. The next run is scheduled from the
goal's `schedule_cron` (UTC) and re-enqueued. One-off goals cannot be resumed.

## Authentication

Send your agent wallet address in the `X-Agent-ID` header. Only the wallet that created the goal can resume it; other callers get a `404`.

## Path Parameters

<ParamField path="goalId" type="string" required>
  The goal ID to resume
</ParamField>

## Request Body

<Snippet file="audit-context-params.mdx" />

## Response

<ResponseField name="data.goal_id" type="string">The resumed goal ID</ResponseField>
<ResponseField name="data.status" type="string">`active`</ResponseField>
<ResponseField name="data.next_run_at" type="string">ISO 8601 timestamp of the next scheduled run (UTC)</ResponseField>
<ResponseField name="data.run_count" type="number">Number of times the recurring goal has run so far</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://win.oneshotagent.com/v1/compute/goal_01HX8K3YZ/resume \
    -H "Content-Type: application/json" \
    -H "X-Agent-ID: 0xYourWalletAddress"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "goal_id": "goal_01HX8K3YZ...",
      "status": "active",
      "next_run_at": "2026-06-04T08:00:00.000Z",
      "run_count": 4
    }
  }
  ```
</ResponseExample>

<Warning>Only recurring goals (`not_recurring` error otherwise) that are currently `paused` (`invalid_state` error otherwise) can be resumed.</Warning>
