Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions specification/DigitalOcean-public.v2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2151,14 +2151,14 @@ paths:
put:
$ref: "resources/signals/signals_update_team_consent.yml"

/v1/consent/{agent_id}:
/v1/consent/{environment_id}:
get:
$ref: "resources/signals/signals_get_consent.yml"

put:
$ref: "resources/signals/signals_update_consent.yml"

/v1/signals/agents/{agent_id}/sessions:
/v1/signals/agents/{environment_id}/sessions:
get:
$ref: "resources/signals/signals_list_sessions.yml"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ source: |-
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
-d '{"type":"agent","team_id":12345678,"agent_id":"01a10d3f-2c09-764f-99f8-458e521627f3"}' \
-d '{"type":"agent","team_id":12345678,"environment_id":"01a10d3f-2c09-764f-99f8-458e521627f3"}' \
"https://api.digitalocean.com/v1/signals/deletions"
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ source: |-
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
-d '{"agent_id":"01a0f3d5-b58d-7c99-a743-7ca0397b7f5d","signal_type":["ExecutionFailureToolNotFound"]}' \
-d '{"environment_id":"01a0f3d5-b58d-7c99-a743-7ca0397b7f5d","signal_type":["ExecutionFailureToolNotFound"]}' \
"https://api.digitalocean.com/v1/signals/exports"

# Export the team's Serverless Inference Signals (no agent_id)
# Export the team's Serverless Inference Signals (no environment_id)
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
Expand Down
6 changes: 6 additions & 0 deletions specification/resources/signals/models/agent_consent.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ properties:
format: uuid
description: The unique identifier of the environment. For Harness Runtime, this is the Environment Config ID.
example: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
environment_id:
type: string
format: uuid
description: Same as agent_id. Dual-emitted during the rename.
example: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
enabled:
type: boolean
description: Whether signals collection is enabled for this environment.
Expand All @@ -35,4 +40,5 @@ required:
- team_id
- source
- agent_id
- environment_id
- enabled
6 changes: 6 additions & 0 deletions specification/resources/signals/models/consent_record.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ properties:
Environment Config ID. Empty for team-level records (`source:
inference`), which are not tied to an environment.
example: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
environment_id:
type: string
description: >-
Same as agent_id when present. Dual-emitted during the rename; omitted
when agent_id is empty.
example: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
enabled:
type: boolean
description: Whether signals collection is enabled for this source.
Expand Down
24 changes: 17 additions & 7 deletions specification/resources/signals/models/create_deletion_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ properties:
type: string
description: >-
The scope of the deletion. `agent` deletes Signals conversations for one
Harness Runtime environment and requires `agent_id`. `inference` deletes
Serverless Inference Signals conversations for the whole team
(team-wide; omit `agent_id`).
Harness Runtime environment and requires `environment_id` (or deprecated
`agent_id`). `inference` deletes Serverless Inference Signals conversations
for the whole team (team-wide; omit `environment_id` and `agent_id`).
enum:
- agent
- inference
Expand All @@ -17,14 +17,24 @@ properties:
format: int64
description: The team whose data should be deleted. Must match the authenticated team.
example: 12345678
agent_id:
environment_id:
type: string
format: uuid
description: >-
The Harness Runtime Environment Config ID of the environment whose
conversations should be deleted. This is the environment's `agent_id`.
Required when `type` is `agent`; must be omitted when `type` is
`inference`.
conversations should be deleted. Required when `type` is `agent` if
`agent_id` is omitted; must be omitted when `type` is `inference`.
Prefer this over `agent_id`.
example: 01a10d3f-2c09-764f-99f8-458e521627f3
agent_id:
type: string
format: uuid
deprecated: true
description: >-
Deprecated alias for `environment_id`. Accepted for backward
compatibility; must equal `environment_id` when both are set. Both set
and different returns 400. Required when `type` is `agent` if
`environment_id` is omitted; must be omitted when `type` is `inference`.
example: 01a10d3f-2c09-764f-99f8-458e521627f3
required:
- type
Expand Down
26 changes: 19 additions & 7 deletions specification/resources/signals/models/create_export_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,33 @@ properties:
type: string
description: >-
The scope of the export. `agent` exports Signals conversations for one
Harness Runtime environment and requires `agent_id`. `inference` exports
Serverless Inference Signals conversations for the whole team (team-wide;
omit `agent_id`). Defaults to `agent` when `agent_id` is provided and to
`inference` when it is omitted.
Harness Runtime environment and requires `environment_id` (or deprecated
`agent_id`). `inference` exports Serverless Inference Signals conversations
for the whole team (team-wide; omit `environment_id` and `agent_id`).
Defaults to `agent` when `environment_id` or `agent_id` is provided and to
`inference` when both are omitted.
enum:
- agent
- inference
example: agent
agent_id:
environment_id:
type: string
format: uuid
description: >-
The environment whose data should be exported. For Harness Runtime, this
is the Environment Config ID. Required when `type` is `agent`; must be
omitted when `type` is `inference`.
is the Environment Config ID. Required when `type` is `agent` if
`agent_id` is omitted; must be omitted when `type` is `inference`.
Prefer this over `agent_id`.
example: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
agent_id:
type: string
format: uuid
deprecated: true
description: >-
Deprecated alias for `environment_id`. Accepted for backward
compatibility; must equal `environment_id` when both are set. Both set
and different returns 400. Required when `type` is `agent` if
`environment_id` is omitted; must be omitted when `type` is `inference`.
example: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
signal_type:
type: array
Expand Down
7 changes: 7 additions & 0 deletions specification/resources/signals/models/deletion_job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ properties:
The Harness Runtime Environment Config ID (agent UUID) whose
conversations are being deleted. Only present for `agent` deletions.
example: 01a10d3f-2c09-764f-99f8-458e521627f3
environment_id:
type: string
format: uuid
description: >-
Same as agent_id when present. Dual-emitted during the rename; omitted
when agent_id is omitted.
example: 01a10d3f-2c09-764f-99f8-458e521627f3
status:
type: string
description: The current status of the deletion job.
Expand Down
7 changes: 6 additions & 1 deletion specification/resources/signals/models/export_job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ properties:
is the Environment Config ID. Not meaningful for `inference` exports; use
`type` to distinguish the export scope.
example: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
environment_id:
type: string
format: uuid
description: Same as agent_id. Dual-emitted during the rename.
example: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
status:
type: string
description: The current status of the export job.
Expand Down Expand Up @@ -71,6 +76,6 @@ properties:
example: null
required:
- export_id
- agent_id
- status
- created_at
- filters
34 changes: 30 additions & 4 deletions specification/resources/signals/parameters.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,39 @@
agent_id:
environment_id:
in: path
name: agent_id
description: A unique identifier for an environment. For Harness Runtime, this is the Environment Config ID.
name: environment_id
description: >-
A unique identifier for an environment. For Harness Runtime, this is the
Environment Config ID. Formerly named agent_id.
required: true
schema:
type: string
format: uuid
example: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99

environment_id_query:
in: query
name: environment_id
description: Optional filter by environment ID.
required: false
schema:
type: string
format: uuid
example: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99

agent_id:
in: query
name: agent_id
deprecated: true
description: >-
Deprecated alias for environment_id. Accepted for backward compatibility;
must equal environment_id when both are set. Both set and different
returns 400.
required: false
schema:
type: string
format: uuid
example: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99

session_id:
in: path
name: session_id
Expand Down Expand Up @@ -51,7 +77,7 @@ source_required:
The consent source to update. Only team-level sources are accepted on
this endpoint; currently `inference` (Serverless Inference chat
completions). Per-environment consent (`agent`) is managed with
`PUT /v1/consent/{agent_id}` instead.
`PUT /v1/consent/{environment_id}` instead.
required: true
schema:
type: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ content:
team_id: 39449946
source: agent
agent_id: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
environment_id: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
enabled: true
updated_at: "2026-08-10T10:09:25.738533Z"
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ content:
deletion_id: 01J9ZX0N5Q7M2K3R4S5T6V7W8X
type: agent
agent_id: 01a10d3f-2c09-764f-99f8-458e521627f3
environment_id: 01a10d3f-2c09-764f-99f8-458e521627f3
status: queued
error_message: null
created_at: 1791036405
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ content:
deletion_id: 01J9ZX0N5Q7M2K3R4S5T6V7W8X
type: agent
agent_id: 01a10d3f-2c09-764f-99f8-458e521627f3
environment_id: 01a10d3f-2c09-764f-99f8-458e521627f3
status: running
error_message: null
created_at: 1791036405
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ content:
export_id: 9f13c09c-c877-436b-9863-dcc39c9dd737
type: agent
agent_id: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
environment_id: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
status: complete
filters:
signal_type:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,14 @@ content:
team_id: 39449946
source: agent
agent_id: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
environment_id: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
enabled: true
updated_at: "2026-08-10T10:09:25.738533Z"
- id: 6
team_id: 39449946
source: agent
agent_id: 019fb6b1-aad4-7d54-a74e-c5570d768148
environment_id: 019fb6b1-aad4-7d54-a74e-c5570d768148
enabled: true
updated_at: "2026-08-07T10:10:16.385447Z"
- id: 21
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ content:
deletion_id: 01J9ZX0N5Q7M2K3R4S5T6V7W8X
type: agent
agent_id: 01a10d3f-2c09-764f-99f8-458e521627f3
environment_id: 01a10d3f-2c09-764f-99f8-458e521627f3
status: running
error_message: null
created_at: 1791036405
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ content:
export_id: 9f13c09c-c877-436b-9863-dcc39c9dd737
type: agent
agent_id: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
environment_id: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
status: complete
filters:
signal_type:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ content:
team_id: 39449946
source: agent
agent_id: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
environment_id: 019fb3d2-8a56-72cc-8bf9-9d21510b2a99
enabled: true
updated_at: "2026-10-07T11:06:32.280572Z"
13 changes: 7 additions & 6 deletions specification/resources/signals/signals_create_deletion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@ description: |
Two deletion types are supported:

- `agent` — deletes Signals conversations for one Harness Runtime environment and
turns off collection for that environment. Requires `agent_id`, which is the
environment's Environment Config ID (the environment's `agent_id`). On create, matching
conversations are hidden from Signals reads immediately. Wait until the
turns off collection for that environment. Requires `environment_id` (the
environment's Environment Config ID). Deprecated `agent_id` is still accepted;
both set and equal is accepted, both set and different returns 400. On create,
matching conversations are hidden from Signals reads immediately. Wait until the
job is `complete` before enabling Signals for the environment again.
- `inference` — deletes Serverless Inference Signals conversations for your
whole team (team-wide; not limited to one endpoint or model) that were
collected at or before the deletion request, and turns off team inference
collection (`source=inference`). Do not send `agent_id`. On create,
matching conversations are hidden from Signals reads immediately.
collection (`source=inference`). Do not send `environment_id` or `agent_id`.
On create, matching conversations are hidden from Signals reads immediately.

The job runs asynchronously; poll the get endpoint until `status` is
`complete` or `failed`. DigitalOcean may retry transient processing errors
Expand Down Expand Up @@ -50,7 +51,7 @@ requestBody:
value:
type: agent
team_id: 12345678
agent_id: 01a10d3f-2c09-764f-99f8-458e521627f3
environment_id: 01a10d3f-2c09-764f-99f8-458e521627f3
Inference:
value:
type: inference
Expand Down
9 changes: 5 additions & 4 deletions specification/resources/signals/signals_create_export.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ summary: Create an Export Job
description: |
To create a new signals data export, send a POST request to
`/v1/signals/exports`. To export one Harness Runtime environment, include its
`agent_id` (`type` defaults to `agent`). To export the team's Serverless
Inference Signals conversations, set `type` to `inference` and omit
`agent_id`. You may optionally filter the export by `signal_type`,
`environment_id` (`type` defaults to `agent`). Deprecated `agent_id` is still
accepted. To export the team's Serverless Inference Signals conversations, set
`type` to `inference` and omit `environment_id` and `agent_id`. You may
optionally filter the export by `signal_type`,
`session_ids`, `start_time`, and `end_time`. Use the export options endpoint
to discover available signal types.

Expand All @@ -28,7 +29,7 @@ requestBody:
agent:
summary: Export one Harness Runtime environment
value:
agent_id: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
environment_id: 01a0f3d5-b58d-7c99-a743-7ca0397b7f5d
signal_type:
- ExecutionFailureToolNotFound
inference:
Expand Down
4 changes: 2 additions & 2 deletions specification/resources/signals/signals_get_consent.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ summary: Retrieve Consent for an Environment

description: |
To retrieve the consent record for a specific environment, send a GET
request to `/v1/consent/{agent_id}`. The response includes an `enabled`
request to `/v1/consent/{environment_id}`. The response includes an `enabled`
field indicating whether signals collection is on for this environment.

This endpoint only serves per-environment (`source: agent`) records. Team-level
Expand All @@ -14,7 +14,7 @@ tags:
- Signals

parameters:
- $ref: 'parameters.yml#/agent_id'
- $ref: 'parameters.yml#/environment_id'

responses:
'200':
Expand Down
2 changes: 2 additions & 0 deletions specification/resources/signals/signals_list_exports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ tags:
- Signals

parameters:
- $ref: 'parameters.yml#/environment_id_query'
- $ref: 'parameters.yml#/agent_id'
- $ref: 'parameters.yml#/limit'
- $ref: 'parameters.yml#/after'

Expand Down
Loading
Loading