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

# Fetch review

> Fetch a pending or completed review by ID.

See [Introduction](/api-reference/introduction) for the base URL and authentication.

## Path Parameters

<ParamField path="reviewId" type="string" placeholder="123456abcdef" required>
  The ID of the review.
</ParamField>

<RequestExample>
  ```bash Request theme={null}
  curl --request GET \
    --url https://api.gotohuman.com/reviews/123456abcdef \
    --header 'x-api-key: YOUR_API_KEY'
  ```
</RequestExample>

## Response

<ResponseExample>
  ```json Pending theme={null}
  {
    "accountId": "abFMvLv4HafQymWxKDAov",
    "reviewId": "123456abcdef",
    "agentId": "agent123456abcdef",
    "sessionId": "session789abcdef",
    "formId": "123456abcdef",
    "formName": "Review AI Draft",
    "data": {
      "crmUpdate": {
        "entryId": "123456abcdef",
        "amount": 42000,
        "stage": "proposal",
        "contact": {
          "name": "John Doe",
          "email": "john.doe@example.com",
          "phone": "+1234567890"
        }
      }
    },
    "config": {
      "fields": {
        "stageSelect": {
          "options": [
            { "id": "proposal", "label": "Proposal" },
            { "id": "negotiation", "label": "Negotiation" },
            { "id": "won", "label": "Won" }
          ]
        }
      }
    },
    "createdAt": "2027-10-04T14:18:00.000Z",
    "state": "pending",
    "meta": {
      "example": "LLM thread id"
    },
    "gthLink": "https://app.gotohuman.com/accounts/abFMvLv4HafQymWxKDAov/inbox/agents/agent123456abcdef/reviews/123456abcdef"
  }
  ```

  ```json Completed theme={null}
  {
    "accountId": "abFMvLv4HafQymWxKDAov",
    "reviewId": "123456abcdef",
    "agentId": "agent123456abcdef",
    "sessionId": "session789abcdef",
    "formId": "123456abcdef",
    "formName": "Review AI Draft",
    "data": {
      "crmUpdate": {
        "entryId": "123456abcdef",
        "amount": 42000,
        "stage": "negotiation",
        "contact": {
          "name": "John Doe",
          "email": "john.doe@example.com",
          "phone": "+1234567890"
        }
      }
    },
    "createdAt": "2027-10-04T14:18:00.000Z",
    "state": "responded",
    "reviewResult": {
      "response": "approved",
      "respondingUser": "jess@acme.org",
      "respondingUserId": "uid_abc123",
      "respondedAt": "2027-10-05T14:48:00.000Z",
      "data": {
        "crmUpdate": {
          "entryId": "123456abcdef",
          "amount": 45000,
          "stage": "proposal",
          "contact": {
            "name": "John Doe",
            "email": "john.doe@example.com",
            "phone": "+1234567890"
          }
        }
      }
    },
    "fileCache": {
      "https://files.example.com/hero.png": "https://cdn1.gotohuman.com/..."
    },
    "meta": {
      "example": "LLM thread id"
    },
    "gthLink": "https://app.gotohuman.com/accounts/abFMvLv4HafQymWxKDAov/inbox/agents/agent123456abcdef/reviews/123456abcdef",
    "webhookDeliveryId": "whd_agent_abc123",
    "toolWebhookDeliveryId": "whd_tool_def456"
  }
  ```
</ResponseExample>

<ResponseField name="accountId" type="string">
  ID of the account that owns the review.
</ResponseField>

<ResponseField name="reviewId" type="string">
  ID of the review.
</ResponseField>

<ResponseField name="agentId" type="string">
  ID of the [agent](/agent-setup) this review belongs to.
</ResponseField>

<ResponseField name="sessionId" type="string">
  Session or workflow run this review belongs to.
</ResponseField>

<ResponseField name="formId" type="string">
  ID of the [review type](/create-template).
</ResponseField>

<ResponseField name="formName" type="string">
  Name of the review type.
</ResponseField>

<ResponseField name="data" type="object">
  Data sent with the [review request](/api-reference/request-review). Same shape as the request `data`.
</ResponseField>

<ResponseField name="config" type="object">
  Dynamic field configuration sent with the request, when you included `config`.
</ResponseField>

<ResponseField name="state" type="string">
  Review status. `pending` while waiting for a reviewer, `responded` after submission.
</ResponseField>

<ResponseField name="reviewResult" type="object">
  Included when `state` is `responded`.

  <Expandable title="properties">
    <ResponseField name="response" type="string">
      `approved` or `rejected`. Omitted for [trigger forms](/manual-triggers).
    </ResponseField>

    <ResponseField name="respondingUser" type="string">
      Email of the reviewer who submitted.
    </ResponseField>

    <ResponseField name="respondingUserId" type="string">
      ID of the reviewer who submitted.
    </ResponseField>

    <ResponseField name="respondedAt" type="string">
      ISO 8601 timestamp of the submission.
    </ResponseField>

    <ResponseField name="data" type="object">
      Values after review. Same structure as the request `data`, including reviewer edits and selections.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fileCache" type="object">
  Map of original media URLs to CDN URLs. See [Images and videos](/images-videos#cdn-urls-in-webhooks).
</ResponseField>

<ResponseField name="meta" type="object">
  Any `meta` you sent with the request.
</ResponseField>

<ResponseField name="gthLink" type="string">
  Link to open the review in gotoHuman.
</ResponseField>

<ResponseField name="webhookDeliveryId" type="string">
  ID of the agent webhook delivery for this completion. Fetch it with [Fetch delivery](/api-reference/fetch-delivery).
</ResponseField>
