---
title: "Get one collector with its assignment, delivery evidence and history"
method: GET
path: "/api/{org_id}/fleet/collectors/{id}"
tags: ["Fleet"]
---

# Get one collector with its assignment, delivery evidence and history

`GET /api/{org_id}/fleet/collectors/{id}`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/fleet/collectors/{id}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/fleet/collectors/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `org_id` string, required
- `id` string, required

## Response `200`

Success

- CollectorDetail
  - `arch` string, nullable
  - `config` string, nullable
  - `config_version` integer, nullable
  - `delivery` 'assigned' | 'sent' | 'accepted' | 'running' | 'rejected': Derived when read from the assignment and the collector's reports.
  - `delivery_error` string, nullable
  - `distribution` string, nullable
  - `enrolled_at` integer, required: Epoch milliseconds.
  - `fleet` CollectorFleet, required: A fleet named by its public id; `name` is null once the fleet was deleted.
    - `id` string, required
    - `name` string, nullable
  - `hostname` string, nullable
  - `id` string, required
  - `last_connected_from` string, nullable: The connection's client address, as `ZO_HTTP_REAL_IP_SOURCE` resolves it.
  - `last_seen` integer, required: Epoch milliseconds.
  - `name` string, required: The nickname, or the host name when none was set.
  - `os` string, nullable
  - `outdated` boolean, required
  - `status` 'unknown' | 'online' | 'degraded' | 'offline', required: Derived when read from `last_seen` and the reported health, never stored.
  - `token_id` string, nullable
  - `version` string, nullable
  - `assignment` CollectorAssignment: What the collector should run; `revision` increases on every rewrite, including redeliver.
    - `config` string, required
    - `fleet` string, required: Fleet id the assignment was written for.
    - `revision` integer, required
    - `version` integer, required
  - `capabilities` string[], required
  - `effective_config` string, nullable: Normalized and redacted.
  - `effective_reported_at` integer, nullable: Epoch milliseconds.
  - `evidence` DeliveryEvidence, required: The facts the delivery state is derived from.
    - `last_heartbeat_at` integer, nullable: Epoch milliseconds.
    - `marker` FleetVersion: A configuration version a fleet runs or should run.
      - `config` string, required
      - `version` integer, required
    - `remote_at` integer, nullable: Epoch milliseconds.
    - `remote_hash` string, nullable: Hex of the last `RemoteConfigStatus` hash.
    - `remote_status` string, nullable: The last `RemoteConfigStatus` status, e.g. `APPLIED` or `FAILED`.
  - `health` CollectorHealth: Stored as the `health` column and returned as is.
    - `components` ComponentHealth[], required
      - `healthy` boolean, required
      - `id` string, required
      - `last_error` string, required
      - `status` string, required
    - `healthy` boolean, required
    - `last_error` string, required
    - `status` string, required
  - `history` CollectorEvent[], required: Newest first.
    - `at` integer, required: Epoch milliseconds.
    - `detail` string, nullable
    - `event` string, required

## Other responses

- `403`: Forbidden
- `404`: Not found

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
