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

# Get Process

> Read normalized public process state.

# Get Process

Use `GET /processes/{process_id}` to retrieve the current normalized public process record.

```http theme={null}
GET /processes/{process_id}
```

## When To Use It

Use this endpoint as the source of truth for:

* current public status
* resolved target assignment
* callbacks configured for the process
* error summary
* linked queue-item ids
* partial progress

## Request Example

```bash theme={null}
curl "$PHONEFARM_BASE_URL/processes/$PROCESS_ID" \
  -H "Authorization: Bearer $PHONEFARM_API_KEY"
```

## Response Example

```json theme={null}
{
  "process_id": "3e6f2e7b-4e3c-4c7c-b8d7-0c53d83f9870",
  "process_type": "keyword_warmup",
  "platform": "instagram",
  "request_id": "warmup-2026-03-22-001",
  "status": "executing",
  "target": {
    "account_id": "account_user095916355",
    "phone_id": "phone_01"
  },
  "requested_by": {
    "system": "ugc-tracker",
    "user": "operator@example.com",
    "metadata": {}
  },
  "callback": {
    "url": "https://ugc-tracker.example.com/phonefarm/process-updates",
    "metadata": {
      "environment": "production"
    }
  },
  "result": {},
  "error": null,
  "timestamps": {
    "created_at": "2026-03-22T08:30:00.000Z",
    "accepted_at": "2026-03-22T08:30:00.000Z",
    "queued_at": "2026-03-22T08:30:00.000Z",
    "executing_at": "2026-03-22T08:31:10.000Z",
    "retrying_at": null,
    "cancel_requested_at": null,
    "finished_at": null
  },
  "linked_ids": {
    "queue_item_ids": ["7c1a07f6-1d55-4f79-a403-8a8420f1b62b"],
    "completed_queue_item_ids": []
  },
  "partial_progress": {}
}
```

## Response Fields

| Field              | Type           | Notes                                                          |
| ------------------ | -------------- | -------------------------------------------------------------- |
| `process_id`       | string         | Stable process identifier.                                     |
| `process_type`     | string         | Capability or process family.                                  |
| `platform`         | string         | `tiktok` or `instagram`. Defaults to `tiktok` for legacy rows. |
| `request_id`       | string or null | Caller-provided request id.                                    |
| `status`           | string         | Public normalized status.                                      |
| `target`           | object         | Current account and phone target view.                         |
| `requested_by`     | object         | Original caller identity payload.                              |
| `callback`         | object or null | Callback target and metadata.                                  |
| `result`           | object         | Result metadata collected so far.                              |
| `error`            | object or null | Terminal or current error summary.                             |
| `timestamps`       | object         | Milestone-derived timestamps.                                  |
| `linked_ids`       | object         | Queue-item relationships.                                      |
| `partial_progress` | object         | Partial completion details when relevant.                      |

## `error`

When present:

```json theme={null}
{
  "message": "operator requested stop",
  "category": "cancelled"
}
```

## `linked_ids`

```json theme={null}
{
  "queue_item_ids": ["7c1a07f6-1d55-4f79-a403-8a8420f1b62b"],
  "completed_queue_item_ids": []
}
```

## Timestamp Precision

Public timestamps are useful for sequencing, not device-level audit precision.

* `accepted_at` comes from the accepted milestone.
* `queued_at` comes from the planned milestone.
* `executing_at` is sourced from queue-item materialization.
* `finished_at` is derived from terminal row update time.

## Failure Modes

| Status code | Meaning                            |
| ----------- | ---------------------------------- |
| `401`       | Missing or invalid bearer token.   |
| `404`       | Process id not found.              |
| `500`       | Unexpected process lookup failure. |

## Read Next

* [Process Lifecycle](../concepts/process-lifecycle)
* [Cancel Process](./processes-cancel)
* [Webhooks](../guides/webhooks)
