Skip to content
AdiosDocumentation
Browse documentation

Feature planning API

Manage feature trees, nodes, and assignments. Use related IDs from your own workspace.

Use API authentication for protected requests. Examples use your own resource IDs and a temporary token; saved response examples are synthetic.

MethodPathOperation
GET/v1/feature_treeList feature trees
POST/v1/feature_treeCreate feature tree
GET/v1/feature_tree/{id}Get feature tree
PUT/v1/feature_tree/{id}Update feature tree
DELETE/v1/feature_tree/{id}Delete feature tree
GET/v1/feature_nodeList feature nodes
POST/v1/feature_nodeCreate feature node
GET/v1/feature_node/{id}Get feature node
PUT/v1/feature_node/{id}Update feature node
DELETE/v1/feature_node/{id}Delete feature node
GET/v1/feature_assignmentList feature assignments
POST/v1/feature_assignmentCreate feature assignment
GET/v1/feature_assignment/{id}Get feature assignment
PUT/v1/feature_assignment/{id}Update feature assignment
DELETE/v1/feature_assignment/{id}Delete feature assignment

List feature trees

GET /v1/feature_tree

Returns a paginated list of FeatureTree

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.
pagequerynoPage number
per_pagequerynoItems per page

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/feature_tree" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

List of FeatureTree

Response fields

FieldTypeDescription
dataarray
data[].created_atinteger(Unix timestamp)
data[].deleted_atinteger(Unix timestamp)
data[].feature_tree_idstring
data[].metadataobject
data[].statusstringAllowed: active, archived, deleted.
data[].team_idstring
data[].titlestring
data[].updated_atinteger(Unix timestamp)
data[].workload_idstring
data[].workspace_idstring
paginationobject
pagination.pageintegerCurrent page number
pagination.per_pageintegerNumber of items per page
pagination.totalintegerTotal number of items

Illustrative example; not a live response:

{
  "data": [
    {
      "created_at": 1791072000,
      "deleted_at": 0,
      "feature_tree_id": "000000000000000000000000001",
      "metadata": {},
      "status": "active",
      "team_id": "000000000000000000000000001",
      "title": "Feature tree",
      "updated_at": 1791072000,
      "workload_id": "",
      "workspace_id": "000000000000000000000000001"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 1,
    "total": 1
  }
}

Create feature tree

POST /v1/feature_tree

Creates a new FeatureTree

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
metadataobjectno
statusstringyesAllowed: active, archived, deleted. Default: "active".
team_idstringyes
titlestringyesDefault: "Feature tree".
workload_idstringnoDefault: "".
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request POST "$ADIOS_API_URL/v1/feature_tree" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "status": "active",
  "team_id": "YOUR_TEAM_ID",
  "title": "Feature tree",
  "workload_id": "",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 201

FeatureTree created

Response fields

FieldTypeDescription
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
feature_tree_idstring
metadataobject
statusstringAllowed: active, archived, deleted.
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workload_idstring
workspace_idstring

Illustrative example; not a live response:

{
  "created_at": 1791072000,
  "deleted_at": 0,
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "status": "active",
  "team_id": "000000000000000000000000001",
  "title": "Feature tree",
  "updated_at": 1791072000,
  "workload_id": "",
  "workspace_id": "000000000000000000000000001"
}

Get feature tree

GET /v1/feature_tree/{id}

Returns a single FeatureTree

Set feature_tree_id using IDs from your own API responses.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/feature_tree/${ADIOS_FEATURE_TREE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

FeatureTree

Response fields

FieldTypeDescription
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
feature_tree_idstring
metadataobject
statusstringAllowed: active, archived, deleted.
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workload_idstring
workspace_idstring

Illustrative example; not a live response:

{
  "created_at": 1791072000,
  "deleted_at": 0,
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "status": "active",
  "team_id": "000000000000000000000000001",
  "title": "Feature tree",
  "updated_at": 1791072000,
  "workload_id": "",
  "workspace_id": "000000000000000000000000001"
}

Update feature tree

PUT /v1/feature_tree/{id}

Updates an existing FeatureTree

Set feature_tree_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
metadataobjectno
statusstringyesAllowed: active, archived, deleted. Default: "active".
team_idstringyes
titlestringyesDefault: "Feature tree".
workload_idstringnoDefault: "".
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/feature_tree/${ADIOS_FEATURE_TREE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "status": "active",
  "team_id": "YOUR_TEAM_ID",
  "title": "Feature tree",
  "workload_id": "",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 200

FeatureTree updated

Response fields

FieldTypeDescription
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
feature_tree_idstring
metadataobject
statusstringAllowed: active, archived, deleted.
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workload_idstring
workspace_idstring

Illustrative example; not a live response:

{
  "created_at": 1791072000,
  "deleted_at": 0,
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "status": "active",
  "team_id": "000000000000000000000000001",
  "title": "Feature tree",
  "updated_at": 1791072000,
  "workload_id": "",
  "workspace_id": "000000000000000000000000001"
}

Delete feature tree

DELETE /v1/feature_tree/{id}

Deletes a FeatureTree

Set feature_tree_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/feature_tree/${ADIOS_FEATURE_TREE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

Resource deleted.

Response fields

FieldTypeDescription
messagestring

Illustrative example; not a live response:

{
  "message": "Deleted successfully"
}

List feature nodes

GET /v1/feature_node

Returns a paginated list of FeatureNode

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.
pagequerynoPage number
per_pagequerynoItems per page

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/feature_node" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

List of FeatureNode

Response fields

FieldTypeDescription
dataarray
data[].categorystringAllowed: auth, bill, billing, security, complex, complexity, refactor, ops, ui, other.
data[].complexitystringAllowed: low, medium, high, complex.
data[].created_atinteger(Unix timestamp)
data[].deleted_atinteger(Unix timestamp)
data[].descriptionobject
data[].feature_node_idstring
data[].feature_tree_idstring
data[].metadataobject
data[].parent_feature_node_idstring
data[].positioninteger
data[].statusstringAllowed: pending, running, blocked, complete, failed, skipped.
data[].team_idstring
data[].titlestring
data[].updated_atinteger(Unix timestamp)
data[].workspace_idstring
paginationobject
pagination.pageintegerCurrent page number
pagination.per_pageintegerNumber of items per page
pagination.totalintegerTotal number of items

Illustrative example; not a live response:

{
  "data": [
    {
      "category": "other",
      "complexity": "medium",
      "created_at": 1791072000,
      "deleted_at": 0,
      "description": "",
      "feature_node_id": "000000000000000000000000001",
      "feature_tree_id": "000000000000000000000000001",
      "metadata": {},
      "parent_feature_node_id": "",
      "position": 0,
      "status": "pending",
      "team_id": "000000000000000000000000001",
      "title": "Postman example",
      "updated_at": 1791072000,
      "workspace_id": "000000000000000000000000001"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 1,
    "total": 1
  }
}

Create feature node

POST /v1/feature_node

Creates a new FeatureNode

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
categorystringyesAllowed: auth, bill, billing, security, complex, complexity, refactor, ops, ui, other. Default: "other".
complexitystringyesAllowed: low, medium, high, complex. Default: "medium".
descriptionobjectnoDefault: "".
feature_tree_idstringyes
metadataobjectno
parent_feature_node_idstringnoDefault: "".
positionintegernoDefault: 0.
statusstringyesAllowed: pending, running, blocked, complete, failed, skipped. Default: "pending".
team_idstringyes
titlestringyes
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request POST "$ADIOS_API_URL/v1/feature_node" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "category": "other",
  "complexity": "medium",
  "description": "",
  "feature_tree_id": "YOUR_FEATURE_TREE_ID",
  "parent_feature_node_id": "",
  "position": 0,
  "status": "pending",
  "team_id": "YOUR_TEAM_ID",
  "title": "Postman example",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 201

FeatureNode created

Response fields

FieldTypeDescription
categorystringAllowed: auth, bill, billing, security, complex, complexity, refactor, ops, ui, other.
complexitystringAllowed: low, medium, high, complex.
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
descriptionobject
feature_node_idstring
feature_tree_idstring
metadataobject
parent_feature_node_idstring
positioninteger
statusstringAllowed: pending, running, blocked, complete, failed, skipped.
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workspace_idstring

Illustrative example; not a live response:

{
  "category": "other",
  "complexity": "medium",
  "created_at": 1791072000,
  "deleted_at": 0,
  "description": "",
  "feature_node_id": "000000000000000000000000001",
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "parent_feature_node_id": "",
  "position": 0,
  "status": "pending",
  "team_id": "000000000000000000000000001",
  "title": "Postman example",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001"
}

Get feature node

GET /v1/feature_node/{id}

Returns a single FeatureNode

Set feature_node_id using IDs from your own API responses.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/feature_node/${ADIOS_FEATURE_NODE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

FeatureNode

Response fields

FieldTypeDescription
categorystringAllowed: auth, bill, billing, security, complex, complexity, refactor, ops, ui, other.
complexitystringAllowed: low, medium, high, complex.
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
descriptionobject
feature_node_idstring
feature_tree_idstring
metadataobject
parent_feature_node_idstring
positioninteger
statusstringAllowed: pending, running, blocked, complete, failed, skipped.
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workspace_idstring

Illustrative example; not a live response:

{
  "category": "other",
  "complexity": "medium",
  "created_at": 1791072000,
  "deleted_at": 0,
  "description": "",
  "feature_node_id": "000000000000000000000000001",
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "parent_feature_node_id": "",
  "position": 0,
  "status": "pending",
  "team_id": "000000000000000000000000001",
  "title": "Postman example",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001"
}

Update feature node

PUT /v1/feature_node/{id}

Updates an existing FeatureNode

Set feature_node_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
categorystringyesAllowed: auth, bill, billing, security, complex, complexity, refactor, ops, ui, other. Default: "other".
complexitystringyesAllowed: low, medium, high, complex. Default: "medium".
descriptionobjectnoDefault: "".
feature_tree_idstringyes
metadataobjectno
parent_feature_node_idstringnoDefault: "".
positionintegernoDefault: 0.
statusstringyesAllowed: pending, running, blocked, complete, failed, skipped. Default: "pending".
team_idstringyes
titlestringyes
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/feature_node/${ADIOS_FEATURE_NODE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "category": "other",
  "complexity": "medium",
  "description": "",
  "feature_tree_id": "YOUR_FEATURE_TREE_ID",
  "parent_feature_node_id": "",
  "position": 0,
  "status": "pending",
  "team_id": "YOUR_TEAM_ID",
  "title": "Postman example",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 200

FeatureNode updated

Response fields

FieldTypeDescription
categorystringAllowed: auth, bill, billing, security, complex, complexity, refactor, ops, ui, other.
complexitystringAllowed: low, medium, high, complex.
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
descriptionobject
feature_node_idstring
feature_tree_idstring
metadataobject
parent_feature_node_idstring
positioninteger
statusstringAllowed: pending, running, blocked, complete, failed, skipped.
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workspace_idstring

Illustrative example; not a live response:

{
  "category": "other",
  "complexity": "medium",
  "created_at": 1791072000,
  "deleted_at": 0,
  "description": "",
  "feature_node_id": "000000000000000000000000001",
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "parent_feature_node_id": "",
  "position": 0,
  "status": "pending",
  "team_id": "000000000000000000000000001",
  "title": "Postman example",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001"
}

Delete feature node

DELETE /v1/feature_node/{id}

Deletes a FeatureNode

Set feature_node_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/feature_node/${ADIOS_FEATURE_NODE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

Resource deleted.

Response fields

FieldTypeDescription
messagestring

Illustrative example; not a live response:

{
  "message": "Deleted successfully"
}

List feature assignments

GET /v1/feature_assignment

Returns a paginated list of FeatureAssignment

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.
pagequerynoPage number
per_pagequerynoItems per page

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/feature_assignment" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

List of FeatureAssignment

Response fields

FieldTypeDescription
dataarray
data[].agent_plan_idstring
data[].agent_session_idstring
data[].branchstring
data[].created_atinteger(Unix timestamp)
data[].deleted_atinteger(Unix timestamp)
data[].feature_assignment_idstring
data[].feature_tree_idstring
data[].metadataobject
data[].selected_node_idsobject
data[].statusstringAllowed: queued, running, blocked, complete, failed, cancelled.
data[].target_typestringAllowed: new_workspace, existing_workspace, git_branch.
data[].target_workspace_idstring
data[].team_idstring
data[].titlestring
data[].updated_atinteger(Unix timestamp)
data[].workspace_idstring
paginationobject
pagination.pageintegerCurrent page number
pagination.per_pageintegerNumber of items per page
pagination.totalintegerTotal number of items

Illustrative example; not a live response:

{
  "data": [
    {
      "agent_plan_id": "",
      "agent_session_id": "",
      "branch": "",
      "created_at": 1791072000,
      "deleted_at": 0,
      "feature_assignment_id": "000000000000000000000000001",
      "feature_tree_id": "000000000000000000000000001",
      "metadata": {},
      "selected_node_ids": {},
      "status": "queued",
      "target_type": "new_workspace",
      "target_workspace_id": "",
      "team_id": "000000000000000000000000001",
      "title": "Feature assignment",
      "updated_at": 1791072000,
      "workspace_id": "000000000000000000000000001"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 1,
    "total": 1
  }
}

Create feature assignment

POST /v1/feature_assignment

Creates a new FeatureAssignment

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
agent_plan_idstringnoDefault: "".
agent_session_idstringnoDefault: "".
branchstringnoDefault: "".
feature_tree_idstringyes
metadataobjectno
selected_node_idsobjectno
statusstringyesAllowed: queued, running, blocked, complete, failed, cancelled. Default: "queued".
target_typestringyesAllowed: new_workspace, existing_workspace, git_branch. Default: "new_workspace".
target_workspace_idstringnoDefault: "".
team_idstringyes
titlestringyesDefault: "Feature assignment".
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request POST "$ADIOS_API_URL/v1/feature_assignment" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "agent_plan_id": "",
  "agent_session_id": "",
  "branch": "",
  "feature_tree_id": "YOUR_FEATURE_TREE_ID",
  "status": "queued",
  "target_type": "new_workspace",
  "target_workspace_id": "",
  "team_id": "YOUR_TEAM_ID",
  "title": "Feature assignment",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 201

FeatureAssignment created

Response fields

FieldTypeDescription
agent_plan_idstring
agent_session_idstring
branchstring
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
feature_assignment_idstring
feature_tree_idstring
metadataobject
selected_node_idsobject
statusstringAllowed: queued, running, blocked, complete, failed, cancelled.
target_typestringAllowed: new_workspace, existing_workspace, git_branch.
target_workspace_idstring
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workspace_idstring

Illustrative example; not a live response:

{
  "agent_plan_id": "",
  "agent_session_id": "",
  "branch": "",
  "created_at": 1791072000,
  "deleted_at": 0,
  "feature_assignment_id": "000000000000000000000000001",
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "selected_node_ids": {},
  "status": "queued",
  "target_type": "new_workspace",
  "target_workspace_id": "",
  "team_id": "000000000000000000000000001",
  "title": "Feature assignment",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001"
}

Get feature assignment

GET /v1/feature_assignment/{id}

Returns a single FeatureAssignment

Set feature_assignment_id using IDs from your own API responses.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/feature_assignment/${ADIOS_FEATURE_ASSIGNMENT_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

FeatureAssignment

Response fields

FieldTypeDescription
agent_plan_idstring
agent_session_idstring
branchstring
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
feature_assignment_idstring
feature_tree_idstring
metadataobject
selected_node_idsobject
statusstringAllowed: queued, running, blocked, complete, failed, cancelled.
target_typestringAllowed: new_workspace, existing_workspace, git_branch.
target_workspace_idstring
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workspace_idstring

Illustrative example; not a live response:

{
  "agent_plan_id": "",
  "agent_session_id": "",
  "branch": "",
  "created_at": 1791072000,
  "deleted_at": 0,
  "feature_assignment_id": "000000000000000000000000001",
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "selected_node_ids": {},
  "status": "queued",
  "target_type": "new_workspace",
  "target_workspace_id": "",
  "team_id": "000000000000000000000000001",
  "title": "Feature assignment",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001"
}

Update feature assignment

PUT /v1/feature_assignment/{id}

Updates an existing FeatureAssignment

Set feature_assignment_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
agent_plan_idstringnoDefault: "".
agent_session_idstringnoDefault: "".
branchstringnoDefault: "".
feature_tree_idstringyes
metadataobjectno
selected_node_idsobjectno
statusstringyesAllowed: queued, running, blocked, complete, failed, cancelled. Default: "queued".
target_typestringyesAllowed: new_workspace, existing_workspace, git_branch. Default: "new_workspace".
target_workspace_idstringnoDefault: "".
team_idstringyes
titlestringyesDefault: "Feature assignment".
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/feature_assignment/${ADIOS_FEATURE_ASSIGNMENT_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "agent_plan_id": "",
  "agent_session_id": "",
  "branch": "",
  "feature_tree_id": "YOUR_FEATURE_TREE_ID",
  "status": "queued",
  "target_type": "new_workspace",
  "target_workspace_id": "",
  "team_id": "YOUR_TEAM_ID",
  "title": "Feature assignment",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 200

FeatureAssignment updated

Response fields

FieldTypeDescription
agent_plan_idstring
agent_session_idstring
branchstring
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
feature_assignment_idstring
feature_tree_idstring
metadataobject
selected_node_idsobject
statusstringAllowed: queued, running, blocked, complete, failed, cancelled.
target_typestringAllowed: new_workspace, existing_workspace, git_branch.
target_workspace_idstring
team_idstring
titlestring
updated_atinteger(Unix timestamp)
workspace_idstring

Illustrative example; not a live response:

{
  "agent_plan_id": "",
  "agent_session_id": "",
  "branch": "",
  "created_at": 1791072000,
  "deleted_at": 0,
  "feature_assignment_id": "000000000000000000000000001",
  "feature_tree_id": "000000000000000000000000001",
  "metadata": {},
  "selected_node_ids": {},
  "status": "queued",
  "target_type": "new_workspace",
  "target_workspace_id": "",
  "team_id": "000000000000000000000000001",
  "title": "Feature assignment",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001"
}

Delete feature assignment

DELETE /v1/feature_assignment/{id}

Deletes a FeatureAssignment

Set feature_assignment_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/feature_assignment/${ADIOS_FEATURE_ASSIGNMENT_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Response: HTTP 200

Resource deleted.

Response fields

FieldTypeDescription
messagestring

Illustrative example; not a live response:

{
  "message": "Deleted successfully"
}