Download OpenAPI specification:
OpsChain is an orchestration and change automation platform based in GitOps principles with a core objective to Unify Change. Connect, automate, and orchestrate people, processes, and tools across your on-premise and cloud platforms.
version: 2026-09-14 (314c670d6)
Endpoints to interact with projects.
Notes:
show and list response payloads include links to the project's assets, changes, scheduled activity, bookmarks and MintModels endpoints. These endpoints act like
the assets, changes, scheduled activity, bookmarks and MintModels endpoints respectively./<path/to/asset/owner>/assets path. The example endpoints in this section reflect assets owned by a project.Lists all projects (including archived projects).
Each project in the response includes a link to:
changes endpoint for managing changes belonging to this project. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this project. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this project. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this project. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this project's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this project's workflows. It acts like a Workflows endpoint.
.| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[code_eq]=opc API filtering guide. Named filters: |
| download | string Example: download=projects.csv Download the projects in CSV format with the specified file name. The projects will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-7fee-7b8c-b469-65cbe5b278ab",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "carley_dietrich-1949",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-7ff1-7a3c-8087-6a534e23aa09",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-7ff1-7a3c-8087-6a534e23aa09"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f76-7ffb-7fb2-a39d-b355ec2457f8",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-7ffb-7fb2-a39d-b355ec2457f8"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Creates a project.
required | object |
{- "data": {
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "project_type": "Enterprise"
}
}
}{- "data": {
- "id": "01a09f76-80b5-7852-a71f-99a683cb4e56",
- "type": "project",
- "attributes": {
- "code": "ks1qn",
- "name": "velit602",
- "description": "Distinctio beatae blanditiis voluptatem.",
- "archived": false,
- "created_by": "logged_in_user",
- "project_type": "Standard"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-80ba-72ae-8f60-5dfe3b31e4f0",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-80ba-72ae-8f60-5dfe3b31e4f0"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f76-80c6-7278-a688-9c6444648e43",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-80c6-7278-a688-9c6444648e43"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/ks1qn",
- "bookmarks": "/api/projects/ks1qn/bookmarks",
- "git_remotes": "/api/projects/ks1qn/git_remotes",
- "environments": "/api/projects/ks1qn/environments"
}, - "meta": {
- "can_have_changes": false,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "environment"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": false,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Shows a project, including any direct children.
The response includes a link to:
changes endpoint for managing changes belonging to this project. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this project. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this project. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this project. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this project's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this project's workflows. It acts like a Workflows endpoint.
.| project_code required | string Example: opc project code |
{- "data": {
- "id": "01a09f76-8236-7da6-8ea9-0925425e2d9e",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "kelle_heller-1959",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-8239-7c65-8ce0-18376f6cd87d",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-8239-7c65-8ce0-18376f6cd87d"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f76-8243-7e18-a45c-2e7c5e2f0155",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-8243-7e18-a45c-2e7c5e2f0155"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - "included": [ ]
}Updates a project.
| project_code required | string Example: opc project code |
required | object |
{- "data": {
- "attributes": {
- "name": "Modified",
- "description": "The updated project",
- "archived": false
}
}
}{- "data": {
- "id": "01a09f76-835b-7404-a198-7af0cc89e5f8",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "omnis611",
- "description": "Animi fugit accusantium laudantium.",
- "archived": true,
- "created_by": "candyce_glover-1965",
- "project_type": "Standard"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-835d-7c6b-b831-e1885896ba62",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-835d-7c6b-b831-e1885896ba62"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f76-8368-726f-bb81-391fb7cd0738",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-8368-726f-bb81-391fb7cd0738"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "git_remotes": "/api/projects/opc/git_remotes",
- "environments": "/api/projects/opc/environments"
}, - "meta": {
- "can_have_changes": false,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "environment"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": false,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Archives a project.
| project_code required | string Example: opc project code |
| ignore_in_use | boolean When true and the requesting user is a superuser, bypasses in use checks and force-destroys the project. |
Endpoints to interact with environments.
Notes:
show and list response payloads include links to the environment's assets, changes, scheduled activity, bookmarks and MintModels endpoints. These endpoints act like
the assets, changes, scheduled activity, bookmarks and MintModels endpoints respectively./<path/to/asset/owner>/assets path. The example endpoints in this section reflect assets owned by a project.Lists all project environments (including archived environments).
Each environment in the response includes a link to:
changes endpoint for managing changes belonging to this environment. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this environment. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this environment. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this environment. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this environment's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this environment's workflows. It acts like a Workflows endpoint.
.| project_code required | string Example: opc project code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[name_eq]=Test API filtering guide. Named filters: |
| download | string Example: download=environments.csv Download the project environments in CSV format with the specified file name. The environments will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-4cbf-7b3e-b335-4da8e2105c8d",
- "type": "environment",
- "attributes": {
- "code": "dev",
- "name": "Development",
- "description": "OpsChain development environment",
- "archived": false,
- "created_by": "lezlie.haag-1650"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-4cc3-7d20-9465-73c023f6bb51",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-4cc3-7d20-9465-73c023f6bb51"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-4c9e-7dfa-9cc1-72f10f482045",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-4ccd-7122-873b-fd7e140e278b",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-4ccd-7122-873b-fd7e140e278b"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-4c9e-7dfa-9cc1-72f10f482045",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-4c9e-7dfa-9cc1-72f10f482045",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev",
- "bookmarks": "/api/projects/opc/environments/dev/bookmarks",
- "changes": "/api/projects/opc/environments/dev/changes",
- "scheduled_activities": "/api/projects/opc/environments/dev/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/dev/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Creates an environment.
| project_code required | string Example: opc project code |
required | object |
{- "data": {
- "attributes": {
- "code": "dev",
- "name": "Development",
- "description": "OpsChain development environment"
}
}
}{- "data": {
- "id": "01a09f76-4dce-74a0-bc06-68fd6b77d4b7",
- "type": "environment",
- "attributes": {
- "code": "x9ibn",
- "name": "itaque528",
- "description": "Necessitatibus qui id maiores.",
- "archived": false,
- "created_by": "logged_in_user"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-4ddd-760e-a833-4df9900872ce",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-4ddd-760e-a833-4df9900872ce"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-4d4b-7bff-aeea-432c224c0ef6",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-4e07-70cb-826f-ae77c9757a3b",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-4e07-70cb-826f-ae77c9757a3b"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-4d4b-7bff-aeea-432c224c0ef6",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-4d4b-7bff-aeea-432c224c0ef6",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/x9ibn",
- "bookmarks": "/api/projects/opc/environments/x9ibn/bookmarks",
- "changes": "/api/projects/opc/environments/x9ibn/changes",
- "scheduled_activities": "/api/projects/opc/environments/x9ibn/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/x9ibn/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Shows an environment.
The response includes a link to:
changes endpoint for managing changes belonging to this environment. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this environment. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this environment. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this environment. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this environment's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this environment's workflows. It acts like a Workflows endpoint.
.| project_code required | string Example: opc project code |
| environment_code required | string Example: dev environment code |
{- "data": {
- "id": "01a09f76-50f7-7a83-994c-9d613335badc",
- "type": "environment",
- "attributes": {
- "code": "dev",
- "name": "Development",
- "description": "OpsChain development environment",
- "archived": false,
- "created_by": "carson_cruickshank-1664"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-50fe-7279-b879-db708d8d3c2e",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-50fe-7279-b879-db708d8d3c2e"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-50bc-7a1c-a37e-09b022515ca9",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-510d-7ee9-a2d9-3298b66f9ead",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-510d-7ee9-a2d9-3298b66f9ead"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-50bc-7a1c-a37e-09b022515ca9",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-50bc-7a1c-a37e-09b022515ca9",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev",
- "bookmarks": "/api/projects/opc/environments/dev/bookmarks",
- "changes": "/api/projects/opc/environments/dev/changes",
- "scheduled_activities": "/api/projects/opc/environments/dev/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/dev/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - "included": [
- {
- "id": "01a09f76-50bc-7a1c-a37e-09b022515ca9",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "tommy.wyman-1663",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-50c0-7f60-a9ea-e11b7ac8d057",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-50c0-7f60-a9ea-e11b7ac8d057"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f76-50d0-7669-8289-9757bc4d0d07",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-50d0-7669-8289-9757bc4d0d07"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f76-50f7-7a83-994c-9d613335badc",
- "type": "environment"
}
]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
]
}Updates an environment.
| project_code required | string Example: opc project code |
| environment_code required | string Example: dev environment code |
required | object |
{- "data": {
- "attributes": {
- "name": "Modified",
- "description": "The updated environment",
- "archived": false
}
}
}{- "data": {
- "id": "01a09f76-52cf-7276-bebb-510f29316fe2",
- "type": "environment",
- "attributes": {
- "code": "dev",
- "name": "in538",
- "description": "Culpa quos quia labore.",
- "archived": true,
- "created_by": "tommy.satterfield-1672"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-52d2-7df1-940d-2767d0b4f750",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-52d2-7df1-940d-2767d0b4f750"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-52b0-7d6e-97b2-9e9c15c8a887",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-52db-7fd8-8f19-758747d9b7f1",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-52db-7fd8-8f19-758747d9b7f1"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-52b0-7d6e-97b2-9e9c15c8a887",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-52b0-7d6e-97b2-9e9c15c8a887",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev",
- "bookmarks": "/api/projects/opc/environments/dev/bookmarks",
- "changes": "/api/projects/opc/environments/dev/changes",
- "scheduled_activities": "/api/projects/opc/environments/dev/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/dev/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Archives an environment.
| project_code required | string Example: opc project code |
| environment_code required | string Example: dev environment code |
| ignore_in_use | boolean When true and the requesting user is a superuser, bypasses in use checks and force-destroys the environment. |
Show the converged settings for this environment, merged from all settings sources in the hierarchy (global, project, and environment settings).
The response includes a setting_sources meta object that attributes each setting value to its originating source.
| project_code required | string Example: opc project code |
| environment_code required | string Example: dev environment code |
{- "data": {
- "id": "dev",
- "type": "converged_settings",
- "attributes": {
- "data": {
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev/converged_settings"
}, - "meta": {
- "setting_sources": {
- "by_setting": {
- "requires_approval_from": "Project: OpsChain (opc)"
}
}
}
}
}Show the converged properties for this environment, merged from all database properties sources in the hierarchy (project and environment properties).
The API response will also include the individual database properties that were included in the result.
| project_code required | string Example: opc project code |
| environment_code required | string Example: dev environment code |
| converge_date | string Example: converge_date=2026-09-14T10:27:34+00:00 Specify the date (and optionally time), to derive the active environment properties from. |
{- "data": {
- "id": "dev",
- "type": "converged_properties",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}
}, - "relationships": {
- "repository_properties": {
- "data": [ ]
}, - "properties": {
- "data": [
- {
- "id": "01a09f76-56ab-7e27-bf89-fe92f84dcbea",
- "type": "properties_version"
}, - {
- "id": "01a09f76-56cb-7f43-8c39-038c8e093193",
- "type": "properties_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev/converged_properties"
}, - "meta": {
- "property_sources": {
- "by_property": {
- "any_key": "Project: OpsChain (opc)",
- "another_key": "Project: OpsChain (opc)",
- "nested": {
- "key": "Project: OpsChain (opc)"
}
}
}
}
}, - "included": [
- {
- "id": "01a09f76-56ab-7e27-bf89-fe92f84dcbea",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:28:47.915460Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-56a7-7a09-98fc-d31f32525478",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-56a7-7a09-98fc-d31f32525478"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-56a7-7a09-98fc-d31f32525478/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f76-56a7-7a09-98fc-d31f32525478/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-56cb-7f43-8c39-038c8e093193",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:47.947525Z",
- "owner_type": "Environment"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-56c5-7f19-b641-6777dd674d9b",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-56c5-7f19-b641-6777dd674d9b"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-56c5-7f19-b641-6777dd674d9b/versions",
- "owner": "/api/projects/opc/environments/dev",
- "self": "/api/properties/01a09f76-56c5-7f19-b641-6777dd674d9b/versions/1"
}, - "meta": { }
}
]
}Endpoints to interact with agents.
Notes:
show and list response payloads include links to the agent's assets, changes, scheduled activity, bookmarks and MintModels endpoints. These endpoints act like
the assets, changes, scheduled activity, bookmarks and MintModels endpoints respectively./<path/to/asset/owner>/assets path. The example endpoints in this section reflect assets owned by a project.Builds the container image for an agent. Note, this does not restart the agent.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
{- "data": {
- "id": "01a09f75-60a3-7351-869d-f253cc0d3563",
- "type": "node_background_task",
- "attributes": {
- "request_number": 2,
- "status_code": "initializing",
- "error_message": null,
- "created_by": "logged_in_user",
- "task_type": "BuildAgentImageTask",
- "created_at": "2026-09-14T10:27:44.930477Z",
- "updated_at": "2026-09-14T10:27:44.930477Z",
- "image_sha": null,
- "image_purged": false,
- "image_in_use": false
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f75-6088-7590-a195-9bb59057e6df",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f75-6064-7ff1-885f-c1b43b16d85c",
- "type": "agent"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f75-6008-76c3-b31f-fb04d9ac1db3/versions/2026_Q1_2",
- "self": "/api/projects/opc/agents/agent1/node_background_tasks/01a09f75-60a3-7351-869d-f253cc0d3563",
- "agent": "/api/projects/opc/agents/agent1",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f75-60a3-7351-869d-f253cc0d3563"
}
}
}Lists the image build, start and stop tasks run for the agent's current template version.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[request_number_eq]=1 API filtering guide. Named filters: |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of tasks returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f75-61e2-73b3-8b8e-82afd99fb819",
- "type": "node_background_task",
- "attributes": {
- "request_number": 1,
- "status_code": "success",
- "error_message": null,
- "created_by": "lucia-357",
- "task_type": "BuildAgentImageTask",
- "created_at": "2026-09-14T10:27:45.249755Z",
- "updated_at": "2026-09-14T10:27:45.257795Z",
- "image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "image_purged": false,
- "image_in_use": true
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f75-61e7-7831-b5e1-973fcc906f2c",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f75-61ce-7f6e-90d6-a503f663a65c",
- "type": "agent"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f75-6181-7489-88aa-559ee99a1351/versions/2026_Q1_2",
- "self": "/api/projects/opc/agents/agent1/node_background_tasks/01a09f75-61e2-73b3-8b8e-82afd99fb819",
- "agent": "/api/projects/opc/agents/agent1",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f75-61e2-73b3-8b8e-82afd99fb819"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}, - "partial_response": false
}
}Show a specific agent image build, start or stop task.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
| node_background_task_id required | string Example: 01a09f75-25b1-7fc9-b785-993bfb2e31db agent background task id |
{- "data": {
- "id": "01a09f75-6368-7191-95e1-66960a86b4e6",
- "type": "node_background_task",
- "attributes": {
- "request_number": 1,
- "status_code": "success",
- "error_message": null,
- "created_by": "miesha_steuber-363",
- "task_type": "BuildAgentImageTask",
- "created_at": "2026-09-14T10:27:45.639623Z",
- "updated_at": "2026-09-14T10:27:45.648450Z",
- "image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "image_purged": false,
- "image_in_use": true
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f75-636d-77d0-93c7-03b9771e3a69",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f75-6350-7f52-bcaf-d9136ae1c2c5",
- "type": "agent"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f75-62c8-78b5-bdfa-dd658d6cd426/versions/2026_Q1_2",
- "self": "/api/projects/opc/agents/agent1/node_background_tasks/01a09f75-6368-7191-95e1-66960a86b4e6",
- "agent": "/api/projects/opc/agents/agent1",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f75-6368-7191-95e1-66960a86b4e6"
}
}
}Shows the status for an agent.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
{- "data": {
- "id": "01a09f75-64a9-7075-a1d6-1aee4a166733",
- "type": "agent_status",
- "attributes": {
- "desired_status": "running",
- "status": "initializing",
- "image_build_status": "ready",
- "active_image_sha": null,
- "newest_image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "cluster_name": "opschain-db"
}, - "relationships": {
- "node": {
- "data": {
- "id": "01a09f75-6494-737b-88a0-bfdb84283200",
- "type": "agent"
}
}, - "referenced_build_agent_image_task": {
- "data": {
- "id": "01a09f75-64a8-7176-a1d3-92097ed19bd0",
- "type": "node_background_task"
}
}, - "available_build_agent_image_tasks": {
- "data": [
- {
- "id": "01a09f75-64a8-7176-a1d3-92097ed19bd0",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1/status",
- "log_lines": "/api/projects/opc/agents/agent1/status/log_lines"
}
}, - "included": [
- {
- "id": "01a09f75-64a8-7176-a1d3-92097ed19bd0",
- "type": "node_background_task",
- "attributes": {
- "request_number": 1,
- "status_code": "success",
- "error_message": null,
- "created_by": "edward.wintheiser-369",
- "task_type": "BuildAgentImageTask",
- "created_at": "2026-09-14T10:27:45.959607Z",
- "updated_at": "2026-09-14T10:27:45.967200Z",
- "image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "image_purged": false,
- "image_in_use": true
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f75-64ac-7b40-a680-f682c28ea1ce",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f75-6494-737b-88a0-bfdb84283200",
- "type": "agent"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f75-6444-7919-b9cb-6bd267640934/versions/2026_Q1_2",
- "self": "/api/projects/opc/agents/agent1/node_background_tasks/01a09f75-64a8-7176-a1d3-92097ed19bd0",
- "agent": "/api/projects/opc/agents/agent1",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f75-64a8-7176-a1d3-92097ed19bd0"
}
}
]
}Update an agent status.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
required | object |
{- "data": {
- "attributes": {
- "desired_status": "running",
- "image_sha": "sha256:de10faf919fc71ba4eb1dd7bd6449566d012b0c9436b1c61bfee21d621b009aa"
}
}
}{- "data": {
- "id": "01a09f75-6658-783a-a85b-0550361899c0",
- "type": "agent_status",
- "attributes": {
- "desired_status": "running",
- "status": "initializing",
- "image_build_status": "ready",
- "active_image_sha": null,
- "newest_image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "cluster_name": "opschain-db"
}, - "relationships": {
- "node": {
- "data": {
- "id": "01a09f75-6641-7961-a5a3-73c2ffa54419",
- "type": "agent"
}
}, - "referenced_build_agent_image_task": {
- "data": null
}, - "available_build_agent_image_tasks": {
- "data": [
- {
- "id": "01a09f75-6657-7897-b6e9-8654a31e0578",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1/status",
- "log_lines": "/api/projects/opc/agents/agent1/status/log_lines"
}
}, - "included": [
- {
- "id": "01a09f75-6657-7897-b6e9-8654a31e0578",
- "type": "node_background_task",
- "attributes": {
- "request_number": 1,
- "status_code": "success",
- "error_message": null,
- "created_by": "joey-375",
- "task_type": "BuildAgentImageTask",
- "created_at": "2026-09-14T10:27:46.391011Z",
- "updated_at": "2026-09-14T10:27:46.399848Z",
- "image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "image_purged": false,
- "image_in_use": false
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f75-665c-7f7a-93c2-21f8132dd391",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f75-6641-7961-a5a3-73c2ffa54419",
- "type": "agent"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f75-65e6-7c1c-abd0-8dd83873c5cc/versions/2026_Q1_2",
- "self": "/api/projects/opc/agents/agent1/node_background_tasks/01a09f75-6657-7897-b6e9-8654a31e0578",
- "agent": "/api/projects/opc/agents/agent1",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f75-6657-7897-b6e9-8654a31e0578"
}
}
]
}Shows log lines for the agent.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
| filter[<query/sort filter>]= | |
| limit | integer [ 1 .. 10000 ] Default: 10000 Example: limit=50 Limit the number of log lines returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f75-6a70-7b5b-ae49-08e694ff516d",
- "type": "agent_log_line",
- "attributes": {
- "message": "Agents running on OpsChain :-)",
- "category": "action",
- "agent_path": "/projects/opc/agents/agent1",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Shows Kubernetes events for the agent. This request will only succeed when the agent is running.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
{- "data": [
- {
- "id": "0",
- "type": "agent_event",
- "attributes": {
- "created_at": "2026-02-13T09:59:50.041123Z",
- "message": "Kubernetes event for this agent."
}
}
]
}Lists all agents (including archived agents) that belong to the project.
Each agent in the response includes a link to:
changes endpoint for managing changes belonging to this agent. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this agent. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this agent. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this agent. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this agent's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this agent's workflows. It acts like a Workflows endpoint.
.| project_code required | string Example: opc project code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[name_eq]=Test API filtering guide. Named filters: |
| download | string Example: download=agents.csv Download the agents in CSV format with the specified file name. The agents will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-27d0-7448-aa7d-a96f0f4d032a",
- "type": "agent",
- "attributes": {
- "code": "agent1",
- "name": "Agent",
- "description": "Asset description",
- "archived": false,
- "created_by": "lasandra.bechtelar-1438",
- "task_active": false
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-27d5-73b3-9249-f4ac25bbb102",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-27d5-73b3-9249-f4ac25bbb102"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-2761-722b-9548-0a660c280841",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-27df-7a8b-9034-c6dc233b92da",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-27df-7a8b-9034-c6dc233b92da"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-2761-722b-9548-0a660c280841",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-2761-722b-9548-0a660c280841",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-27a1-7f25-b5d7-d0da7d178cea",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2780-786b-9287-25fb74e4f9fb/versions/2026_Q1_2"
}
}, - "bookmarks": {
- "data": [ ]
}, - "template": {
- "data": {
- "id": "01a09f76-2780-786b-9287-25fb74e4f9fb",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2780-786b-9287-25fb74e4f9fb"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-27e5-79d1-8dcc-66d6b58f759e",
- "type": "node_background_task"
}
]
}, - "agent_status": {
- "data": {
- "id": "01a09f76-27e6-79ab-9a22-c89980de9687",
- "type": "agent_status"
}, - "links": {
- "related": "/api/projects/opc/agents/agent1/status"
}
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1",
- "bookmarks": "/api/projects/opc/agents/agent1/bookmarks",
- "converged_properties": "/api/projects/opc/agents/agent1/converged_properties",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/agents/agent1/node_background_tasks",
- "version_history": "/api/projects/opc/agents/agent1/version_history"
}, - "meta": {
- "can_have_changes": false,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "changes": {
- "read": true,
- "execute": false,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Creates an agent.
| project_code required | string Example: opc project code |
required | object |
{- "data": {
- "attributes": {
- "code": "agent1",
- "name": "Agent",
- "description": "Asset description",
- "template_code": "agn",
- "template_version": "2026_Q1_2"
}
}
}{- "data": {
- "id": "01a09f76-2955-7351-8d12-7db93179b1ea",
- "type": "agent",
- "attributes": {
- "code": "9zuau",
- "name": "cupiditate452",
- "description": "Similique minima facilis suscipit.",
- "archived": false,
- "created_by": "logged_in_user",
- "task_active": true
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-2958-7f66-a1d8-95e6b6bf8d84",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-2958-7f66-a1d8-95e6b6bf8d84"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-2888-723a-ae9f-f7fb11723245",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-2962-72e1-919e-14b25dee8eee",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-2962-72e1-919e-14b25dee8eee"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-2888-723a-ae9f-f7fb11723245",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-2888-723a-ae9f-f7fb11723245",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-2920-7d9d-9eda-bbce10cdead1",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2903-72a8-bd0e-64696d6d3ee6/versions/2026_Q1_2"
}
}, - "bookmarks": {
- "data": [ ]
}, - "template": {
- "data": {
- "id": "01a09f76-2903-72a8-bd0e-64696d6d3ee6",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2903-72a8-bd0e-64696d6d3ee6"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-296e-781b-b050-032dbbbbad2f",
- "type": "node_background_task"
}
]
}, - "agent_status": {
- "data": {
- "id": "01a09f76-2966-78d8-b8c3-ff9e17826215",
- "type": "agent_status"
}, - "links": {
- "related": "/api/projects/opc/agents/9zuau/status"
}
}
}, - "links": {
- "self": "/api/projects/opc/agents/9zuau",
- "bookmarks": "/api/projects/opc/agents/9zuau/bookmarks",
- "converged_properties": "/api/projects/opc/agents/9zuau/converged_properties",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/agents/9zuau/node_background_tasks",
- "version_history": "/api/projects/opc/agents/9zuau/version_history"
}, - "meta": {
- "can_have_changes": false,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "changes": {
- "read": true,
- "execute": false,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Shows an agent belonging to a project.
The response includes a link to:
changes endpoint for managing changes belonging to this agent. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this agent. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this agent. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this agent. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this agent's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this agent's workflows. It acts like a Workflows endpoint.
.| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
{- "data": {
- "id": "01a09f76-2ae8-76b9-9fa6-c35f12f8b793",
- "type": "agent",
- "attributes": {
- "code": "agent1",
- "name": "Agent",
- "description": "Asset description",
- "archived": false,
- "created_by": "andy.kertzmann-1454",
- "task_active": false
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-2aec-7940-9434-17627eb23350",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-2aec-7940-9434-17627eb23350"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-2a5c-7c8e-819f-b9f8bb3015dd",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-2af5-7f30-8b31-f3564474c966",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-2af5-7f30-8b31-f3564474c966"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-2a5c-7c8e-819f-b9f8bb3015dd",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-2a5c-7c8e-819f-b9f8bb3015dd",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-2ab2-7f0c-81c9-a0b464306ec4",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2a83-7fe1-919d-6ac7c3c20a15/versions/2026_Q1_2"
}
}, - "bookmarks": {
- "data": [ ]
}, - "template": {
- "data": {
- "id": "01a09f76-2a83-7fe1-919d-6ac7c3c20a15",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2a83-7fe1-919d-6ac7c3c20a15"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-2afc-7cfd-b782-4732d2443d3a",
- "type": "node_background_task"
}
]
}, - "agent_status": {
- "data": {
- "id": "01a09f76-2afd-7c22-8b06-cd44018d1368",
- "type": "agent_status"
}, - "links": {
- "related": "/api/projects/opc/agents/agent1/status"
}
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1",
- "bookmarks": "/api/projects/opc/agents/agent1/bookmarks",
- "converged_properties": "/api/projects/opc/agents/agent1/converged_properties",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/agents/agent1/node_background_tasks",
- "version_history": "/api/projects/opc/agents/agent1/version_history"
}, - "meta": {
- "can_have_changes": false,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "changes": {
- "read": true,
- "execute": false,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - "included": [
- {
- "id": "01a09f76-2a5c-7c8e-819f-b9f8bb3015dd",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "andrew-1452",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-2a5f-77a1-b321-e644d87e57ac",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-2a5f-77a1-b321-e644d87e57ac"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f76-2a6d-7071-a27b-1ecc4d2a7935",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-2a6d-7071-a27b-1ecc4d2a7935"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f76-2ae8-76b9-9fa6-c35f12f8b793",
- "type": "agent"
}
]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - {
- "id": "01a09f76-2a83-7fe1-919d-6ac7c3c20a15",
- "type": "template",
- "attributes": {
- "code": "agn",
- "name": "Agent example",
- "description": null,
- "archived": false,
- "disabled": false,
- "template_type": "agent",
- "created_at": "2026-09-14T10:28:36.611270Z",
- "updated_at": "2026-09-14T10:28:36.611270Z"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-2a8a-7305-ab70-1c209d1ffc6a",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-2a8a-7305-ab70-1c209d1ffc6a"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-2a95-7835-9fe7-9e2dcf2a1624",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-2a95-7835-9fe7-9e2dcf2a1624"
}
}, - "git_remote": {
- "data": {
- "id": "01a09f76-2a77-742a-a895-e1cf45740e55",
- "type": "git_remote"
}
}, - "template_versions": {
- "data": [
- {
- "id": "01a09f76-2ab2-7f0c-81c9-a0b464306ec4",
- "type": "template_version"
}
]
}, - "nodes": {
- "data": [
- {
- "id": "01a09f76-2ae8-76b9-9fa6-c35f12f8b793",
- "type": "agent"
}, - {
- "id": "01a09f76-2ae8-76b9-9fa6-c35f12f8b793",
- "type": "agent"
}
]
}, - "project": {
- "data": {
- "id": "01a09f76-2a5c-7c8e-819f-b9f8bb3015dd",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-2a83-7fe1-919d-6ac7c3c20a15",
- "template_versions": "/api/projects/opc/templates/01a09f76-2a83-7fe1-919d-6ac7c3c20a15/versions",
- "project": "/api/projects/opc"
}
}, - {
- "id": "01a09f76-2ab2-7f0c-81c9-a0b464306ec4",
- "type": "template_version",
- "attributes": {
- "version": "2026_Q1_2",
- "description": "Added additional configuration options",
- "state": "ready",
- "created_by": "celeste-1453",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:28:36.658020Z",
- "updated_at": "2026-09-14T10:28:36.658020Z",
- "git_rev": "multi-byte",
- "commit_sha": "84a067394cc6c458a2e4e1dbcf0ebcf26adc5ab8",
- "git_remote_name": "github"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-2ab9-761a-b107-9252c7193700",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-2ab9-761a-b107-9252c7193700"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-2ac4-776d-97ae-0601938e08f4",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-2ac4-776d-97ae-0601938e08f4"
}
}, - "project": {
- "data": {
- "id": "01a09f76-2a5c-7c8e-819f-b9f8bb3015dd",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-2a83-7fe1-919d-6ac7c3c20a15",
- "type": "template"
}
}, - "pending_commit": {
- "data": null
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-2a83-7fe1-919d-6ac7c3c20a15/versions/2026_Q1_2",
- "template": "/api/projects/opc/templates/01a09f76-2a83-7fe1-919d-6ac7c3c20a15"
}
}, - {
- "id": "01a09f76-2afc-7cfd-b782-4732d2443d3a",
- "type": "node_background_task",
- "attributes": {
- "request_number": 1,
- "status_code": "success",
- "error_message": null,
- "created_by": "bridget-1455",
- "task_type": "BuildAgentImageTask",
- "created_at": "2026-09-14T10:28:36.732160Z",
- "updated_at": "2026-09-14T10:28:36.739335Z",
- "image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "image_purged": false,
- "image_in_use": true
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f76-2b01-750e-83b9-1bdcc6e86ce0",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f76-2ae8-76b9-9fa6-c35f12f8b793",
- "type": "agent"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-2a83-7fe1-919d-6ac7c3c20a15/versions/2026_Q1_2",
- "self": "/api/projects/opc/agents/agent1/node_background_tasks/01a09f76-2afc-7cfd-b782-4732d2443d3a",
- "agent": "/api/projects/opc/agents/agent1",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f76-2afc-7cfd-b782-4732d2443d3a"
}
}, - {
- "id": "01a09f76-2afd-7c22-8b06-cd44018d1368",
- "type": "agent_status",
- "attributes": {
- "desired_status": "running",
- "status": "initializing",
- "image_build_status": "ready",
- "active_image_sha": null,
- "newest_image_sha": "sha256:7655e0d4a9fe96130dc9e62dd8d85536e3ba743398d5e5ba5801a9fb0bbd2082",
- "cluster_name": "opschain-db"
}, - "relationships": {
- "node": {
- "data": {
- "id": "01a09f76-2ae8-76b9-9fa6-c35f12f8b793",
- "type": "agent"
}
}, - "referenced_build_agent_image_task": {
- "data": {
- "id": "01a09f76-2afc-7cfd-b782-4732d2443d3a",
- "type": "node_background_task"
}
}, - "available_build_agent_image_tasks": {
- "data": [
- {
- "id": "01a09f76-2afc-7cfd-b782-4732d2443d3a",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1/status",
- "log_lines": "/api/projects/opc/agents/agent1/status/log_lines"
}
}
]
}Updates an agent belonging to a project.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
required | object |
{- "data": {
- "attributes": {
- "name": "Modified",
- "description": "The updated agent",
- "archived": false
}
}
}{- "data": {
- "id": "01a09f76-2d29-7038-b9d3-97f25a82352e",
- "type": "agent",
- "attributes": {
- "code": "agent1",
- "name": "iusto462",
- "description": "Nihil nostrum omnis nam.",
- "archived": true,
- "created_by": "hal-1463",
- "task_active": false
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-2d2e-7042-b628-ba34c9c3f510",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-2d2e-7042-b628-ba34c9c3f510"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-2c5b-75b2-87a5-ee201c732528",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-2d3b-7067-8e4e-1e5bb15cdbcd",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-2d3b-7067-8e4e-1e5bb15cdbcd"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-2c5b-75b2-87a5-ee201c732528",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-2c5b-75b2-87a5-ee201c732528",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-2cf4-75d1-a03a-3f6cccccc530",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2cc5-73c2-8f9b-4bddb3d64824/versions/2026_Q1_2"
}
}, - "bookmarks": {
- "data": [ ]
}, - "template": {
- "data": {
- "id": "01a09f76-2cc5-73c2-8f9b-4bddb3d64824",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-2cc5-73c2-8f9b-4bddb3d64824"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-2d41-72c1-825b-06e11f48499a",
- "type": "node_background_task"
}
]
}, - "agent_status": {
- "data": {
- "id": "01a09f76-2d42-714c-a78a-0fedf99a2bfd",
- "type": "agent_status"
}, - "links": {
- "related": "/api/projects/opc/agents/agent1/status"
}
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1",
- "bookmarks": "/api/projects/opc/agents/agent1/bookmarks",
- "converged_properties": "/api/projects/opc/agents/agent1/converged_properties",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/agents/agent1/node_background_tasks",
- "version_history": "/api/projects/opc/agents/agent1/version_history"
}, - "meta": {
- "can_have_changes": false,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "changes": {
- "read": true,
- "execute": false,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Archives an agent belonging to a project.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
| ignore_in_use | boolean When true and the requesting user is a superuser, bypasses in use checks and force-destroys the agent. |
Show the converged settings for this agent, merged from all settings sources in the hierarchy (global and project settings).
The response includes a setting_sources meta object that attributes each setting value to its originating source.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
| converge_date | string Example: converge_date=2026-09-14T10:27:34+00:00 Specify the date (and optionally time), to derive the active template version and agent settings from. |
{- "data": {
- "id": "agent1",
- "type": "converged_settings",
- "attributes": {
- "data": {
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1/converged_settings"
}, - "meta": {
- "setting_sources": {
- "by_setting": {
- "requires_approval_from": "Project: OpsChain (opc)"
}
}
}
}
}Show the converged properties as they will appear for this agent. i.e. the endpoint will
The API response will also include all the individual repository and database properties that were included in the result.
| project_code required | string Example: opc project code |
| agent_code required | string Example: agent1 agent code |
| converge_date | string Example: converge_date=2026-09-14T10:27:34+00:00 Specify the date (and optionally time), to derive the active template version and agent properties from. |
{- "data": {
- "id": "agent1",
- "type": "converged_properties",
- "attributes": {
- "data": {
- "repo": "project_properties",
- "common": "property",
- "project": "property",
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}
}, - "relationships": {
- "repository_properties": {
- "data": [
- {
- "id": "properties.yaml",
- "type": "repository_properties"
}, - {
- "id": "projects/opc.yaml",
- "type": "repository_properties"
}
]
}, - "properties": {
- "data": [
- {
- "id": "01a09f76-363f-73c3-9236-ef11d0bf3429",
- "type": "properties_version"
}, - {
- "id": "01a09f76-3663-7328-9e25-9fa168ed5c7d",
- "type": "properties_version"
}, - {
- "id": "01a09f76-3680-7097-983c-4e7970a05b6a",
- "type": "properties_version"
}, - {
- "id": "01a09f76-36a9-734c-9313-777dbd896847",
- "type": "properties_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/agents/agent1/converged_properties"
}, - "meta": {
- "property_sources": {
- "by_property": {
- "repo": "Repository: .opschain/projects/opc.yaml",
- "common": "Repository: .opschain/properties.yaml",
- "project": "Repository: .opschain/projects/opc.yaml",
- "any_key": "Project: OpsChain (opc)",
- "another_key": "Project: OpsChain (opc)",
- "nested": {
- "key": "Project: OpsChain (opc)"
}
}
}
}
}, - "included": [
- {
- "id": "01a09f76-363f-73c3-9236-ef11d0bf3429",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:28:39.614802Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-363b-701d-a6af-d3c5f6c4dd75",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-363b-701d-a6af-d3c5f6c4dd75"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-363b-701d-a6af-d3c5f6c4dd75/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f76-363b-701d-a6af-d3c5f6c4dd75/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-3663-7328-9e25-9fa168ed5c7d",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:39.650756Z",
- "owner_type": "Template"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-365e-75f1-9bf8-cf276a9ecc65",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-365e-75f1-9bf8-cf276a9ecc65"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-365e-75f1-9bf8-cf276a9ecc65/versions",
- "owner": "/api/projects/opc/templates/01a09f76-3659-7ce4-9d73-5e46416f0c6e",
- "self": "/api/properties/01a09f76-365e-75f1-9bf8-cf276a9ecc65/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-3680-7097-983c-4e7970a05b6a",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:39.679617Z",
- "owner_type": "Template version"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-367b-77e1-9d17-006608477e8d",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-367b-77e1-9d17-006608477e8d"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-367b-77e1-9d17-006608477e8d/versions",
- "owner": "/api/projects/opc/templates/01a09f76-3659-7ce4-9d73-5e46416f0c6e/versions/2026_Q1_2",
- "self": "/api/properties/01a09f76-367b-77e1-9d17-006608477e8d/versions/1"
}, - "meta": {
- "template_versions": {
- "2026_Q1_2": "01a09f76-3677-7ddf-a84c-d3612bc10942"
}
}
}, - {
- "id": "01a09f76-36a9-734c-9313-777dbd896847",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:39.720774Z",
- "owner_type": "Agent"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-36a3-7c2f-b761-c1d1f4fdf64d",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-36a3-7c2f-b761-c1d1f4fdf64d"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-36a3-7c2f-b761-c1d1f4fdf64d/versions",
- "owner": "/api/projects/opc/agents/agent1",
- "self": "/api/properties/01a09f76-36a3-7c2f-b761-c1d1f4fdf64d/versions/1"
}, - "meta": {
- "template_versions": {
- "2026_Q1_2": "01a09f76-3677-7ddf-a84c-d3612bc10942"
}
}
}, - {
- "id": "properties.yaml",
- "type": "repository_properties",
- "attributes": {
- "content": {
- "repo": "base_properties",
- "common": "property"
}
}, - "links": {
- "repository_path": ".opschain/properties.yaml"
}
}, - {
- "id": "projects/opc.yaml",
- "type": "repository_properties",
- "attributes": {
- "content": {
- "repo": "project_properties",
- "project": "property"
}
}, - "links": {
- "repository_path": ".opschain/projects/opc.yaml"
}
}
]
}Endpoints to interact with assets.
Notes:
show and list response payloads include links to the asset's changes, scheduled activity, bookmarks and MintModels endpoints. These endpoints act like
the changes, scheduled activity, bookmarks and MintModels endpoints respectively./<path/to/asset/owner>/assets path. The example endpoints in this section reflect assets owned by a project.Lists all assets (including archived assets) that belong to the project.
Each asset in the response includes a link to:
changes endpoint for managing changes belonging to this asset. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this asset. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this asset. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this asset. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this asset's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this asset's workflows. It acts like a Workflows endpoint.
.| project_code required | string Example: opc project code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[name_eq]=Test API filtering guide. Named filters: |
| download | string Example: download=assets.csv Download the project assets in CSV format with the specified file name. The assets will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-37f0-7f86-8fea-f5b74d8ffa3e",
- "type": "asset",
- "attributes": {
- "code": "prj_soa",
- "name": "Project asset",
- "description": "Project asset description",
- "archived": false,
- "created_by": "nicolas.ullrich-1509",
- "task_active": false
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-37f5-78ae-ab8d-7854f348dc5f",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-37f5-78ae-ab8d-7854f348dc5f"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-377e-7ed5-b054-6c0d9c56e9ca",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-37ff-7a0a-a0ce-95eee700c475",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-37ff-7a0a-a0ce-95eee700c475"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-377e-7ed5-b054-6c0d9c56e9ca",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-377e-7ed5-b054-6c0d9c56e9ca",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-37c2-7c01-b93f-fd0d1f90180e",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-37a1-7489-8f67-581bede72440/versions/2023_Q4_2"
}
}, - "bookmarks": {
- "data": [
- {
- "id": "01a09f76-3814-7b31-a264-54a58f6dd90a",
- "type": "bookmark"
}
]
}, - "template": {
- "data": {
- "id": "01a09f76-37a1-7489-8f67-581bede72440",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-37a1-7489-8f67-581bede72440"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-380c-7c8f-b2c6-7bed135fde6a",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa",
- "actions": "/api/projects/opc/assets/prj_soa/actions",
- "bookmarks": "/api/projects/opc/assets/prj_soa/bookmarks",
- "changes": "/api/projects/opc/assets/prj_soa/changes",
- "scheduled_activities": "/api/projects/opc/assets/prj_soa/scheduled_activities",
- "converged_properties": "/api/projects/opc/assets/prj_soa/converged_properties",
- "mintmodels": "/api/projects/opc/assets/prj_soa/mintmodels",
- "mintmodel_history": "/api/projects/opc/assets/prj_soa/mintmodel_history",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/assets/prj_soa/node_background_tasks",
- "version_history": "/api/projects/opc/assets/prj_soa/version_history"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": true,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Creates an asset belonging to the project.
| project_code required | string Example: opc project code |
required | object |
{- "data": {
- "attributes": {
- "code": "prj_soa",
- "name": "Project asset",
- "description": "Project asset description",
- "template_code": "soa",
- "template_version": "2023_Q4_2"
}
}
}{- "data": {
- "id": "01a09f76-397b-7728-9840-bb39b13f78a2",
- "type": "asset",
- "attributes": {
- "code": "b2qi2",
- "name": "quia482",
- "description": "Nihil nostrum sed odit.",
- "archived": false,
- "created_by": "logged_in_user",
- "task_active": true
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-397f-7458-b343-3513ab3eac06",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-397f-7458-b343-3513ab3eac06"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-38ae-7016-851e-632736a2ca3e",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-3989-73a7-b119-5127e907255d",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-3989-73a7-b119-5127e907255d"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-38ae-7016-851e-632736a2ca3e",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-38ae-7016-851e-632736a2ca3e",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-394a-7fcc-b042-8ecc607664d4",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-392f-70fe-8c59-2239864635b5/versions/2023_Q4_2"
}
}, - "bookmarks": {
- "data": [ ]
}, - "template": {
- "data": {
- "id": "01a09f76-392f-70fe-8c59-2239864635b5",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-392f-70fe-8c59-2239864635b5"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-3994-7c95-ad87-19ede0dd419e",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/b2qi2",
- "actions": "/api/projects/opc/assets/b2qi2/actions",
- "bookmarks": "/api/projects/opc/assets/b2qi2/bookmarks",
- "changes": "/api/projects/opc/assets/b2qi2/changes",
- "scheduled_activities": "/api/projects/opc/assets/b2qi2/scheduled_activities",
- "converged_properties": "/api/projects/opc/assets/b2qi2/converged_properties",
- "mintmodels": "/api/projects/opc/assets/b2qi2/mintmodels",
- "mintmodel_history": "/api/projects/opc/assets/b2qi2/mintmodel_history",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/assets/b2qi2/node_background_tasks",
- "version_history": "/api/projects/opc/assets/b2qi2/version_history"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": true,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Shows an asset belonging to a project.
The response includes a link to:
changes endpoint for managing changes belonging to this asset. It acts like the changes endpoint.scheduled_activities endpoint for managing scheduled activities belonging to this asset. It acts like a scheduled activities endpoint.bookmarks endpoint for managing the bookmarks belonging to this asset. It acts like a bookmarks endpoint.mintmodels endpoint for managing the MintModels belonging to this asset. It acts like a MintModels endpoint.mintmodel_history endpoint for viewing this asset's MintModel history. It acts like a MintModel history endpoint.workflows endpoint for viewing this asset's workflows. It acts like a Workflows endpoint.
.| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
{- "data": {
- "id": "01a09f76-3ab6-767c-bf46-4e487308b1bd",
- "type": "asset",
- "attributes": {
- "code": "prj_soa",
- "name": "Project asset",
- "description": "Project asset description",
- "archived": false,
- "created_by": "emmett.renner-1526",
- "mintmodel_valid": true,
- "mintmodel_invalid_reason": null,
- "erb_file_content": "<MintModel erb file contents>",
- "task_active": false
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-3aba-7265-a806-8589b7b211b1",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-3aba-7265-a806-8589b7b211b1"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-3a63-7b2f-9854-0c605af960e0",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-3ac2-776f-aacb-5745aa53a601",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-3ac2-776f-aacb-5745aa53a601"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-3a63-7b2f-9854-0c605af960e0",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-3a63-7b2f-9854-0c605af960e0",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-3a9a-703a-af98-3a90ee894ef9",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-3a7f-714f-bf7a-d2360ea52df7/versions/2023_Q4_2"
}
}, - "bookmarks": {
- "data": [
- {
- "id": "01a09f76-3ad6-7f08-989d-abe9a61bed2e",
- "type": "bookmark"
}
]
}, - "template": {
- "data": {
- "id": "01a09f76-3a7f-714f-bf7a-d2360ea52df7",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-3a7f-714f-bf7a-d2360ea52df7"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-3ace-76cd-a100-d375656eb317",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa",
- "actions": "/api/projects/opc/assets/prj_soa/actions",
- "bookmarks": "/api/projects/opc/assets/prj_soa/bookmarks",
- "changes": "/api/projects/opc/assets/prj_soa/changes",
- "scheduled_activities": "/api/projects/opc/assets/prj_soa/scheduled_activities",
- "converged_properties": "/api/projects/opc/assets/prj_soa/converged_properties",
- "mintmodels": "/api/projects/opc/assets/prj_soa/mintmodels",
- "mintmodel_history": "/api/projects/opc/assets/prj_soa/mintmodel_history",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/assets/prj_soa/node_background_tasks",
- "version_history": "/api/projects/opc/assets/prj_soa/version_history"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": true,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - "included": [
- {
- "id": "01a09f76-3a63-7b2f-9854-0c605af960e0",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "earnest.hettinger-1524",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-3a65-79fe-a22e-2663f79b5d8e",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-3a65-79fe-a22e-2663f79b5d8e"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f76-3a6c-7fdf-ae31-c1671eccd985",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-3a6c-7fdf-ae31-c1671eccd985"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f76-3ab6-767c-bf46-4e487308b1bd",
- "type": "asset"
}
]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - {
- "id": "01a09f76-3ad6-7f08-989d-abe9a61bed2e",
- "type": "bookmark",
- "attributes": {
- "description": "SOA administration console",
- "created_by": "karima.powlowski-1528",
- "created_at": "2026-09-14T10:28:40.790575Z",
- "updated_at": "2026-09-14T10:28:40.790575Z"
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f76-3ab6-767c-bf46-4e487308b1bd",
- "type": "asset"
}
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/bookmarks/01a09f76-3ad6-7f08-989d-abe9a61bed2e",
- "parent": "/api/projects/opc/assets/prj_soa"
}
}, - {
- "id": "01a09f76-3a7f-714f-bf7a-d2360ea52df7",
- "type": "template",
- "attributes": {
- "code": "soa",
- "name": "Oracle SOA template",
- "description": "Oracle SOA Suite 12c (12.2.1.4.0)",
- "archived": false,
- "disabled": false,
- "template_type": "asset",
- "created_at": "2026-09-14T10:28:40.702592Z",
- "updated_at": "2026-09-14T10:28:40.702592Z"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-3a83-7699-990e-036cf90a646b",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-3a83-7699-990e-036cf90a646b"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-3a8b-7687-835b-354f7bf32c52",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-3a8b-7687-835b-354f7bf32c52"
}
}, - "git_remote": {
- "data": {
- "id": "01a09f76-3a73-712e-8df8-b138fad0b4e3",
- "type": "git_remote"
}
}, - "template_versions": {
- "data": [
- {
- "id": "01a09f76-3a9a-703a-af98-3a90ee894ef9",
- "type": "template_version"
}
]
}, - "nodes": {
- "data": [
- {
- "id": "01a09f76-3ab6-767c-bf46-4e487308b1bd",
- "type": "asset"
}
]
}, - "project": {
- "data": {
- "id": "01a09f76-3a63-7b2f-9854-0c605af960e0",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-3a7f-714f-bf7a-d2360ea52df7",
- "template_versions": "/api/projects/opc/templates/01a09f76-3a7f-714f-bf7a-d2360ea52df7/versions",
- "project": "/api/projects/opc"
}
}, - {
- "id": "01a09f76-3a9a-703a-af98-3a90ee894ef9",
- "type": "template_version",
- "attributes": {
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "state": "ready",
- "created_by": "elia-1525",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:28:40.729596Z",
- "updated_at": "2026-09-14T10:28:40.729596Z",
- "has_mintmodel": true,
- "git_rev": "1080p",
- "commit_sha": "da06e54094ca221444f2d95f71658f8b0458d537",
- "git_remote_name": "github"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-3a9d-7119-a523-33aff7c49643",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-3a9d-7119-a523-33aff7c49643"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-3aa4-71f0-a09a-7356ed84c1be",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-3aa4-71f0-a09a-7356ed84c1be"
}
}, - "project": {
- "data": {
- "id": "01a09f76-3a63-7b2f-9854-0c605af960e0",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-3a7f-714f-bf7a-d2360ea52df7",
- "type": "template"
}
}, - "pending_commit": {
- "data": null
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-3a7f-714f-bf7a-d2360ea52df7/versions/2023_Q4_2",
- "template": "/api/projects/opc/templates/01a09f76-3a7f-714f-bf7a-d2360ea52df7"
}
}
]
}Updates an asset belonging to a project.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
required | object |
{- "data": {
- "attributes": {
- "name": "Modified",
- "description": "The updated asset",
- "archived": false
}
}
}{- "data": {
- "id": "01a09f76-3c85-7cf2-9ee8-f371c5fad70b",
- "type": "asset",
- "attributes": {
- "code": "prj_soa",
- "name": "accusantium492",
- "description": "Repellendus blanditiis fuga tenetur.",
- "archived": true,
- "created_by": "krysta-1536",
- "task_active": false
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-3c8a-747c-bc85-1eac89e692ca",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-3c8a-747c-bc85-1eac89e692ca"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-3c2c-7cba-bc63-4fc0ae4b7059",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-3c94-7eec-aa72-9126fb5c6630",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-3c94-7eec-aa72-9126fb5c6630"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-3c2c-7cba-bc63-4fc0ae4b7059",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-3c2c-7cba-bc63-4fc0ae4b7059",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-3c63-764f-92f2-67d83c2fa1c4",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-3c48-7734-988e-032e9562a6a9/versions/2023_Q4_2"
}
}, - "bookmarks": {
- "data": [
- {
- "id": "01a09f76-3cab-70f2-a8c3-a48ff9f8f4d6",
- "type": "bookmark"
}
]
}, - "template": {
- "data": {
- "id": "01a09f76-3c48-7734-988e-032e9562a6a9",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-3c48-7734-988e-032e9562a6a9"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-3ca2-7626-8f4c-402e4fbf3144",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa",
- "actions": "/api/projects/opc/assets/prj_soa/actions",
- "bookmarks": "/api/projects/opc/assets/prj_soa/bookmarks",
- "changes": "/api/projects/opc/assets/prj_soa/changes",
- "scheduled_activities": "/api/projects/opc/assets/prj_soa/scheduled_activities",
- "converged_properties": "/api/projects/opc/assets/prj_soa/converged_properties",
- "mintmodels": "/api/projects/opc/assets/prj_soa/mintmodels",
- "mintmodel_history": "/api/projects/opc/assets/prj_soa/mintmodel_history",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/assets/prj_soa/node_background_tasks",
- "version_history": "/api/projects/opc/assets/prj_soa/version_history"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": true,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
}Archives an asset belonging to a project.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| ignore_in_use | boolean When true and the requesting user is a superuser, bypasses in use checks and force-destroys the asset. |
Show the converged settings for this asset, merged from all settings sources in the hierarchy (global, project, environment, and asset settings).
The response includes a setting_sources meta object that attributes each setting value to its originating source.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| converge_date | string Example: converge_date=2026-09-14T10:27:34+00:00 Specify the date (and optionally time), to derive the active template version and asset settings from. |
{- "data": {
- "id": "prj_soa",
- "type": "converged_settings",
- "attributes": {
- "data": {
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/converged_settings"
}, - "meta": {
- "setting_sources": {
- "by_setting": {
- "requires_approval_from": "Project: OpsChain (opc)"
}
}
}
}
}Show the converged properties as they will appear to actions run on this asset. i.e. the endpoint will
The API response will also include all the individual repository and database properties that were included in the result.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| converge_date | string Example: converge_date=2026-09-14T10:27:34+00:00 Specify the date (and optionally time), to derive the active template version and asset properties from. |
{- "data": {
- "id": "prj_soa",
- "type": "converged_properties",
- "attributes": {
- "data": {
- "repo": "project_properties",
- "common": "property",
- "project": "property",
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}
}, - "relationships": {
- "repository_properties": {
- "data": [
- {
- "id": "properties.yaml",
- "type": "repository_properties"
}, - {
- "id": "projects/opc.yaml",
- "type": "repository_properties"
}
]
}, - "properties": {
- "data": [
- {
- "id": "01a09f76-432d-72ed-8c48-1f2178c120d9",
- "type": "properties_version"
}, - {
- "id": "01a09f76-434a-7fb0-851e-2b5db38b2ecc",
- "type": "properties_version"
}, - {
- "id": "01a09f76-4367-76b3-b6d3-bbc23a8d22ae",
- "type": "properties_version"
}, - {
- "id": "01a09f76-438b-7aa5-bdbb-48bdb6237236",
- "type": "properties_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/converged_properties"
}, - "meta": {
- "property_sources": {
- "by_property": {
- "repo": "Repository: .opschain/projects/opc.yaml",
- "common": "Repository: .opschain/properties.yaml",
- "project": "Repository: .opschain/projects/opc.yaml",
- "any_key": "Project: OpsChain (opc)",
- "another_key": "Project: OpsChain (opc)",
- "nested": {
- "key": "Project: OpsChain (opc)"
}
}
}
}
}, - "included": [
- {
- "id": "01a09f76-432d-72ed-8c48-1f2178c120d9",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:28:42.924744Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-4328-7d59-be13-370773c63020",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-4328-7d59-be13-370773c63020"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-4328-7d59-be13-370773c63020/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f76-4328-7d59-be13-370773c63020/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-434a-7fb0-851e-2b5db38b2ecc",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:42.954582Z",
- "owner_type": "Template"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-4346-76fb-8b22-97a70d28c635",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-4346-76fb-8b22-97a70d28c635"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-4346-76fb-8b22-97a70d28c635/versions",
- "owner": "/api/projects/opc/templates/01a09f76-4342-76af-9d0a-78afe20308ef",
- "self": "/api/properties/01a09f76-4346-76fb-8b22-97a70d28c635/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-4367-76b3-b6d3-bbc23a8d22ae",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:42.982970Z",
- "owner_type": "Template version"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-4362-7858-a043-03f4da53ff7a",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-4362-7858-a043-03f4da53ff7a"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-4362-7858-a043-03f4da53ff7a/versions",
- "owner": "/api/projects/opc/templates/01a09f76-4342-76af-9d0a-78afe20308ef/versions/2023_Q4_2",
- "self": "/api/properties/01a09f76-4362-7858-a043-03f4da53ff7a/versions/1"
}, - "meta": {
- "template_versions": {
- "2023_Q4_2": "01a09f76-435e-7d44-a736-3bda1485c49d"
}
}
}, - {
- "id": "01a09f76-438b-7aa5-bdbb-48bdb6237236",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:43.019224Z",
- "owner_type": "Asset"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-4386-7136-af74-b328c0814e5c",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-4386-7136-af74-b328c0814e5c"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-4386-7136-af74-b328c0814e5c/versions",
- "owner": "/api/projects/opc/assets/prj_soa",
- "self": "/api/properties/01a09f76-4386-7136-af74-b328c0814e5c/versions/1"
}, - "meta": {
- "template_versions": {
- "2023_Q4_2": "01a09f76-435e-7d44-a736-3bda1485c49d"
}
}
}, - {
- "id": "properties.yaml",
- "type": "repository_properties",
- "attributes": {
- "content": {
- "repo": "base_properties",
- "common": "property"
}
}, - "links": {
- "repository_path": ".opschain/properties.yaml"
}
}, - {
- "id": "projects/opc.yaml",
- "type": "repository_properties",
- "attributes": {
- "content": {
- "repo": "project_properties",
- "project": "property"
}
}, - "links": {
- "repository_path": ".opschain/projects/opc.yaml"
}
}
]
}List the log lines generated while building an image and querying the actions available for this asset / template version combination.
Note: See the list filtered log lines API docs for filtering options.
| node_background_task_id required | string Example: 01a09f75-21d2-7d70-88bc-00d5d8cd3ea4 |
| filter[<query/sort filter>]= | |
| download | string Example: download=change.log Download the log lines with the specified file name. The logs will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
| limit | integer [ 1 .. 10000 ] Default: 10000 Example: limit=50 Limit the number of log lines returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f76-44e6-7b4f-9640-253a3dde168a",
- "type": "node_background_task_log_line",
- "attributes": {
- "message": "Expedita necessitatibus neque optio.",
- "category": "action",
- "template_version_history_id": "01a09f76-44cc-721a-b800-e2f6f138f66f",
- "node_background_task_id": "01a09f76-44d3-7682-bf8b-8080582168ff",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Create a request to refresh the actions list for an asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
{- "data": {
- "id": "01a09f76-46cc-7980-bd2b-2cbcf82563fb",
- "type": "node_background_task",
- "attributes": {
- "request_number": 3,
- "status_code": "initializing",
- "error_message": null,
- "created_by": "logged_in_user",
- "actions_count": 0,
- "task_type": "GenerateActionsRequest",
- "created_at": "2026-09-14T10:28:43.851959Z",
- "updated_at": "2026-09-14T10:28:43.851959Z"
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f76-46a0-7c01-bc0d-39aa8527b9cb",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f76-468e-7d7c-b968-10919cb50dc9",
- "type": "asset"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-4650-7ca7-99ce-3ce1ac3ea7ca/versions/2023_Q4_2",
- "self": "/api/projects/opc/assets/prj_soa/node_background_tasks/01a09f76-46cc-7980-bd2b-2cbcf82563fb",
- "asset": "/api/projects/opc/assets/prj_soa",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f76-46cc-7980-bd2b-2cbcf82563fb"
}
}
}Lists all generate actions requests made for the asset's current template version.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[request_number_eq]=1 API filtering guide. Named filters: |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of requests returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f76-47c0-7f8b-a914-e32c74880790",
- "type": "node_background_task",
- "attributes": {
- "request_number": 2,
- "status_code": "error",
- "error_message": "- failed to concretise this asset's MintModel",
- "created_by": "izetta_rohan-1612",
- "actions_count": 0,
- "task_type": "MintModelConcretiseTask",
- "created_at": "2026-09-14T10:28:44.096444Z",
- "updated_at": "2026-09-14T10:28:44.097997Z",
- "render_logs": {
- "context": {
- "asset": "opc/soa1",
- "template_version": "2023_Q4_2"
}, - "exception": "MintPress::ConcretisationError: unable to resolve property @db_host",
- "exception_backtrace": [
- "/opt/opschain/lib/mintpress/model.rb:214:in `concretise'"
], - "property_converge_failure": "the property @db_host is not defined for this asset"
}
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f76-47a4-7ecf-bc3d-0b8a6afd5652",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f76-4791-7f05-b48d-e93a2772e8bf",
- "type": "asset"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-4754-7209-aa65-52e81685fb23/versions/2023_Q4_2",
- "self": "/api/projects/opc/assets/prj_soa/node_background_tasks/01a09f76-47c0-7f8b-a914-e32c74880790",
- "asset": "/api/projects/opc/assets/prj_soa",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f76-47c0-7f8b-a914-e32c74880790"
}
}, - {
- "id": "01a09f76-47ab-7cab-ade6-5a8d12639046",
- "type": "node_background_task",
- "attributes": {
- "request_number": 1,
- "status_code": "success",
- "error_message": null,
- "created_by": "jacqui-1610",
- "actions_count": 1,
- "task_type": "GenerateActionsRequest",
- "created_at": "2026-09-14T10:28:44.075256Z",
- "updated_at": "2026-09-14T10:28:44.079352Z"
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f76-47a4-7ecf-bc3d-0b8a6afd5652",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f76-4791-7f05-b48d-e93a2772e8bf",
- "type": "asset"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-4754-7209-aa65-52e81685fb23/versions/2023_Q4_2",
- "self": "/api/projects/opc/assets/prj_soa/node_background_tasks/01a09f76-47ab-7cab-ade6-5a8d12639046",
- "asset": "/api/projects/opc/assets/prj_soa",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f76-47ab-7cab-ade6-5a8d12639046"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}, - "partial_response": false
}
}Show a specific actions generation request.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| node_background_task_id required | string Example: 01a09f75-21d2-7d70-88bc-00d5d8cd3ea4 generate actions request id |
{- "data": {
- "id": "01a09f76-48d7-75da-a134-02622fd08101",
- "type": "node_background_task",
- "attributes": {
- "request_number": 1,
- "status_code": "success",
- "error_message": null,
- "created_by": "adena.trantow-1618",
- "actions": [
- {
- "action": "deploy",
- "children": [
- {
- "action": "deploy:configure",
- "children": [ ],
- "pre_reqs": [ ],
- "full_path": "deploy/configure",
- "step_name": "configure",
- "stage_step": false,
- "description": "Configure the asset",
- "ignore_failure": false,
- "reload_actions": false,
- "mintmodel_placeholder": false
}
], - "pre_reqs": [ ],
- "full_path": "deploy",
- "step_name": "deploy",
- "stage_step": false,
- "description": "Deploy the asset",
- "ignore_failure": false,
- "child_execution_strategy": "sequential"
}
], - "actions_count": 1,
- "task_type": "GenerateActionsRequest",
- "created_at": "2026-09-14T10:28:44.373275Z",
- "updated_at": "2026-09-14T10:28:44.378781Z"
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f76-48ce-741a-9329-461b35c27b78",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f76-4890-77d2-84ed-7b962982c250",
- "type": "asset"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-4855-753e-b10b-d8fd8cca9f67/versions/2023_Q4_2",
- "self": "/api/projects/opc/assets/prj_soa/node_background_tasks/01a09f76-48d7-75da-a134-02622fd08101",
- "asset": "/api/projects/opc/assets/prj_soa",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f76-48d7-75da-a134-02622fd08101"
}
}
}Cancels the generate actions request.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| node_background_task_id required | string Example: 01a09f75-21d2-7d70-88bc-00d5d8cd3ea4 generate actions request id |
Lists all properties versions and template versions for the asset and its parents.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
{- "data": [
- {
- "id": "01a09f76-8613-7bb7-8de6-51c004809491",
- "type": "project",
- "attributes": {
- "level": 0,
- "code": "opc",
- "name": "OpsChain",
- "properties_versions": [
- {
- "version": 1,
- "start_date": "2026-09-14T10:29:00Z"
}
]
}
}, - {
- "id": "01a09f76-8634-7716-aca1-c1266c12075d",
- "type": "template",
- "attributes": {
- "level": 1,
- "code": "soa",
- "name": "Oracle SOA template",
- "properties_versions": [
- {
- "version": 1,
- "start_date": "2026-09-14T10:29:00Z"
}
]
}
}, - {
- "id": "01a09f76-8674-79b4-b8cf-3b1be7d2770a",
- "type": "asset",
- "attributes": {
- "level": 3,
- "code": "prj_soa",
- "name": "Project asset",
- "properties_versions": [
- {
- "version": 1,
- "start_date": "2026-09-14T10:29:00Z"
}
], - "template_versions": [ ]
}
}
]
}Lists the template versions that have been assigned to the asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[name_eq]=Test API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f76-c814-72d2-9461-785514699711",
- "type": "template_version_history",
- "attributes": {
- "created_by": "felipa-2292",
- "active_from": "2026-09-14T10:29:16.946347Z",
- "active_to": null
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f76-c7fd-74ac-b5ec-d59fd629a750",
- "type": "asset"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-c7d5-7c53-9f5d-5c6654cfe0d9",
- "type": "template_version"
}
}, - "node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-c81b-7fa7-8b51-3079347fce04",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-c7b0-7f91-87f5-e5bd81e132f0/versions/2023_Q4_2",
- "self": "/api/projects/opc/assets/prj_soa/version_history/01a09f76-c814-72d2-9461-785514699711",
- "asset": "/api/projects/opc/assets/prj_soa"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}
}
}Shows a specific project asset's template version history record.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| id required | string Example: 01a09f75-219d-7b30-8529-7e7d90a14ce7 version history id |
{- "data": {
- "id": "01a09f76-c908-7abe-b641-8477fbe3e2ae",
- "type": "template_version_history",
- "attributes": {
- "created_by": "candelaria-2299",
- "active_from": "2026-09-14T10:29:17.190978Z",
- "active_to": null
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f76-c8f6-7a5c-8cb3-c5188fdff25d",
- "type": "asset"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-c8d6-744a-8768-797083df265e",
- "type": "template_version"
}
}, - "node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-c90f-7890-859d-ab72ddbd32ae",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-c8b9-76ee-a4d9-61dc36004532/versions/2023_Q4_2",
- "self": "/api/projects/opc/assets/prj_soa/version_history/01a09f76-c908-7abe-b641-8477fbe3e2ae",
- "asset": "/api/projects/opc/assets/prj_soa"
}
}, - "included": [
- {
- "id": "01a09f76-c8f6-7a5c-8cb3-c5188fdff25d",
- "type": "asset",
- "attributes": {
- "code": "prj_soa",
- "name": "Project asset",
- "description": "Project asset description",
- "archived": false,
- "created_by": "candelaria-2299",
- "task_active": false
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-c8fa-7870-9aae-b85905d32aac",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-c8fa-7870-9aae-b85905d32aac"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f76-c89d-7ae1-8395-225a9e602d89",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f76-c903-77ee-9a77-e38f132b4af3",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-c903-77ee-9a77-e38f132b4af3"
}
}, - "parent": {
- "data": {
- "id": "01a09f76-c89d-7ae1-8395-225a9e602d89",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f76-c89d-7ae1-8395-225a9e602d89",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "template_version": {
- "data": {
- "id": "01a09f76-c8d6-744a-8768-797083df265e",
- "type": "template_version"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-c8b9-76ee-a4d9-61dc36004532/versions/2023_Q4_2"
}
}, - "bookmarks": {
- "data": [
- {
- "id": "01a09f76-c917-7802-b171-78e63e6586a5",
- "type": "bookmark"
}
]
}, - "template": {
- "data": {
- "id": "01a09f76-c8b9-76ee-a4d9-61dc36004532",
- "type": "template"
}, - "links": {
- "related": "/api/projects/opc/templates/01a09f76-c8b9-76ee-a4d9-61dc36004532"
}
}, - "latest_node_background_tasks": {
- "data": [
- {
- "id": "01a09f76-c90f-7890-859d-ab72ddbd32ae",
- "type": "node_background_task"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa",
- "actions": "/api/projects/opc/assets/prj_soa/actions",
- "bookmarks": "/api/projects/opc/assets/prj_soa/bookmarks",
- "changes": "/api/projects/opc/assets/prj_soa/changes",
- "scheduled_activities": "/api/projects/opc/assets/prj_soa/scheduled_activities",
- "converged_properties": "/api/projects/opc/assets/prj_soa/converged_properties",
- "mintmodels": "/api/projects/opc/assets/prj_soa/mintmodels",
- "mintmodel_history": "/api/projects/opc/assets/prj_soa/mintmodel_history",
- "parent": "/api/projects/opc",
- "node_background_tasks": "/api/projects/opc/assets/prj_soa/node_background_tasks",
- "version_history": "/api/projects/opc/assets/prj_soa/version_history"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": true,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": true,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - {
- "id": "01a09f76-c8d6-744a-8768-797083df265e",
- "type": "template_version",
- "attributes": {
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "state": "ready",
- "created_by": "vinita-2298",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:29:17.141762Z",
- "updated_at": "2026-09-14T10:29:17.141762Z",
- "has_mintmodel": true,
- "git_rev": "neural",
- "commit_sha": "d06276bb7285c166c48f301b0d32afd8332932e1",
- "git_remote_name": "github"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-c8da-71c7-8be3-20170f12e5dd",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-c8da-71c7-8be3-20170f12e5dd"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-c8e2-7690-bc9a-7831babed679",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-c8e2-7690-bc9a-7831babed679"
}
}, - "project": {
- "data": {
- "id": "01a09f76-c89d-7ae1-8395-225a9e602d89",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-c8b9-76ee-a4d9-61dc36004532",
- "type": "template"
}
}, - "pending_commit": {
- "data": null
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-c8b9-76ee-a4d9-61dc36004532/versions/2023_Q4_2",
- "template": "/api/projects/opc/templates/01a09f76-c8b9-76ee-a4d9-61dc36004532"
}
}
]
}Endpoints to query the action step trees available for a templated node.
Notes:
action name or their
step_name. Child actions are not individually addressable - they are included in each action's
children attribute by the show endpoint, and by the list endpoint when include_children is set.Lists every action available for the asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| include_children | boolean Example: include_children=true By default each action is returned without its |
{- "data": [
- {
- "id": "deploy",
- "type": "action",
- "links": {
- "self": "/api/projects/opc/assets/prj_soa/actions/deploy"
}, - "attributes": {
- "action": "deploy",
- "pre_reqs": [ ],
- "full_path": "deploy",
- "step_name": "deploy",
- "stage_step": false,
- "description": "Deploy the asset",
- "ignore_failure": false,
- "child_execution_strategy": "sequential"
}
}, - {
- "id": "provision",
- "type": "action",
- "links": {
- "self": "/api/projects/opc/assets/prj_soa/actions/provision"
}, - "attributes": {
- "action": "provision",
- "step_name": "provision",
- "full_path": "provision",
- "description": "Provision resource on existing hardware",
- "child_execution_strategy": "sequential",
- "stage_step": true,
- "ignore_failure": false,
- "pre_reqs": [ ]
}
}
]
}Shows the step tree of one of the asset's actions. The action can be identified by its action name or its step_name.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| id required | string Example: deploy action name or step name |
{- "data": {
- "id": "deploy",
- "type": "action",
- "links": {
- "self": "/api/projects/opc/assets/prj_soa/actions/deploy"
}, - "attributes": {
- "action": "deploy",
- "children": [
- {
- "action": "deploy:configure",
- "children": [ ],
- "pre_reqs": [ ],
- "full_path": "deploy/configure",
- "step_name": "configure",
- "stage_step": false,
- "description": "Configure the asset",
- "ignore_failure": false,
- "reload_actions": false,
- "mintmodel_placeholder": false
}
], - "pre_reqs": [ ],
- "full_path": "deploy",
- "step_name": "deploy",
- "stage_step": false,
- "description": "Deploy the asset",
- "ignore_failure": false,
- "child_execution_strategy": "sequential"
}
}
}Templates provide the available actions and a base set of repository properties that will be used to configure the asset.
Create a template.
| project_code required | string Example: opc project code |
required | object |
{- "data": {
- "attributes": {
- "code": "soa",
- "name": "Oracle SOA template",
- "template_type": "asset",
- "description": "Oracle SOA Suite 12c (12.2.1.4.0)",
- "git_remote_name": "github"
}
}
}{- "data": {
- "id": "01a09f76-bc76-7be6-ad21-1ea7d1da73cc",
- "type": "template",
- "attributes": {
- "code": "miibd",
- "name": "augusta",
- "description": "Esse earum a eum.",
- "archived": false,
- "disabled": false,
- "template_type": "asset",
- "created_at": "2026-09-14T10:29:13.974090Z",
- "updated_at": "2026-09-14T10:29:13.974090Z"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-bc7b-75bc-94c9-90cb3d3f0656",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-bc7b-75bc-94c9-90cb3d3f0656"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-bc85-75ae-8fd6-ef9332b873f0",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-bc85-75ae-8fd6-ef9332b873f0"
}
}, - "git_remote": {
- "data": {
- "id": "01a09f76-bc42-7ebd-a443-09814e9ec188",
- "type": "git_remote"
}
}, - "template_versions": {
- "data": [ ]
}, - "nodes": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-bc31-7d11-b5c5-a12cfa081d3a",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-bc76-7be6-ad21-1ea7d1da73cc",
- "template_versions": "/api/projects/opc/templates/01a09f76-bc76-7be6-ad21-1ea7d1da73cc/versions",
- "project": "/api/projects/opc"
}
}
}Lists all templates for a project.
| project_code required | string Example: opc project code |
| filter[<query/sort filter>]= | |
| exclude_archived_nodes | boolean Example: exclude_archived_nodes=true when true, excludes archived nodes from each template's nodes relationship |
{- "data": [
- {
- "id": "01a09f76-bee5-7950-82bb-76d9f27a3c29",
- "type": "template",
- "attributes": {
- "code": "soa",
- "name": "Oracle SOA template",
- "description": "Oracle SOA Suite 12c (12.2.1.4.0)",
- "archived": false,
- "disabled": false,
- "template_type": "asset",
- "created_at": "2026-09-14T10:29:14.597078Z",
- "updated_at": "2026-09-14T10:29:14.597078Z"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-beea-7668-8bfe-fd79062b7da0",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-beea-7668-8bfe-fd79062b7da0"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-bef3-7a62-ab7b-4d774bea5899",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-bef3-7a62-ab7b-4d774bea5899"
}
}, - "git_remote": {
- "data": {
- "id": "01a09f76-beda-7c83-ad71-3da2baff5ab2",
- "type": "git_remote"
}
}, - "template_versions": {
- "data": [ ]
}, - "nodes": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-bec6-76ab-b739-b3fa3c929915",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-bee5-7950-82bb-76d9f27a3c29",
- "template_versions": "/api/projects/opc/templates/01a09f76-bee5-7950-82bb-76d9f27a3c29/versions",
- "project": "/api/projects/opc"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Shows a project template.
| project_code required | string Example: opc project code |
| template_id required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
| exclude_archived_nodes | boolean Example: exclude_archived_nodes=true when true, excludes archived nodes from each template's nodes relationship |
{- "data": {
- "id": "01a09f76-c00b-7c9f-b901-68d473ab169f",
- "type": "template",
- "attributes": {
- "code": "soa",
- "name": "Oracle SOA template",
- "description": "Oracle SOA Suite 12c (12.2.1.4.0)",
- "archived": false,
- "disabled": false,
- "template_type": "asset",
- "created_at": "2026-09-14T10:29:14.891342Z",
- "updated_at": "2026-09-14T10:29:14.891342Z"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-c00f-7d37-b8fb-2ee34b29666e",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-c00f-7d37-b8fb-2ee34b29666e"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-c017-7525-9900-c826753e6e46",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-c017-7525-9900-c826753e6e46"
}
}, - "git_remote": {
- "data": {
- "id": "01a09f76-c001-7ea7-8822-57babf48156c",
- "type": "git_remote"
}
}, - "template_versions": {
- "data": [ ]
}, - "nodes": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-bff1-765e-92ac-d321356116ae",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-c00b-7c9f-b901-68d473ab169f",
- "template_versions": "/api/projects/opc/templates/01a09f76-c00b-7c9f-b901-68d473ab169f/versions",
- "project": "/api/projects/opc"
}
}, - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Archives/unarchives a template.
| project_code required | string Example: opc project code |
| id_to_archive required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
required | object |
{- "data": {
- "attributes": {
- "archived": true
}
}
}{- "data": {
- "id": "01a09f76-c11d-7d73-92f0-79c71e26af73",
- "type": "template",
- "attributes": {
- "code": "soa",
- "name": "Oracle SOA template",
- "description": "Oracle SOA Suite 12c (12.2.1.4.0)",
- "archived": true,
- "disabled": false,
- "template_type": "asset",
- "created_at": "2026-09-14T10:29:15.165424Z",
- "updated_at": "2026-09-14T10:29:15.201658Z"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-c121-7caf-a74f-5249655de19d",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-c121-7caf-a74f-5249655de19d"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-c12a-7c33-8496-daa2abebd524",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-c12a-7c33-8496-daa2abebd524"
}
}, - "git_remote": {
- "data": {
- "id": "01a09f76-c113-7c5e-b4a0-4b31b5fb133e",
- "type": "git_remote"
}
}, - "template_versions": {
- "data": [ ]
}, - "nodes": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-c103-75bd-86ee-536c2a5bd1f5",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-c11d-7d73-92f0-79c71e26af73",
- "template_versions": "/api/projects/opc/templates/01a09f76-c11d-7d73-92f0-79c71e26af73/versions",
- "project": "/api/projects/opc"
}
}
}Update a templates details.
| project_code required | string Example: opc project code |
| id_to_update required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
required | object |
{- "data": {
- "attributes": {
- "name": "Oracle SOA template",
- "description": "Oracle SOA Suite 12c (12.2.1.4.0)",
- "git_remote_name": "github",
- "disabled": false
}
}
}{- "data": {
- "id": "01a09f76-c2e3-73b1-8c6d-b71a004d36ee",
- "type": "template",
- "attributes": {
- "code": "soa",
- "name": "updated_name",
- "description": "updated_description",
- "archived": false,
- "disabled": false,
- "template_type": "asset",
- "created_at": "2026-09-14T10:29:15.618797Z",
- "updated_at": "2026-09-14T10:29:15.655982Z"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-c2e7-7469-aa8a-22152680457b",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-c2e7-7469-aa8a-22152680457b"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-c2f1-7b1e-8246-7f04faf56c20",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-c2f1-7b1e-8246-7f04faf56c20"
}
}, - "git_remote": {
- "data": {
- "id": "01a09f76-c2d9-74ed-80f4-ecabb01ff2d2",
- "type": "git_remote"
}
}, - "template_versions": {
- "data": [ ]
}, - "nodes": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-c2c7-7bd6-ae20-3b4ec7e1ded3",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-c2e3-73b1-8c6d-b71a004d36ee",
- "template_versions": "/api/projects/opc/templates/01a09f76-c2e3-73b1-8c6d-b71a004d36ee/versions",
- "project": "/api/projects/opc"
}
}
}Deletes a project template. A template cannot be deleted while it is assigned to a node or referenced by a change.
| project_code required | string Example: opc project code |
| id_to_delete required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
Lists all versions of a specific template.
| project_code required | string Example: opc project code |
| template_id required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[version_cont]=1.0 API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f76-c9d6-74c1-a05f-f52e89900ab4",
- "type": "template_version",
- "attributes": {
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "state": "ready",
- "created_by": "rusty_farrell-2305",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:29:17.397743Z",
- "updated_at": "2026-09-14T10:29:17.397743Z",
- "has_mintmodel": true,
- "git_rev": "digital",
- "commit_sha": "d038a213ea3c5e9ab72672533527b7fb36927afb",
- "git_remote_name": "github"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-c9d9-7c95-8a5a-5ff91c1f1205",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-c9d9-7c95-8a5a-5ff91c1f1205"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-c9e1-7750-99c2-e9caf0353fcf",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-c9e1-7750-99c2-e9caf0353fcf"
}
}, - "project": {
- "data": {
- "id": "01a09f76-c9a0-71cf-9c9b-1a4c97c3427a",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-c9ba-705a-ac16-cacf538a5e8c",
- "type": "template"
}
}, - "pending_commit": {
- "data": null
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-c9ba-705a-ac16-cacf538a5e8c/versions/2023_Q4_2",
- "template": "/api/projects/opc/templates/01a09f76-c9ba-705a-ac16-cacf538a5e8c"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}
}
}Create or update a template version.
| project_code required | string Example: opc project code |
| template_id required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
| version required | string Example: 2023_Q4_2 template version |
required | object |
object |
{- "data": {
- "attributes": {
- "description": "Added additional configuration options",
- "git_rev": "optical",
- "archived": "false",
- "locked": "false",
- "float_git_rev": "false"
}
}, - "meta": {
- "ignore_in_use": false,
- "fetch_revision": false
}
}{- "data": {
- "id": "01a09f76-cba2-79b1-8251-d8638e9aec8c",
- "type": "template_version",
- "attributes": {
- "version": "2023_Q4_2",
- "description": "Deserunt maiores quam totam quaerat qui velit tempore recusandae asperiores minus",
- "state": "initializing",
- "created_by": "logged_in_user",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:29:17.857782Z",
- "updated_at": "2026-09-14T10:29:17.857782Z",
- "has_mintmodel": false,
- "git_rev": "optical",
- "commit_sha": null,
- "git_remote_name": "github"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-cbaa-79d1-9e1a-5ee6e2619904",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-cbaa-79d1-9e1a-5ee6e2619904"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-cbb7-7fed-9027-928f85eb3a6b",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-cbb7-7fed-9027-928f85eb3a6b"
}
}, - "project": {
- "data": {
- "id": "01a09f76-caef-7853-adad-8e901eb85c05",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-cb0b-7503-8265-8eb52725b4f0",
- "type": "template"
}
}, - "pending_commit": {
- "data": {
- "id": "01a09f76-cb9a-7540-9bc9-887731fb30ed",
- "type": "commit"
}
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-cb0b-7503-8265-8eb52725b4f0/versions/2023_Q4_2",
- "template": "/api/projects/opc/templates/01a09f76-cb0b-7503-8265-8eb52725b4f0"
}
}
}Shows a specific template version.
| project_code required | string Example: opc project code |
| template_id required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
| version required | string Example: 2023_Q4_2 template version |
{- "data": {
- "id": "01a09f76-d025-7a2f-95ab-9d77c4b7991e",
- "type": "template_version",
- "attributes": {
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "state": "ready",
- "created_by": "angle-2333",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:29:19.013183Z",
- "updated_at": "2026-09-14T10:29:19.013183Z",
- "has_mintmodel": true,
- "git_rev": "primary",
- "commit_sha": "faccac513892e6ebe2d8b9bf0f950ddfbb3b364d",
- "git_remote_name": "github"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-d029-7717-a494-a6df6da663a3",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-d029-7717-a494-a6df6da663a3"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-d031-7790-b6ec-3585631d3bdd",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-d031-7790-b6ec-3585631d3bdd"
}
}, - "project": {
- "data": {
- "id": "01a09f76-cfec-7eb3-91c9-dd480970990b",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-d008-7b7d-8d07-e686e528cdc2",
- "type": "template"
}
}, - "pending_commit": {
- "data": null
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-d008-7b7d-8d07-e686e528cdc2/versions/2023_Q4_2",
- "template": "/api/projects/opc/templates/01a09f76-d008-7b7d-8d07-e686e528cdc2"
}
}, - "meta": {
- "authorisations": {
- "update": true
}
}
}Assign assets to the template version.
| project_code required | string Example: opc project code |
| template_id required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
| version required | string Example: 2023_Q4_2 template version |
required | object |
{- "data": {
- "attributes": {
- "asset_paths": [
- "/projects/opc/assets/prj_soa"
]
}
}
}{- "data": {
- "id": "01a09f76-d18a-79e4-953d-6c094895c3c9",
- "type": "template_version",
- "attributes": {
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "state": "ready",
- "created_by": "edda-2341",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:29:19.370095Z",
- "updated_at": "2026-09-14T10:29:19.370095Z",
- "has_mintmodel": true,
- "git_rev": "optical",
- "commit_sha": "4502c69747cd0112ead05575e802016edac466c7",
- "git_remote_name": "github"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-d18e-798b-aaf4-555c2d49ad62",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-d18e-798b-aaf4-555c2d49ad62"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-d196-7ef1-b922-5c30b698fc4a",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-d196-7ef1-b922-5c30b698fc4a"
}
}, - "project": {
- "data": {
- "id": "01a09f76-d14d-75b8-9bc1-70d5ef451003",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-d16b-7d68-883b-b97a4d02206d",
- "type": "template"
}
}, - "pending_commit": {
- "data": null
}
}, - "links": {
- "self": "/api/projects/opc/templates/01a09f76-d16b-7d68-883b-b97a4d02206d/versions/2023_Q4_2",
- "template": "/api/projects/opc/templates/01a09f76-d16b-7d68-883b-b97a4d02206d"
}
}
}Cancel an in-progress Git SHA refresh for the template version. When the version was previously resolved it is returned to that commit, otherwise the version is left broken.
| project_code required | string Example: opc project code |
| template_id required | string Example: 01a09f75-1fe9-72cb-809d-a3c3bd840174 template id |
| version required | string Example: 2023_Q4_2 template version |
{- "data": {
- "id": "01a09f76-d5c9-7935-b786-e356cc7c0f94",
- "type": "template_version",
- "attributes": {
- "version": "ft5he",
- "description": "Et non veritatis nostrum quia ut aut labore blanditiis qui",
- "state": "ready",
- "created_by": "shery-2360",
- "archived": false,
- "initialization_error": null,
- "locked": false,
- "float_git_rev": false,
- "float_refresh_error": null,
- "created_at": "2026-09-14T10:29:20.456661Z",
- "updated_at": "2026-09-14T10:29:20.511339Z",
- "has_mintmodel": false,
- "git_rev": "haptic",
- "commit_sha": "bb721bef046829bd88c2f7399d84bdb0f55c8c93",
- "git_remote_name": "caryn"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-d5cf-7bb0-a1c7-fd2ee826c0b0",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-d5cf-7bb0-a1c7-fd2ee826c0b0"
}
}, - "settings": {
- "data": {
- "id": "01a09f76-d5dd-7157-b959-1883ea1ea1c4",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-d5dd-7157-b959-1883ea1ea1c4"
}
}, - "project": {
- "data": {
- "id": "01a09f76-d54f-7404-8a22-9d8f6ba53c41",
- "type": "project"
}
}, - "template": {
- "data": {
- "id": "01a09f76-d56e-7731-809d-2c0c96bdf3b8",
- "type": "template"
}
}, - "pending_commit": {
- "data": null
}
}, - "links": {
- "self": "/api/projects/bagtk/templates/01a09f76-d56e-7731-809d-2c0c96bdf3b8/versions/ft5he",
- "template": "/api/projects/bagtk/templates/01a09f76-d56e-7731-809d-2c0c96bdf3b8"
}
}
}Endpoints to interact with git remotes.
Create a project Git remote.
For HTTP(S) remotes provide the user and password credentials. For SSH remotes provide the ssh_key_data private key and, if the key is encrypted, its passphrase. Supplying password for an SSH remote (or passphrase for an HTTP(S) remote) is rejected.
When meta.add_known_host is true and the remote uses an SSH URL, OpsChain scans the host with ssh-keyscan and stores the fetched host key in the global known_hosts setting before validating the connection, so the same request - and all future fetches - trust the host. On success the response meta.known_hosts_added lists the registered host key lines. This requires superuser access (a non-superuser receives a 403). The scanned key is trusted on first use (TOFU); verify the reported host key out of band.
| project_code required | string Example: opc project code |
required | object |
object |
{- "data": {
- "attributes": {
- "name": "github",
- "user": "limepoint",
- "password": "password",
- "passphrase": "ssh-key-passphrase",
- "ssh_key_data": "-----BEGIN OPENSSH PRIVATE KEY-----\n...\n-----END OPENSSH PRIVATE KEY-----\n",
- "periodic_fetch_interval": 900
}
}, - "meta": {
- "add_known_host": false
}
}{- "data": {
- "id": "01a09f76-0d19-79a7-b074-80277e47ccf3",
- "type": "git_remote",
- "attributes": {
- "name": "github",
- "public_url": null,
- "archived": false,
- "disabled": false,
- "periodic_fetch_interval": null,
- "created_at": "2026-09-14T10:28:29.080838Z",
- "updated_at": "2026-09-14T10:28:29.080838Z",
- "user": null,
- "ssh_key_data": null,
- "password": null,
- "passphrase": null
}, - "relationships": {
- "templates": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-0cda-7e2f-b49a-192276ddc6f8",
- "type": "project"
}
}
}, - "links": {
- "project": "/api/projects/opc",
- "templates": "/api/projects/opc/templates?filter%5Bgit_remote_name_eq%5D=github",
- "self": "/api/projects/opc/git_remotes/01a09f76-0d19-79a7-b074-80277e47ccf3"
}, - "meta": null
}
}Lists all Git remotes for a project.
| project_code required | string Example: opc project code |
| filter[<query/sort filter>]= |
{- "data": [
- {
- "id": "01a09f76-0fff-7ed2-b333-4d3dae275960",
- "type": "git_remote",
- "attributes": {
- "name": "github",
- "archived": false,
- "disabled": false,
- "periodic_fetch_interval": 900,
- "created_at": "2026-09-14T10:28:29.823117Z",
- "updated_at": "2026-09-14T10:28:29.823117Z",
- "user": "{{hidden}}",
- "ssh_key_data": null,
- "password": "{{hidden}}",
- "passphrase": null
}, - "relationships": {
- "templates": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-0fe8-7bff-8f2c-bea62e7eea5d",
- "type": "project"
}
}
}, - "links": {
- "project": "/api/projects/opc",
- "templates": "/api/projects/opc/templates?filter%5Bgit_remote_name_eq%5D=github",
- "self": "/api/projects/opc/git_remotes/01a09f76-0fff-7ed2-b333-4d3dae275960"
}, - "meta": null
}, - {
- "id": "01a09f76-1003-7705-9276-5fe54aadfbb4",
- "type": "git_remote",
- "attributes": {
- "name": "github_ssh",
- "url": "ssh://github.com/LimePoint/opschain-getting-started.git",
- "public_url": null,
- "archived": false,
- "disabled": false,
- "periodic_fetch_interval": null,
- "created_at": "2026-09-14T10:28:29.826787Z",
- "updated_at": "2026-09-14T10:28:29.826787Z",
- "user": "{{hidden}}",
- "ssh_key_data": "{{hidden}}",
- "password": null,
- "passphrase": "{{hidden}}"
}, - "relationships": {
- "templates": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-0fe8-7bff-8f2c-bea62e7eea5d",
- "type": "project"
}
}
}, - "links": {
- "project": "/api/projects/opc",
- "templates": "/api/projects/opc/templates?filter%5Bgit_remote_name_eq%5D=github_ssh",
- "self": "/api/projects/opc/git_remotes/01a09f76-1003-7705-9276-5fe54aadfbb4"
}, - "meta": null
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}, - "default_periodic_fetch_interval": 900
}
}Shows a project Git remote.
Note: Git remote credentials are obfuscated for security reasons.
| project_code required | string Example: opc project code |
| remote_id required | string Example: 01a09f75-1fb7-77c7-8e2e-4d82a51e1051 remote id |
{- "data": {
- "id": "01a09f76-1195-7101-9596-04c3e56d1157",
- "type": "git_remote",
- "attributes": {
- "name": "github",
- "archived": false,
- "disabled": false,
- "periodic_fetch_interval": 900,
- "created_at": "2026-09-14T10:28:30.228273Z",
- "updated_at": "2026-09-14T10:28:30.228273Z",
- "user": "{{hidden}}",
- "ssh_key_data": null,
- "password": "{{hidden}}",
- "passphrase": null
}, - "relationships": {
- "templates": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-117d-7a21-8dc2-1531944691c6",
- "type": "project"
}
}
}, - "links": {
- "project": "/api/projects/opc",
- "templates": "/api/projects/opc/templates?filter%5Bgit_remote_name_eq%5D=github",
- "self": "/api/projects/opc/git_remotes/01a09f76-1195-7101-9596-04c3e56d1157"
}, - "meta": null
}
}Archives/unarchives a project Git remote.
| project_code required | string Example: opc project code |
| id_to_archive required | string Example: 01a09f75-1fb7-77c7-8e2e-4d82a51e1051 remote id |
required | object |
{- "data": {
- "attributes": {
- "archived": true
}
}
}{- "data": {
- "id": "01a09f76-1309-7fcd-85aa-dd68a7473bfd",
- "type": "git_remote",
- "attributes": {
- "name": "github",
- "archived": true,
- "disabled": false,
- "periodic_fetch_interval": 900,
- "created_at": "2026-09-14T10:28:30.601342Z",
- "updated_at": "2026-09-14T10:28:30.620594Z",
- "user": "{{hidden}}",
- "ssh_key_data": null,
- "password": "{{hidden}}",
- "passphrase": null
}, - "relationships": {
- "templates": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-12f4-7d79-85cc-a28009ff33fe",
- "type": "project"
}
}
}, - "links": {
- "project": "/api/projects/opc",
- "templates": "/api/projects/opc/templates?filter%5Bgit_remote_name_eq%5D=github",
- "self": "/api/projects/opc/git_remotes/01a09f76-1309-7fcd-85aa-dd68a7473bfd"
}, - "meta": null
}
}Update the URL and/or credentials of a project Git remote. The remote must be active (not archived), and OpsChain verifies the remote is reachable with the updated values before saving. The URL may only be edited to change its credentials, scheme, or port - the host and path cannot change (delete and recreate the remote to point at a different repository).
For HTTP(S) remotes provide the user and password credentials. For SSH remotes provide the ssh_key_data private key and, if the key is encrypted, its passphrase. Supplying password for an SSH remote (or passphrase for an HTTP(S) remote) is rejected. Changing a remote's protocol clears the existing credentials - supply the new protocol's credentials in the same request.
When meta.add_known_host is true and the request changes the URL to an SSH URL, OpsChain scans the new host with ssh-keyscan and stores the fetched host key in the global known_hosts setting before validating the connection. On success the response meta.known_hosts_added lists the registered host key lines. This requires superuser access (a non-superuser receives a 403). The scanned key is trusted on first use (TOFU); verify the reported host key out of band.
| project_code required | string Example: opc project code |
| id_to_update required | string Example: 01a09f75-1fb7-77c7-8e2e-4d82a51e1051 remote id |
required | object |
object |
{- "data": {
- "attributes": {
- "user": "limepoint",
- "password": "password",
- "passphrase": "ssh-key-passphrase",
- "ssh_key_data": "-----BEGIN OPENSSH PRIVATE KEY-----\n...\n-----END OPENSSH PRIVATE KEY-----\n",
- "periodic_fetch_interval": 900
}
}, - "meta": {
- "add_known_host": false
}
}{- "data": {
- "id": "01a09f76-14a7-752f-ada4-862340797a7d",
- "type": "git_remote",
- "attributes": {
- "name": "github",
- "archived": false,
- "disabled": false,
- "periodic_fetch_interval": 900,
- "created_at": "2026-09-14T10:28:31.014758Z",
- "updated_at": "2026-09-14T10:28:31.028948Z",
- "user": "{{hidden}}",
- "ssh_key_data": null,
- "password": "{{hidden}}",
- "passphrase": null
}, - "relationships": {
- "templates": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-1495-708f-aa9d-0dddb00d506f",
- "type": "project"
}
}
}, - "links": {
- "project": "/api/projects/opc",
- "templates": "/api/projects/opc/templates?filter%5Bgit_remote_name_eq%5D=github",
- "self": "/api/projects/opc/git_remotes/01a09f76-14a7-752f-ada4-862340797a7d"
}, - "meta": null
}
}Deletes a project Git remote if it has no changes, otherwise it removes the credentials.
| project_code required | string Example: opc project code |
| id_to_delete required | string Example: 01a09f75-1fb7-77c7-8e2e-4d82a51e1051 remote id |
{- "data": {
- "id": "01a09f76-18c4-7287-acff-0d7939cc7ccb",
- "type": "git_remote",
- "attributes": {
- "name": "github",
- "archived": true,
- "disabled": false,
- "periodic_fetch_interval": 900,
- "created_at": "2026-09-14T10:28:32.066744Z",
- "updated_at": "2026-09-14T10:28:32.324443Z",
- "user": null,
- "ssh_key_data": null,
- "password": null,
- "passphrase": null
}, - "relationships": {
- "templates": {
- "data": [ ]
}, - "project": {
- "data": {
- "id": "01a09f76-18a0-75f0-b98f-eee5b2a7ca01",
- "type": "project"
}
}
}, - "links": {
- "project": "/api/projects/opc",
- "templates": "/api/projects/opc/templates?filter%5Bgit_remote_name_eq%5D=github",
- "self": "/api/projects/opc/git_remotes/01a09f76-18c4-7287-acff-0d7939cc7ccb"
}, - "meta": {
- "credentials_removed": true,
- "messages": [
- "This Git remote cannot be deleted as it is used by a change, its credentials have been removed."
]
}
}
}Endpoints to interact with bookmarks.
Notes:
/<path/to/bookmark/owner>/bookmarks path. The example endpoints in this section reflect bookmarks owned
by a project asset.Create a bookmark for a specific project, environment or asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
required | object |
{- "data": {
- "attributes": {
- "description": "SOA administration console"
}
}
}{- "data": {
- "id": "01a09f75-b310-7b6d-b3fd-39c630370269",
- "type": "bookmark",
- "attributes": {
- "description": "Sit et corrupti et. 1",
- "created_by": "logged_in_user",
- "created_at": "2026-09-14T10:28:06.032146Z",
- "updated_at": "2026-09-14T10:28:06.032146Z"
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f75-b270-75cb-8d15-3adc35d1b214",
- "type": "asset"
}
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/bookmarks/01a09f75-b310-7b6d-b3fd-39c630370269",
- "parent": "/api/projects/opc/assets/prj_soa"
}
}
}Lists all bookmarks for a specific project, environment or asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[description_cont]=server API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f75-b6a8-7d57-a4fb-d9547403823e",
- "type": "bookmark",
- "attributes": {
- "description": "SOA administration console",
- "created_by": "rob_haley-888",
- "created_at": "2026-09-14T10:28:06.952417Z",
- "updated_at": "2026-09-14T10:28:06.952417Z"
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f75-b686-74f0-9092-379a765e903b",
- "type": "asset"
}
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/bookmarks/01a09f75-b6a8-7d57-a4fb-d9547403823e",
- "parent": "/api/projects/opc/assets/prj_soa"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Show a bookmark for a specific project, environment or asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| bookmark_id required | string Example: 01a09f75-2202-7841-b87e-d2b013c874a2 bookmark id |
{- "data": {
- "id": "01a09f75-b7fb-7b25-bcfd-661e599715b0",
- "type": "bookmark",
- "attributes": {
- "description": "SOA administration console",
- "created_by": "kaleigh.mertz-895",
- "created_at": "2026-09-14T10:28:07.291218Z",
- "updated_at": "2026-09-14T10:28:07.291218Z"
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f75-b7d0-7cbc-94f8-e67f8a2318d3",
- "type": "asset"
}
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/bookmarks/01a09f75-b7fb-7b25-bcfd-661e599715b0",
- "parent": "/api/projects/opc/assets/prj_soa"
}
}
}Update a bookmark for a specific project, environment or asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| bookmark_id required | string Example: 01a09f75-2202-7841-b87e-d2b013c874a2 bookmark id |
required | object |
{- "data": {
- "attributes": {
- "description": "Updated server console path"
}
}
}{- "data": {
- "id": "01a09f75-badd-7b61-b4ea-9ed41453de78",
- "type": "bookmark",
- "attributes": {
- "description": "Updated server console path",
- "created_by": "dalton.schuppe-909",
- "created_at": "2026-09-14T10:28:08.028106Z",
- "updated_at": "2026-09-14T10:28:08.067490Z"
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f75-ba8e-7b23-bc46-fe32d4acda89",
- "type": "asset"
}
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/bookmarks/01a09f75-badd-7b61-b4ea-9ed41453de78",
- "parent": "/api/projects/opc/assets/prj_soa"
}
}
}Delete a bookmark for a specific project, environment or asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| bookmark_id required | string Example: 01a09f75-2202-7841-b87e-d2b013c874a2 bookmark id |
Endpoints to query and generate MintModels for assets.
Notes:
parent_mintmodel_history link in the API response to access the
asset's MintModel history.Lists the asset's MintModel history.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[created_at_gteq]=2026-01-01 |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of MintModel history records returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f76-1e37-7e99-82e6-aaf18d6e0148",
- "type": "mintmodel_history",
- "attributes": {
- "created_at": "2026-09-14T10:28:33.463396Z",
- "updated_at": "2026-09-14T10:28:33.463396Z"
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f76-1d85-7dd0-b4e5-8972390a80c1",
- "type": "project"
}, - {
- "id": "01a09f76-1dfa-79d7-bc3b-fe79e369c652",
- "type": "asset"
}
]
}, - "mintmodel": {
- "data": {
- "id": "01a09f76-1e36-764c-a55f-67e2c71acb4f",
- "type": "mintmodel"
}, - "links": {
- "related": "/api/projects/opc/assets/prj_soa/mintmodels/01a09f76-1e36-764c-a55f-67e2c71acb4f"
}
}, - "opschain_changes": {
- "data": [ ]
}, - "template_version": {
- "data": {
- "id": "01a09f76-1dcf-7f48-b0b0-dae8e3d24521",
- "type": "template_version"
}
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/mintmodel_history/01a09f76-1e37-7e99-82e6-aaf18d6e0148"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Shows an asset's MintModel history record.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| id required | string Example: 01a09f75-357f-763c-8018-d0094fc9795a MintModel history id |
{- "data": {
- "id": "01a09f76-1f66-7b85-8a2b-9b0133428929",
- "type": "mintmodel_history",
- "attributes": {
- "created_at": "2026-09-14T10:28:33.766204Z",
- "updated_at": "2026-09-14T10:28:33.766204Z"
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f76-1ec5-739f-a174-578dbf3cef0b",
- "type": "project"
}, - {
- "id": "01a09f76-1f30-7357-b1e8-926f3b30656a",
- "type": "asset"
}
]
}, - "mintmodel": {
- "data": {
- "id": "01a09f76-1f62-77f4-b9e1-41b0af15db6b",
- "type": "mintmodel"
}, - "links": {
- "related": "/api/projects/opc/assets/prj_soa/mintmodels/01a09f76-1f62-77f4-b9e1-41b0af15db6b"
}
}, - "opschain_changes": {
- "data": [ ]
}, - "template_version": {
- "data": {
- "id": "01a09f76-1f04-7144-966f-9da8a00a455c",
- "type": "template_version"
}
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/mintmodel_history/01a09f76-1f66-7b85-8a2b-9b0133428929"
}
}, - "included": [
- {
- "id": "01a09f76-1f62-77f4-b9e1-41b0af15db6b",
- "type": "mintmodel",
- "attributes": {
- "data": {
- "complex": {
- "json": {
- "mintmodel": "data"
}
}
}, - "sha256": "77526a9ef926aee8c98f90ec845f5bd12f58cd7afb29fb2db5ef8f95deec44f8",
- "created_at": "2026-09-14T10:28:33.762020Z",
- "updated_at": "2026-09-14T10:28:33.762020Z",
- "render_logs": {
- "mintmodel_api": [
- "MintPress renderer output"
]
}, - "phase_output": { }
}, - "relationships": {
- "mintmodel_history": {
- "data": [
- {
- "id": "01a09f76-1f66-7b85-8a2b-9b0133428929",
- "type": "mintmodel_history"
}, - {
- "id": "01a09f76-1f64-733d-93bb-0b6f1d591bad",
- "type": "mintmodel_history"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/mintmodels/01a09f76-1f62-77f4-b9e1-41b0af15db6b",
- "parent_mintmodel_history": "/api/projects/opc/assets/prj_soa/mintmodel_history"
}
}
]
}List all MintModels for an asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[created_at_gteq]=2026-01-01 |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of MintModels returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f76-204c-7e71-b4ac-fe8116e41ac3",
- "type": "mintmodel",
- "attributes": {
- "data": {
- "complex": {
- "json": {
- "mintmodel": "data"
}
}
}, - "sha256": "77526a9ef926aee8c98f90ec845f5bd12f58cd7afb29fb2db5ef8f95deec44f8",
- "created_at": "2026-09-14T10:28:33.996321Z",
- "updated_at": "2026-09-14T10:28:33.996321Z",
- "render_logs": {
- "mintmodel_api": [
- "MintPress renderer output"
]
}, - "phase_output": { }
}, - "relationships": {
- "mintmodel_history": {
- "data": [
- {
- "id": "01a09f76-2101-7cb2-a062-4129c1d614c3",
- "type": "mintmodel_history"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/mintmodels/01a09f76-204c-7e71-b4ac-fe8116e41ac3",
- "parent_mintmodel_history": "/api/projects/opc/assets/prj_soa/mintmodel_history"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Generate a MintModel of the differences between two existing MintModels.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| old_mintmodel_id required | string Example: 01a09f75-324b-7e2d-9843-4905061ca8f0 old MintModel id |
| new_mintmodel_id required | string Example: 01a09f75-3258-713b-b941-08be10bba375 new MintModel id |
{- "data": {
- "id": "MintModelDiff",
- "type": "diff_mintmodel",
- "attributes": {
- "diff_mintmodel": {
- "id": "01a09f76-223c-7b11-a67a-33436206feb3",
- "data": {
- "internalVariables": {
- "environmentName": "d1",
- "assetCode": "obpodi",
- "stageRootDir": "/oracle/stage",
- "autoBaseline": "true",
- "projectUri": "D1OBPODI2025MAY301254"
}, - "projectName": "d1_obpodi2025May30_1254",
- "site": {
- "hostList": [
- {
- "id": "custwprd1odi01",
- "address": "custwprd1odi01.limepoint.engineering",
- "attributes": {
- "basename": "custwprd1odi01",
- "user": "oracle",
- "password": "unused-key-auth",
- "targetTempDir": "/oracle/app/binaries/obpodi/tmp"
}, - "targetAttributes": {
- "oracle.install.username": "oinstall",
- "target.tmp.dir": "/oracle/app/binaries/obpodi/tmp"
}
}, - {
- "id": "db_server",
- "address": "custwprd1db.limepoint.engineering",
- "attributes": {
- "scaleout": "false",
- "basename": "custwprd1db",
- "user": "oracle",
- "password": "unused-key-auth",
- "targetTempDir": "/oracle/app/binaries/obpodi/tmp"
}, - "targetAttributes": {
- "oracle.install.username": "oinstall",
- "target.tmp.dir": "/oracle/app/binaries/obpodi/tmp"
}
}, - {
- "id": "custwprd1odi02",
- "address": "custwprd1odi02.limepoint.engineering",
- "attributes": {
- "basename": "custwprd1odi02",
- "user": "oracle",
- "password": "unused-key-auth",
- "targetTempDir": "/oracle/app/binaries/obpodi/tmp"
}, - "targetAttributes": {
- "oracle.install.username": "oinstall",
- "target.tmp.dir": "/oracle/app/binaries/obpodi/tmp"
}
}
], - "installationList": [
- {
- "name": "jdk",
- "product": "OracleJava",
- "version": "1.8.0_341",
- "installPath": "/oracle/app/binaries/obpodi/java",
- "softwareStage": "/oracle/stage/jdk/jdk-8u341-linux-x64.tar.gz",
- "attributes": {
- "newworld": "true",
- "oracleInventoryLoc": "/oracle/app/binaries/obpodi/oraInventory",
- "middlewareHome": "/oracle/app/binaries/obpodi/fmw",
- "oracleInstallGroup": "oinstall",
- "OracleJava": {
- "java_home": "/oracle/app/binaries/obpodi/java",
- "owner": "oracle",
- "group": "oinstall"
}
}, - "targetAttributes": {
- "patch.java.params": "-Xms3g -Xmx3g"
}, - "patchset": [ ]
}, - {
- "name": "fmwinfra",
- "product": "OracleFMWInfrastructure",
- "version": "12.2.1.4",
- "softwareStage": "/oracle/stage/fmwinfra/12.2.1.4/fmw_12.2.1.4.0_infrastructure.jar",
- "installPath": "/oracle/app/binaries/obpodi/fmw",
- "dependsonList": [
- "jdk"
], - "patchset": [
- {
- "targetOracleHome": "/oracle/app/binaries/obpodi/fmw/odi",
- "softwareStage": "/oracle/stage/cumulative_patches",
- "name": "3774133",
- "aru": "37741315",
- "attributes": {
- "required_opatch_version": "13.9.4.2.13",
- "opatch_autoupdate_file": "/oracle/stage/OPatch/13.9.4.2.10/p28186730_1394219_Generic.zip",
- "action": "rollback"
}
}
], - "attributes": {
- "newworld": "true",
- "middlewareHome": "/oracle/app/binaries/obpodi/fmw",
- "oracleInventoryLoc": "/oracle/app/binaries/obpodi/oraInventory",
- "oracleInstallGroup": "oinstall",
- "OracleFMWInfrastructure": {
- "inventory_location": "/oracle/app/binaries/obpodi/oraInventory",
- "fmw_home": "/oracle/app/binaries/obpodi/fmw",
- "owner": "oracle",
- "group": "oinstall"
}
}, - "targetAttributes": {
- "patch.java.params": "-Xms3g -Xmx3g"
}
}, - {
- "name": "oracleclient",
- "product": "OracleDatabaseClient",
- "version": "12.2.0.1",
- "installPath": "/oracle/app/binaries/obpodi/dbclient",
- "softwareStage": "/oracle/stage/rdbms/12.2.0.1/client",
- "dependsonList": [
- "jdk"
], - "attributes": {
- "newworld": "true",
- "oracleInventoryLoc": "/oracle/app/binaries/obpodi/oraInventory",
- "middlewareHome": "/oracle/app/binaries/obpodi/fmw",
- "oracleInstallGroup": "oinstall",
- "OracleDatabaseClient": {
- "inventory_location": "/oracle/app/binaries/obpodi/oraInventory",
- "owner": "oracle",
- "group": "oinstall",
- "oracle_home": "/oracle/app/binaries/obpodi/dbclient",
- "oracle_base": "/oracle/app/binaries/obpodi",
- "install_type": "Administrator"
}
}, - "targetAttributes": {
- "patch.java.params": "-Xms3g -Xmx3g"
}, - "patchset": [ ]
}, - {
- "name": "odi",
- "product": "OracleDataIntegrator",
- "version": "12.2.1.4",
- "installPath": "/oracle/app/binaries/obpodi/fmw/odi",
- "softwareStage": "/oracle/stage/odi/12.2.1.4/fmw_12.2.1.4.0_odi.jar",
- "dependsonList": [
- "fmwinfra",
- "oracleclient"
], - "patchset": [
- {
- "targetOracleHome": "/oracle/app/binaries/obpodi/fmw/odi",
- "softwareStage": "/oracle/stage/cumulative_patches",
- "name": "37741316",
- "aru": "37741315",
- "attributes": {
- "required_opatch_version": "13.9.4.2.13",
- "opatch_autoupdate_file": "/oracle/stage/OPatch/13.9.4.2.10/p28186730_1394219_Generic.zip",
- "action": "rollback"
}
}
], - "attributes": {
- "newworld": "true",
- "oracleInventoryLoc": "/oracle/app/binaries/obpodi/oraInventory",
- "middlewareHome": "/oracle/app/binaries/obpodi/fmw",
- "oracleInstallGroup": "oinstall",
- "OracleDataIntegrator": {
- "inventory_location": "/oracle/app/binaries/obpodi/oraInventory",
- "fmw_home": "/oracle/app/binaries/obpodi/fmw",
- "java_home": "/oracle/app/binaries/obpodi/java",
- "database_client_home": "/oracle/app/binaries/obpodi/dbclient",
- "owner": "oracle",
- "group": "oinstall"
}
}, - "targetAttributes": {
- "patch.java.params": "-Xms3g -Xmx3g"
}
}
], - "databaseList": [
- {
- "name": "d1obpodidb",
- "port": "1521",
- "serviceName": "CUSTWPD1_INT_PRIM",
- "hostIdentifier": "db_server",
- "schemaList": [
- {
- "name": "SYS",
- "password": "{AES2}TBg8KMlIiNzASfnaMO9iww=={/IV}ThoJT1+ps+2NtkzPjniGrRKwOu9f0fmuKS2GJPG0/LbU="
}
], - "attributes": {
- "jdbcUrl": "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=custwprd1db.limepoint.engineering)(Port=1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME=CUSTWPD1_INT_PRIM)))",
- "rcu": {
- "datafile.initialsize": "200M",
- "extra.parameters": " -encryptTablespace false"
}
}
}
], - "resourceList": [
- {
- "name": "WeblogicUser_wlsmonitors",
- "type": "User",
- "attributes": {
- "name": "wlsmonitor",
- "password": "{AES2}cSYn1SEsZCScuAK+fj8vVQ=={/IV}T89zXOBEdWngdxqJ9rihn+uy2lgiqJx5J6fGDfPbHsys=",
- "description": "User with Weblogic Monitor Role",
- "groupList": "monitors"
}
}, - {
- "name": "AdminStartupParameter",
- "type": "StartupParameter",
- "attributes": {
- "1": "-Xms1g -Xmx4g",
- "2": "",
- "3": "",
- "4": "-Dweblogic.ProductionModeEnabled=true",
- "5": "-Dappdynamics.agent.tierName=OBP-ADMIN",
- "c1": "-Dweblogic.Stdout=/oracle/app/logs/obpodi/obpodi_domain/%Name%/%Name%.out",
- "c2": "-Dweblogic.Stderr=/oracle/app/logs/obpodi/obpodi_domain/%Name%/%Name%.err",
- "c3": "-Xloggc:/oracle/app/logs/obpodi/obpodi_domain/%Name%/%Name%_gc.out -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=300M -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UnlockCommercialFeatures -XX:+FlightRecorder",
- "c4": "-Djava.security.debug=failure -Djava.net.preferIPv4Stack=true -Doracle.ons.maxconnections=2 -Dweblogic.security.disableNullCipher=true",
- "c5": "-Dweblogic.MaxMessageSize=500000000 -Dweblogic.Chunksize=65536 -Djava.security.egd=file:///dev/urandom",
- "s1": "-Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.2 -Dweblogic.security.SSL.protocolVersion=TLSv1.2",
- "s2": "-Dweblogic.management.disableManagedServerNotifications=true",
- "s3": "-Dweblogic.security.SSL.allowUnencryptedNullCipher=false",
- "s4": "-Dweblogic.security.SSL.enableJSSE=true",
- "s4a": "-Dweblogic.security.SSL.nojce=true -Dweblogic.jdbc.remoteEnabled=true",
- "s5": "-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.rjvm.enableprotocolswitch=true",
- "s6": "-Dweblogic.net.ssl.trustStore=/oracle/app/runtime/d1/certs/WBCTrust.jks",
- "s7": "-Djavax.net.ssl.trustStore=/oracle/app/runtime/d1/certs/WBCTrust.jks",
- "s8": "-Dweblogic.webservice.client.ssl.trustedcertfile=/oracle/app/runtime/d1/certs/cacerts.pem",
- "s9": "-Dweblogic.security.audit.auditLogDir=/oracle/app/logs/obpodi/obpodi_domain",
- "s10": "-Dweblogic.ssl.SSLv2HelloEnabled=false",
- "Auto22": "-Dweblogic.MuxerClass=weblogic.socket.PosixSocketMuxer"
}
}
], - "environmentName": "d1",
- "mwTopologyList": [
- {
- "attributes": {
- "targetPlatform": "x86-64"
}
}
], - "topologyName": "obpodi",
- "hostInstallationList": [
- {
- "installationName": "odi",
- "hostIdentifierList": [
- "custwprd1odi01",
- "custwprd1odi02"
]
}
], - "transferList": [
- {
- "name": "d1_obpodi_keystores",
- "hostIdentifierList": [
- "custwprd1odi01"
], - "sourceFile": "/oracle/stage/customer/wp/csh/certs/d1/custwprd1odi.jks",
- "destinationFile": "/oracle/app/runtime/d1/certs/custwprd1odi.jks",
- "permissions": "600",
- "transferWhenList": [
- "pre-online"
], - "attributes": {
- "scaleout": "false"
}
}
], - "executeList": [
- {
- "name": "DeployHealthCheck",
- "hostIdentifierList": [
- "custwprd1odi01"
], - "sourceFile": "/oracle/app/binaries/obpodi/fmw/oracle_common/common/bin/wlst.sh /oracle/stage/customer/wp/csh/scripts/common/deployApplication.py weblogic {AES2}gJ/boWTt1SiokXU8r5kR/w=={/IV}THBDYBplASG16qRhzfue+o4yOtJPAu4RCzOKq4C7V5Os= t3://custwprd1odi-padm.limepoint.engineering:17001 HealthCheck /oracle/app/runtime/obpodi/domains/applications/obpodi_domain/HealthCheck.war obpodi_cluster nostage 650",
- "executeWhenList": [
- "pre-online"
], - "attributes": {
- "execute.weblogicAdminPassword": "{AES2}gJ/boWTt1SiokXU8r5kR/w=={/IV}THBDYBplASG16qRhzfue+o4yOtJPAu4RCzOKq4C7V5Os=",
- "scaleout": "false"
}
}
], - "domainList": [
- {
- "name": "obpodi_domain",
- "locationPath": "/oracle/app/runtime/obpodi/domains",
- "adminUser": "weblogic",
- "adminPassword": "{AES2}gJ/boWTt1SiokXU8r5kR/w=={/IV}THBDYBplASG16qRhzfue+o4yOtJPAu4RCzOKq4C7V5Os=",
- "adminServer": {
- "name": "AdminServer",
- "machineName": "custwprd1odi01-prv.limepoint.engineering",
- "listenAddress": "custwprd1odi-padm.limepoint.engineering",
- "listenAddressPort": "17001",
- "listenAddressPortSSL": "18001",
- "targetName": "odiAdminServer"
}, - "machineList": [
- {
- "name": "custwprd1odi01-prv.limepoint.engineering",
- "nodeManagerName": "nm-custwprd1odi01"
}, - {
- "name": "custwprd1odi02-prv.limepoint.engineering",
- "nodeManagerName": "nm-custwprd1odi02"
}
], - "clusterList": [
- {
- "name": "obpodi_cluster",
- "messageMode": "Unicast"
}
], - "managedServerList": [
- {
- "name": "ODI_server1",
- "machineName": "custwprd1odi01-prv.limepoint.engineering",
- "clusterName": "obpodi_cluster",
- "listenAddress": "custwprd1odi01-prv.limepoint.engineering",
- "listenAddressPort": "17002",
- "listenAddressPortSSL": "18002",
- "targetName": "ODI_server1",
- "attributes": {
- "nodeid": "1",
- "serverid": "1",
- "nodeonserver": "1"
}
}, - {
- "name": "ODI_server2",
- "machineName": "custwprd1odi02-prv.limepoint.engineering",
- "clusterName": "obpodi_cluster",
- "listenAddress": "custwprd1odi02-prv.limepoint.engineering",
- "listenAddressPort": "17003",
- "listenAddressPortSSL": "18003",
- "targetName": "ODI_server2",
- "attributes": {
- "nodeid": "2",
- "serverid": "2",
- "nodeonserver": "1"
}
}
], - "systemComponentList": [
- {
- "name": "OracleDISAgent1",
- "machineName": "custwprd1odi01-prv.limepoint.engineering",
- "componentType": "OracleDataIntegrator",
- "attributes": {
- "nodeid": "1",
- "serverid": "1",
- "nodeonserver": "1",
- "OracleDataIntegrator": {
- "SupervisorPassword": "{AES2}jsLtJusUxDWQfC6Mq+UwHg=={/IV}TuT5JIopcfHbGjkEt7xUhoQ==",
- "AgentProtocol": "https",
- "AgentHostname": "custwprd1odi01-prv.limepoint.engineering",
- "AgentPort": "2091",
- "PrivateKeyAlias": "custwprd1odi01",
- "PrivateKeyPassPhrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "IdentityKeyStore": "/oracle/app/runtime/d1/certs/custwprd1odi.jks",
- "IdentityKeyStorePassPhrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "TrustKeyStore": "/oracle/app/runtime/d1/certs/WBCTrust.jks",
- "TrustKeyStorePassPhrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk="
}
}
}, - {
- "name": "OracleDISAgent2",
- "machineName": "custwprd1odi02-prv.limepoint.engineering",
- "componentType": "OracleDataIntegrator",
- "attributes": {
- "nodeid": "2",
- "serverid": "2",
- "nodeonserver": "1",
- "OracleDataIntegrator": {
- "SupervisorPassword": "{AES2}jsLtJusUxDWQfC6Mq+UwHg=={/IV}TuT5JIopcfHbGjkEt7xUhoQ==",
- "AgentProtocol": "https",
- "AgentHostname": "custwprd1odi02-prv.limepoint.engineering",
- "AgentPort": "2091",
- "PrivateKeyAlias": "custwprd1odi02",
- "PrivateKeyPassPhrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "IdentityKeyStore": "/oracle/app/runtime/d1/certs/custwprd1odi.jks",
- "IdentityKeyStorePassPhrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "TrustKeyStore": "/oracle/app/runtime/d1/certs/WBCTrust.jks",
- "TrustKeyStorePassPhrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk="
}
}
}
], - "middlewareList": [
- {
- "installationName": "odi",
- "targetList": [
- {
- "type": "Cluster",
- "names": [
- "obpodi_cluster"
]
}
]
}
], - "configurationList": [
- {
- "resourceName": "AdminStartupParameter",
- "type": "StartupParameter",
- "targets": [
- {
- "type": "SERVER",
- "names": [
- "AdminServer"
]
}
]
}, - {
- "resourceName": "WeblogicUser_wlsmonitors",
- "type": "User",
- "attributes": {
- "authenticatorName": "DefaultAuthenticator"
}
}
], - "templateList": [
- {
- "name": "OracleDataIntegrator::CombinedTemplateSet",
- "attributes": {
- "OracleDataIntegrator::CombinedTemplateSet": {
- "SupervisorPassword": "{AES2}jsLtJusUxDWQfC6Mq+UwHg=={/IV}TuT5JIopcfHbGjkEt7xUhoQ==",
- "WorkRepositoryName": "workrep1",
- "WorkRepositoryPassword": "{AES2}jsLtJusUxDWQfC6Mq+UwHg=={/IV}TuT5JIopcfHbGjkEt7xUhoQ==",
- "WorkRepositoryType": "E",
- "AgentHostname": "custwpd1odi.limepoint.engineering",
- "AgentPort": "18002",
- "AgentProtocol": "https"
}
}
}
], - "repositoryList": [
- {
- "componentList": [
- "ODI"
], - "id": "rcu01",
- "dbName": "d1obpodidb",
- "prefix": "OBPODI",
- "dbUser": "SYS",
- "schemaPassword": "{AES2}jsLtJusUxDWQfC6Mq+UwHg=={/IV}TuT5JIopcfHbGjkEt7xUhoQ==",
- "defaultRepository": "true"
}
], - "attributes": {
- "serverStartMode": "prod",
- "backupEnvironmentName": "d1",
- "environment.name": "d1",
- "tlogsLocationPath": "/oracle/app/runtime/obpodi/domains/obpodi_domain",
- "odlLogLocation": "/oracle/app/logs/obpodi/obpodi_domain",
- "defaultJMSLogLocation": "/oracle/app/logs/obpodi/obpodi_domain",
- "managedTopLocation": "/oracle/app/binaries/runtime/obpodi/domains",
- "nodeid": "1",
- "nodeonserver": "1",
- "serverid": "1",
- "wls": {
- "production.mode": "prod",
- "tlogs.location.path": "/oracle/app/runtime/obpodi/domains/obpodi_domain",
- "admin.listen.port.admin": "19001",
- "domain.managed.top": "/oracle/app/binaries/runtime/obpodi/domains",
- "odl": {
- "log": {
- "location": "/oracle/app/logs/obpodi/obpodi_domain",
- "retentionPeriod": "5d"
}
}
}, - "mintpress": {
- "startup.server_exclude": "OracleDISAgent*",
- "startup_parallel": "10"
}
}
}
], - "nodeManagerList": [
- {
- "name": "nm-custwprd1odi01",
- "listenAddress": "custwprd1odi01-prv.limepoint.engineering",
- "listenPort": "16001",
- "hostIdentifier": "custwprd1odi01",
- "attributes": {
- "wlInstallationName": "fmwinfra",
- "nodemanagerTop": "/oracle/app/binaries/runtime/obpodi/domains/obpodi_domain/nodemanager",
- "type": "SSL",
- "wls": {
- "nodemanager": {
- "log.path": "/oracle/app/logs/obpodi/custwprd1odi01",
- "identityname": "custwprd1odi01",
- "identitystorefile": "/oracle/app/runtime/d1/certs/custwprd1odi.jks",
- "wildcardcertificate": "true",
- "domainbased": "true",
- "shared.domain.dir": "true",
- "top": "/oracle/app/binaries/runtime/obpodi/domains/obpodi_domain/nodemanager"
}
}
}, - "targetAttributes": {
- "wls": {
- "nodemanager": {
- "secure.listener": "true",
- "setidentity": "true",
- "usejsse": "true",
- "crashrecovery": "false",
- "umask": "022",
- "truststorefile": "/oracle/app/runtime/d1/certs/WBCTrust.jks",
- "identitystorekey": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "truststorekey": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "identitypassphrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk="
}
}
}
}, - {
- "name": "nm-custwprd1odi02",
- "listenAddress": "custwprd1odi02-prv.limepoint.engineering",
- "listenPort": "16001",
- "hostIdentifier": "custwprd1odi02",
- "attributes": {
- "wlInstallationName": "fmwinfra",
- "nodemanagerTop": "/oracle/app/binaries/runtime/obpodi/domains/obpodi_domain/nodemanager",
- "type": "SSL",
- "wls": {
- "nodemanager": {
- "log.path": "/oracle/app/logs/obpodi/custwprd1odi02",
- "identityname": "custwprd1odi02",
- "identitystorefile": "/oracle/app/runtime/d1/certs/custwprd1odi.jks",
- "wildcardcertificate": "true",
- "domainbased": "true",
- "shared.domain.dir": "true",
- "top": "/oracle/app/binaries/runtime/obpodi/domains/obpodi_domain/nodemanager"
}
}
}, - "targetAttributes": {
- "wls": {
- "nodemanager": {
- "secure.listener": "true",
- "setidentity": "true",
- "usejsse": "true",
- "crashrecovery": "false",
- "umask": "022",
- "truststorefile": "/oracle/app/runtime/d1/certs/WBCTrust.jks",
- "identitystorekey": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "truststorekey": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk=",
- "identitypassphrase": "{AES2}h2PRZ4Y+dzJGqQaewXAXBQ=={/IV}TtSlVPbhcKefdwYVrR0caCgwsTQGc57f3ofH8B47O9yk="
}
}
}
}
]
}
}, - "sha256": "901ad813694fa591bd0c6c9ec172f1d97e35daaa14c1c9010cbef45f44338483",
- "created_at": "2026-09-14T10:28:34.491Z",
- "updated_at": "2026-09-14T10:28:34.491Z",
- "render_logs": {
- "render_logs": [
- "Generated by deriving the difference between Mintmodel 01a09f76-2215-770a-a92f-b3fcd5e758cc and MintModel 01a09f76-2220-7229-aa9c-58d9884b3d4b"
]
}, - "phase_output": { }
}, - "step_trees": [
- {
- "action": "mintmodel:binaries",
- "description": "bpm -- Binaries",
- "child_execution_strategy": "sequential",
- "children": [
- {
- "action": "mintmodel:install_software_binaries",
- "mintpress_ctl_cmdline": "run the mintpress command!",
- "step_name": "Install Software Binaries",
- "description": null,
- "full_path": "Binaries/Install Software Binaries"
}
], - "step_name": "Binaries",
- "full_path": "Binaries"
}
]
}, - "links": {
- "old_mintmodel": "/projects/opc/assets/prj_soa/mintmodels/01a09f76-2215-770a-a92f-b3fcd5e758cc",
- "new_mintmodel": "/projects/opc/assets/prj_soa/mintmodels/01a09f76-2220-7229-aa9c-58d9884b3d4b",
- "parent": "/projects/opc/assets/prj_soa"
}
}
}Shows an asset MintModel.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
| mintmodel_id required | string Example: 01a09f75-221d-7dd8-b2d3-11ee0cbc9842 MintModel id |
{- "data": {
- "id": "01a09f76-23ae-7bb7-b64f-b219d8930eb5",
- "type": "mintmodel",
- "attributes": {
- "data": {
- "complex": {
- "json": {
- "mintmodel": "data"
}
}
}, - "sha256": "77526a9ef926aee8c98f90ec845f5bd12f58cd7afb29fb2db5ef8f95deec44f8",
- "created_at": "2026-09-14T10:28:34.862149Z",
- "updated_at": "2026-09-14T10:28:34.862149Z",
- "render_logs": {
- "mintmodel_api": [
- "MintPress renderer output"
]
}, - "phase_output": { }
}, - "relationships": {
- "mintmodel_history": {
- "data": [
- {
- "id": "01a09f76-245e-7be0-8e66-944ec9940aa4",
- "type": "mintmodel_history"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/assets/prj_soa/mintmodels/01a09f76-23ae-7bb7-b64f-b219d8930eb5",
- "parent_mintmodel_history": "/api/projects/opc/assets/prj_soa/mintmodel_history"
}
}
}Concretise the MintModel for this asset in the background, using the latest properties and template version.
Note: This enqueues a MintModel concretisation task and returns it immediately. Poll the returned task to track its progress; the concretised MintModel is assigned to the asset once the task completes successfully.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
{- "data": {
- "id": "01a09f76-26df-7350-8c2d-daed11bfd277",
- "type": "node_background_task",
- "attributes": {
- "request_number": 2,
- "status_code": "initializing",
- "error_message": null,
- "created_by": "logged_in_user",
- "actions_count": 0,
- "task_type": "MintModelConcretiseTask",
- "created_at": "2026-09-14T10:28:35.678232Z",
- "updated_at": "2026-09-14T10:28:35.678232Z"
}, - "relationships": {
- "template_version_history": {
- "data": {
- "id": "01a09f76-26af-74a9-abb4-581cc620f80d",
- "type": "template_version_history"
}
}, - "owner": {
- "data": {
- "id": "01a09f76-2699-7e2f-a3bf-5b3992fe3e7f",
- "type": "asset"
}
}
}, - "links": {
- "template_version": "/api/projects/opc/templates/01a09f76-2651-7f01-9d25-ed32ddaea789/versions/2023_Q4_2",
- "self": "/api/projects/opc/assets/prj_soa/node_background_tasks/01a09f76-26df-7350-8c2d-daed11bfd277",
- "asset": "/api/projects/opc/assets/prj_soa",
- "log_lines": "/api/node_background_task_log_lines?node_background_task_id=01a09f76-26df-7350-8c2d-daed11bfd277"
}
}
}Lists all workflows for a project.
| project_code required | string Example: opc project code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[name_cont]=deploy API filtering guide. Named filters: |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of workflows returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f77-e7c9-7f4a-9dff-7be4bb1b19b4",
- "type": "workflow",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "jody-4086",
- "created_at": "2026-09-14T10:30:30.601395Z",
- "updated_at": "2026-09-14T10:30:30.601395Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "latest_version": 2,
- "latest_published_version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-e726-7b66-8601-aad19f7625b0",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "versions": {
- "data": [
- {
- "id": "01a09f77-e7d8-7940-b94c-45222c3cc1d7",
- "type": "workflow_version"
}, - {
- "id": "01a09f77-e7d5-77c7-8eff-0c58c46d54e0",
- "type": "workflow_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets",
- "runs": "/api/projects/opc/workflows/assets/runs",
- "versions": "/api/projects/opc/workflows/assets/versions",
- "latest_version": "/api/projects/opc/workflows/assets/versions/2",
- "latest_published_version": "/api/projects/opc/workflows/assets/versions/2"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}, - "partial_response": false
}
}Create a workflow
| project_code required | string Example: opc project code |
required | object |
object |
{- "data": {
- "attributes": {
- "code": "5twyg",
- "archived": false,
- "name": "c1czkzbytu",
- "description": "Synthesizing the bus won't do anything, we need to input the mobile sql array!",
- "steps": [
- {
- "type": "change",
- "targets": [
- "/projects/vzsli/environments/azgpk/assets/hwsuc",
- "/projects/84xce/environments/t1gfk/assets/obj0n"
], - "action": "override",
- "template_versions": [
- "1nhgc",
- "f7tvm"
], - "run_as": "sequential",
- "name": "sequi"
}, - {
- "type": "wait",
- "name": "saepe"
}, - {
- "type": "workflow",
- "target": "/projects/aq9sz/workflows/qtoii",
- "version": 1,
- "name": "non",
- "start_time": null
}, - {
- "run_as": "parallel",
- "name": "tempore",
- "children": [
- {
- "type": "change",
- "target": "/projects/jm2hb/environments/2avlf/assets/hywik",
- "action": "synthesize",
- "template_version": "osjpz",
- "name": "quia",
- "start_time": "2026-09-15T10:27:37Z"
}, - {
- "type": "wait",
- "name": "voluptates"
}, - {
- "type": "workflow",
- "target": "/projects/wwh1q/workflows/e7qdp",
- "version": null,
- "name": "doloribus",
- "start_time": null
}
]
}, - {
- "run_as": "sequential",
- "name": "voluptatem",
- "children": [
- {
- "type": "change",
- "target": "/projects/ljohu/environments/eixnr/assets/i84wj",
- "action": "copy",
- "template_version": "osobr",
- "name": "placeat",
- "start_time": null
}, - {
- "type": "wait",
- "name": "accusamus"
}, - {
- "type": "workflow",
- "target": "/projects/8h1hz/workflows/div5x",
- "version": null,
- "name": "qui",
- "start_time": null
}
]
}
], - "draft": true
}
}
}{- "data": {
- "id": "01a09f77-ea94-7734-b769-ce3cc7974988",
- "type": "workflow",
- "attributes": {
- "code": "assets_new",
- "name": "assets workflow_new",
- "description": null,
- "draft": false,
- "archived": false,
- "created_by": "logged_in_user",
- "created_at": "2026-09-14T10:30:31.315647Z",
- "updated_at": "2026-09-14T10:30:31.315647Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": { },
- "latest_version": 1,
- "latest_published_version": 1
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-e9c3-713c-8f90-a708409a42ef",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "versions": {
- "data": [
- {
- "id": "01a09f77-eaa0-77f3-b9e2-b6a9a3c9c5e9",
- "type": "workflow_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets_new",
- "runs": "/api/projects/opc/workflows/assets_new/runs",
- "versions": "/api/projects/opc/workflows/assets_new/versions",
- "latest_version": "/api/projects/opc/workflows/assets_new/versions/1",
- "latest_published_version": "/api/projects/opc/workflows/assets_new/versions/1"
}
}
}Shows a workflow.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
{- "data": {
- "id": "01a09f77-f0f7-7659-9f44-8776e2d854ec",
- "type": "workflow",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "edwardo-4142",
- "created_at": "2026-09-14T10:30:32.950536Z",
- "updated_at": "2026-09-14T10:30:32.950536Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "latest_version": 2,
- "latest_published_version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-f026-7b3c-8c1b-f134c6d78e98",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "versions": {
- "data": [
- {
- "id": "01a09f77-f10c-7b91-823c-c52a37d20306",
- "type": "workflow_version"
}, - {
- "id": "01a09f77-f108-7eca-8aac-f1ee51bfadac",
- "type": "workflow_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets",
- "runs": "/api/projects/opc/workflows/assets/runs",
- "versions": "/api/projects/opc/workflows/assets/versions",
- "latest_version": "/api/projects/opc/workflows/assets/versions/2",
- "latest_published_version": "/api/projects/opc/workflows/assets/versions/2"
}
}
}Update a workflow.
Once the workflow has been run (or scheduled to run), its steps, source YAML and draft state can no longer be changed. A validation request that supplies custom sample properties (property_overrides with validate_flag set) is still permitted, so the stored steps can be validated against those properties.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
required | object |
object |
{- "data": {
- "attributes": {
- "archived": false,
- "name": "zqgcsvwtni",
- "description": "Use the neural CSS bandwidth, then you can input the mobile matrix!",
- "steps": [
- {
- "type": "change",
- "targets": [
- "/projects/vzsli/environments/azgpk/assets/hwsuc",
- "/projects/84xce/environments/t1gfk/assets/obj0n"
], - "action": "override",
- "template_versions": [
- "1nhgc",
- "f7tvm"
], - "run_as": "sequential",
- "name": "sequi"
}, - {
- "type": "wait",
- "name": "saepe"
}, - {
- "type": "workflow",
- "target": "/projects/aq9sz/workflows/qtoii",
- "version": 1,
- "name": "non",
- "start_time": null
}, - {
- "run_as": "parallel",
- "name": "tempore",
- "children": [
- {
- "type": "change",
- "target": "/projects/jm2hb/environments/2avlf/assets/hywik",
- "action": "synthesize",
- "template_version": "osjpz",
- "name": "quia",
- "start_time": "2026-09-15T10:27:37Z"
}, - {
- "type": "wait",
- "name": "voluptates"
}, - {
- "type": "workflow",
- "target": "/projects/wwh1q/workflows/e7qdp",
- "version": null,
- "name": "doloribus",
- "start_time": null
}
]
}, - {
- "run_as": "sequential",
- "name": "voluptatem",
- "children": [
- {
- "type": "change",
- "target": "/projects/ljohu/environments/eixnr/assets/i84wj",
- "action": "copy",
- "template_version": "osobr",
- "name": "placeat",
- "start_time": null
}, - {
- "type": "wait",
- "name": "accusamus"
}, - {
- "type": "workflow",
- "target": "/projects/8h1hz/workflows/div5x",
- "version": null,
- "name": "qui",
- "start_time": null
}
]
}
], - "draft": true
}
}
}{- "data": {
- "id": "01a09f77-f52e-7d63-8e9c-5acdb0d42cf3",
- "type": "workflow",
- "attributes": {
- "code": "assets",
- "name": "new workflow name",
- "description": "new description",
- "draft": false,
- "archived": false,
- "created_by": "taina-4170",
- "created_at": "2026-09-14T10:30:34.030015Z",
- "updated_at": "2026-09-14T10:30:34.099582Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa",
- "source": "steps/1",
- "change_parent": {
- "id": "01a09f77-f4e6-7ad1-9fe0-c0ad347b3781",
- "path": "/projects/opc/assets/prj_soa",
- "parent_path": "/projects/opc",
- "project_id": "01a09f77-f470-75e9-952c-7aa0ca96f41c",
- "node_type": "asset",
- "parent_id": "01a09f77-f470-75e9-952c-7aa0ca96f41c",
- "code": "prj_soa",
- "name": "Project asset",
- "description": "Project asset description",
- "archived": false,
- "created_at": "2026-09-14T10:30:33.957Z",
- "updated_at": "2026-09-14T10:30:33.957Z",
- "project_type": null,
- "template_version_id": "01a09f77-f4bc-7aec-b138-59de4337cffc",
- "created_by_id": "01a09f77-f4d3-7fe9-ae8e-5692b7c6c8e4",
- "settings_generation": 1
}, - "action_template_version": {
- "id": "01a09f77-f4bc-7aec-b138-59de4337cffc",
- "commit_id": "01a09f77-f4aa-76bf-bc07-a9276d8557c9",
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "created_at": "2026-09-14T10:30:33.915Z",
- "updated_at": "2026-09-14T10:30:33.915Z",
- "state": "ready",
- "archived": false,
- "has_mintmodel": true,
- "template_id": "01a09f77-f48f-76e5-963b-2dbb4a0b65ac",
- "locked": false,
- "pending_commit_id": null,
- "float_git_rev": false,
- "created_by_id": "01a09f77-f4ad-76a8-a59a-d92b3d90e1b5"
}
}
], - "sample_properties": {
- "sample": null
}, - "latest_version": 2,
- "latest_published_version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-f470-75e9-952c-7aa0ca96f41c",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "versions": {
- "data": [
- {
- "id": "01a09f77-f542-7522-ab17-14244c3d5456",
- "type": "workflow_version"
}, - {
- "id": "01a09f77-f53e-7400-b4cf-f7582bb952f2",
- "type": "workflow_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets",
- "runs": "/api/projects/opc/workflows/assets/runs",
- "versions": "/api/projects/opc/workflows/assets/versions",
- "latest_version": "/api/projects/opc/workflows/assets/versions/2",
- "latest_published_version": "/api/projects/opc/workflows/assets/versions/2"
}
}
}Delete or archive a workflow.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
Lists all versions for a workflow.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
{- "data": [
- {
- "id": "01a09f77-fd81-78fa-af0a-51a608256d31",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "winnifred-4224",
- "created_at": "2026-09-14T10:30:36.160876Z",
- "updated_at": "2026-09-14T10:30:36.174561Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-fccb-7f4b-a023-7ba7fc84cd7d",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}, - {
- "id": "01a09f77-fd7e-74ae-a804-cd163e3538fa",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "glynis-4225",
- "created_at": "2026-09-14T10:30:36.131735Z",
- "updated_at": "2026-09-14T10:30:36.131749Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 1
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-fccb-7f4b-a023-7ba7fc84cd7d",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/1",
- "runs": "/api/projects/opc/workflows/assets/versions/1/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Deletes all draft versions of a workflow.
Note: At least one version will remain. If all versions are drafts, the latest draft version will be kept.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
{- "data": {
- "id": "01a09f78-0213-7428-89ea-44359018edc8",
- "type": "workflow",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "lynette-4261",
- "created_at": "2026-09-14T10:30:37.330817Z",
- "updated_at": "2026-09-14T10:30:37.330817Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "latest_version": 2,
- "latest_published_version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f78-017d-79c4-aea9-932242a98c86",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "versions": {
- "data": [
- {
- "id": "01a09f78-021f-7b14-a4bd-95217924558f",
- "type": "workflow_version"
}, - {
- "id": "01a09f78-021c-7dc4-af1f-ad48a381bc25",
- "type": "workflow_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets",
- "runs": "/api/projects/opc/workflows/assets/runs",
- "versions": "/api/projects/opc/workflows/assets/versions",
- "latest_version": "/api/projects/opc/workflows/assets/versions/2",
- "latest_published_version": "/api/projects/opc/workflows/assets/versions/2"
}
}
}Shows a workflow version.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| version required | string Example: 2 version |
{- "data": {
- "id": "01a09f78-05f7-762e-9152-4e0f693c7acf",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "jc-4288",
- "created_at": "2026-09-14T10:30:38.326848Z",
- "updated_at": "2026-09-14T10:30:38.338797Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f78-0553-7712-a08b-ab2226f1b106",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}
}Update a workflow version.
Once the workflow version has been run (or scheduled to run), its steps, source YAML and draft state can no longer be changed. A validation request that supplies custom sample properties (property_overrides with validate_flag set) is still permitted, so the stored steps can be validated against those properties.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| version required | string Example: 2 version |
required | object |
object |
{- "data": {
- "attributes": {
- "code": "mmwsx",
- "node_id": "01a09f75-4c9f-7b9d-b1e4-847dab1d42e7",
- "archived": false,
- "name": "yabpaqshtu",
- "description": "If we quantify the sensor, we can get to the IB capacitor through the wireless SCSI sensor!",
- "steps": [
- {
- "type": "change",
- "targets": [
- "/projects/vzsli/environments/azgpk/assets/hwsuc",
- "/projects/84xce/environments/t1gfk/assets/obj0n"
], - "action": "override",
- "template_versions": [
- "1nhgc",
- "f7tvm"
], - "run_as": "sequential",
- "name": "sequi"
}, - {
- "type": "wait",
- "name": "saepe"
}, - {
- "type": "workflow",
- "target": "/projects/aq9sz/workflows/qtoii",
- "version": 1,
- "name": "non",
- "start_time": null
}, - {
- "run_as": "parallel",
- "name": "tempore",
- "children": [
- {
- "type": "change",
- "target": "/projects/jm2hb/environments/2avlf/assets/hywik",
- "action": "synthesize",
- "template_version": "osjpz",
- "name": "quia",
- "start_time": "2026-09-15T10:27:37Z"
}, - {
- "type": "wait",
- "name": "voluptates"
}, - {
- "type": "workflow",
- "target": "/projects/wwh1q/workflows/e7qdp",
- "version": null,
- "name": "doloribus",
- "start_time": null
}
]
}, - {
- "run_as": "sequential",
- "name": "voluptatem",
- "children": [
- {
- "type": "change",
- "target": "/projects/ljohu/environments/eixnr/assets/i84wj",
- "action": "copy",
- "template_version": "osobr",
- "name": "placeat",
- "start_time": null
}, - {
- "type": "wait",
- "name": "accusamus"
}, - {
- "type": "workflow",
- "target": "/projects/8h1hz/workflows/div5x",
- "version": null,
- "name": "qui",
- "start_time": null
}
]
}
], - "draft": true
}
}
}{- "data": {
- "id": "01a09f78-0c66-76b5-a9b5-9412dc85e47e",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "new workflow name",
- "description": "new description",
- "draft": true,
- "archived": false,
- "created_by": "lora-4334",
- "created_at": "2026-09-14T10:30:39.973849Z",
- "updated_at": "2026-09-14T10:30:40.004951Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "type": "change",
- "targets": [
- "/projects/vzsli/environments/azgpk/assets/hwsuc",
- "/projects/84xce/environments/t1gfk/assets/obj0n"
], - "action": "override",
- "template_versions": [
- "1nhgc",
- "f7tvm"
], - "run_as": "sequential",
- "name": "sequi"
}, - {
- "type": "wait",
- "name": "saepe"
}, - {
- "type": "workflow",
- "target": "/projects/aq9sz/workflows/qtoii",
- "version": 1,
- "name": "non",
- "start_time": null
}, - {
- "run_as": "parallel",
- "name": "tempore",
- "children": [
- {
- "type": "change",
- "target": "/projects/jm2hb/environments/2avlf/assets/hywik",
- "action": "synthesize",
- "template_version": "osjpz",
- "name": "quia",
- "start_time": "2026-09-15T10:27:37Z"
}, - {
- "type": "wait",
- "name": "voluptates"
}, - {
- "type": "workflow",
- "target": "/projects/wwh1q/workflows/e7qdp",
- "version": null,
- "name": "doloribus",
- "start_time": null
}
]
}, - {
- "run_as": "sequential",
- "name": "voluptatem",
- "children": [
- {
- "type": "change",
- "target": "/projects/ljohu/environments/eixnr/assets/i84wj",
- "action": "copy",
- "template_version": "osobr",
- "name": "placeat",
- "start_time": null
}, - {
- "type": "wait",
- "name": "accusamus"
}, - {
- "type": "workflow",
- "target": "/projects/8h1hz/workflows/div5x",
- "version": null,
- "name": "qui",
- "start_time": null
}
]
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f78-0bc2-70cd-80b8-39748024a7f2",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}
}Delete or archive a workflow version.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| version required | string Example: 2 version |
Endpoints to interact with properties.
Shows the current properties JSON and its version.
| properties_id required | string Example: 01a09f75-1f67-7fa4-9864-cf4cab4aa3ee properties id |
{- "data": {
- "id": "01a09f76-8724-773a-beac-e1c556cde69c",
- "type": "properties",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:29:00.323996Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/properties/01a09f76-8724-773a-beac-e1c556cde69c",
- "current_version": "/api/properties/01a09f76-8724-773a-beac-e1c556cde69c/versions/1",
- "versions": "/api/properties/01a09f76-8724-773a-beac-e1c556cde69c/versions"
}
}
}Updates a properties JSON if the included version matches the current properties version.
| id_to_update required | string Example: 01a09f75-1f67-7fa4-9864-cf4cab4aa3ee properties id |
required | object |
{- "data": {
- "attributes": {
- "data": {
- "any_key": "with updated value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1
}
}
}{- "data": {
- "id": "01a09f76-8818-7086-94cd-a1b7c54dca3f",
- "type": "properties",
- "attributes": {
- "data": {
- "any_key": "with updated value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 2,
- "created_at": "2026-09-14T10:29:00.567562Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/properties/01a09f76-8818-7086-94cd-a1b7c54dca3f",
- "current_version": "/api/properties/01a09f76-8818-7086-94cd-a1b7c54dca3f/versions/2",
- "versions": "/api/properties/01a09f76-8818-7086-94cd-a1b7c54dca3f/versions"
}
}
}Updates a properties JSON, without any version checking (always updates).
| id_to_set required | string Example: 01a09f75-1f67-7fa4-9864-cf4cab4aa3ee properties id |
required | object |
{- "data": {
- "attributes": {
- "data": {
- "any_key": "with updated value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}
}
}
}{- "data": {
- "id": "01a09f76-8a83-7fd3-bb5a-d76ed74ff3de",
- "type": "properties",
- "attributes": {
- "data": {
- "any_key": "with updated value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 2,
- "created_at": "2026-09-14T10:29:01.187347Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/properties/01a09f76-8a83-7fd3-bb5a-d76ed74ff3de",
- "current_version": "/api/properties/01a09f76-8a83-7fd3-bb5a-d76ed74ff3de/versions/2",
- "versions": "/api/properties/01a09f76-8a83-7fd3-bb5a-d76ed74ff3de/versions"
}
}
}Create or update a file property in the properties.
| properties_id required | string Example: 01a09f75-1f67-7fa4-9864-cf4cab4aa3ee properties id |
| file_path | string (Path to write the file within /opt/opschain) |
| mode | string (Linux octal file mode) |
| format | string (How the file content is serialised (default: 'raw')) Enum: "base64" "json" "raw" |
| replace_file | string (Replace the file property if it exists (default: false)) |
| secret_path | string (Path to write the secret key into) |
| secret_key | string |
| replace_secret | string (Replace the secret vault value if it exists (default: false)) |
| file | string <binary> File to use. The filename is ignored. |
------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="mode" 0600 ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="file_path" /opt/opschain/sample.txt ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="format" raw ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="replace_file" true ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="file"; filename="sample.txt" content-type: text/plain content-length: 21 Sample file property ------------XnJLe9ZIbbGUYtzPQJ16u1--
{- "data": {
- "id": "01a09f76-8c1d-7e1b-97e5-0e8b25694f57",
- "type": "properties",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}, - "opschain": {
- "files": {
- "/opt/opschain/sample.txt": {
- "mode": "0600",
- "format": "raw",
- "content": "Sample file property\n"
}
}
}
}, - "version": 2,
- "created_at": "2026-09-14T10:29:01.596824Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/properties/01a09f76-8c1d-7e1b-97e5-0e8b25694f57",
- "current_version": "/api/properties/01a09f76-8c1d-7e1b-97e5-0e8b25694f57/versions/2",
- "versions": "/api/properties/01a09f76-8c1d-7e1b-97e5-0e8b25694f57/versions"
}
}
}Endpoints to interact with the version history for properties.
Lists all versions of an OpsChain properties.
| properties_id required | string Example: 01a09f75-1f67-7fa4-9864-cf4cab4aa3ee properties id |
| limit | integer [ 1 .. 10000 ] Default: 1000 Example: limit=50 Limit the number of properties versions returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f76-8cc0-7723-8f54-1c1311a4979b",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:29:01.759870Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-8cbb-7c62-b079-381abb24d6b8",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-8cbb-7c62-b079-381abb24d6b8"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-8cbb-7c62-b079-381abb24d6b8/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f76-8cbb-7c62-b079-381abb24d6b8/versions/1"
}, - "meta": { }
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Shows the properties JSON for this properties version.
| properties_id required | string Example: 01a09f75-1f67-7fa4-9864-cf4cab4aa3ee properties id |
| version_number required | integer Example: 1 version number |
{- "data": {
- "id": "01a09f76-8ddd-7376-80e4-a0c39fe4465d",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:29:02.044560Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-8dd7-7e31-9015-4d606da100a1",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-8dd7-7e31-9015-4d606da100a1"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-8dd7-7e31-9015-4d606da100a1/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f76-8dd7-7e31-9015-4d606da100a1/versions/1"
}, - "meta": { }
}
}Lists all activities (changes and workflow runs) accessible to the user.
| limit | integer [ 1 .. 1000 ] Default: 100 Example: limit=100 The maximum number of activities to return. When more records match than the limit a 206 response is returned and |
| exact_count | boolean Example: exact_count=true By default |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[created_by_cont]=opschain API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f75-5863-70bb-af2a-3734cba9edc0",
- "type": "workflow_run",
- "attributes": {
- "scheduled": false,
- "created_by": "giuseppe-329",
- "id": "01a09f75-5863-70bb-af2a-3734cba9edc0",
- "project_name": "sint117",
- "scheduled_activity_id": null,
- "created_at": "2026-09-14T10:27:42.818351Z",
- "updated_at": "2026-09-14T10:27:42.827375Z",
- "started_at": "2026-09-14T10:21:48.261947Z",
- "finished_at": "2026-09-14T10:25:17.475370Z",
- "status_code": "success",
- "metadata": {
- "Biodex": "5.18",
- "Zoolab": "0.58",
- "Fintone": "6.7.5",
- "Fix San": "1.2",
- "Quo Lux": "0.8.3",
- "Sonsing": "3.93",
- "Tempsoft": "0.98",
- "Tres-Zap": "4.2.1",
- "Ronstring": "4.96",
- "Solarbreeze": "0.3.2"
}, - "parents": [
- {
- "id": "01a09f75-5814-719d-8193-10f49ba9f236",
- "code": "tuiyj",
- "name": "sint117",
- "type": "project",
- "links": {
- "self": "/projects/tuiyj"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}
], - "workflow_version": {
- "version": 1,
- "links": {
- "self": "/projects/tuiyj/workflows/child/versions/1"
}
}, - "workflow": {
- "code": "child",
- "name": "child workflow"
}
}, - "links": {
- "self": "/api/projects/tuiyj/workflows/child/runs/01a09f75-5863-70bb-af2a-3734cba9edc0",
- "parent": "/api/projects/tuiyj",
- "workflow_version": "/api/projects/tuiyj/workflows/child/versions/1"
}
}, - {
- "id": "01a09f75-57ce-704a-a2a1-24d7790ae262",
- "type": "change",
- "attributes": {
- "scheduled": false,
- "created_by": "mendy_keeling-325",
- "id": "01a09f75-57ce-704a-a2a1-24d7790ae262",
- "project_name": "placeat115",
- "scheduled_activity_id": null,
- "created_at": "2026-09-14T10:27:42.668737Z",
- "updated_at": "2026-09-14T10:27:42.678567Z",
- "started_at": "2026-09-14T10:21:09.180756Z",
- "finished_at": "2026-09-14T10:24:00.142785Z",
- "status_code": "success",
- "metadata": {
- "transmitter": "synthesizing"
}, - "parents": [
- {
- "id": "01a09f75-5700-7ac1-93e5-4c0313dc6c6e",
- "code": "4ckvc",
- "name": "placeat115",
- "type": "project",
- "links": {
- "self": "/projects/4ckvc"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}, - {
- "id": "01a09f75-572b-7b0d-8789-5edb54c81d9c",
- "code": "q9jtc",
- "name": "facere116",
- "type": "environment",
- "links": {
- "self": "/projects/4ckvc/environments/q9jtc"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}, - {
- "id": "01a09f75-5792-73cb-bdc5-9702492e3a0f",
- "code": "hkk8r",
- "name": "culpa114",
- "type": "asset",
- "links": {
- "self": "/projects/4ckvc/environments/q9jtc/assets/hkk8r"
}, - "template": {
- "code": "ntad6",
- "name": "carlos"
}, - "template_version": {
- "version": "g10ud"
}
}
], - "action": "copy",
- "commit_sha": "82d8e88ffb67aeeb42e06bacb94b7a919380600a",
- "git_remote_name": "kendal.gottlieb",
- "git_rev": "back-end"
}, - "links": {
- "self": "/api/projects/4ckvc/environments/q9jtc/assets/hkk8r/changes/01a09f75-57ce-704a-a2a1-24d7790ae262",
- "parent": "/api/projects/4ckvc/environments/q9jtc/assets/hkk8r"
}
}, - {
- "id": "01a09f75-56c0-7339-9c8c-da361bf48baf",
- "type": "change",
- "attributes": {
- "scheduled": false,
- "created_by": "eugenia.langosh-319",
- "id": "01a09f75-56c0-7339-9c8c-da361bf48baf",
- "project_name": "temporibus112",
- "scheduled_activity_id": null,
- "created_at": "2026-09-14T10:27:42.398945Z",
- "updated_at": "2026-09-14T10:27:42.406631Z",
- "started_at": "2026-09-14T10:22:01.786413Z",
- "finished_at": "2026-09-14T10:25:47.065392Z",
- "status_code": "success",
- "metadata": {
- "panel": "backing up"
}, - "parents": [
- {
- "id": "01a09f75-55e5-7220-a36c-f08200b3b2c7",
- "code": "6mwzw",
- "name": "temporibus112",
- "type": "project",
- "links": {
- "self": "/projects/6mwzw"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}, - {
- "id": "01a09f75-5607-7585-931e-8f4b872e8f55",
- "code": "pxyni",
- "name": "ut113",
- "type": "environment",
- "links": {
- "self": "/projects/6mwzw/environments/pxyni"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}, - {
- "id": "01a09f75-565a-73d2-bd8c-17bac82985ef",
- "code": "zhamr",
- "name": "voluptas111",
- "type": "asset",
- "links": {
- "self": "/projects/6mwzw/environments/pxyni/assets/zhamr"
}, - "template": {
- "code": "qvvvl",
- "name": "cedrick"
}, - "template_version": {
- "version": "nfg90"
}
}
], - "action": "input",
- "commit_sha": "3b03e91a8e61c9094307cc3663ddafcdef088349",
- "git_remote_name": "debby.leuschke",
- "git_rev": "back-end"
}, - "links": {
- "self": "/api/projects/6mwzw/environments/pxyni/assets/zhamr/changes/01a09f75-56c0-7339-9c8c-da361bf48baf",
- "parent": "/api/projects/6mwzw/environments/pxyni/assets/zhamr"
}
}, - {
- "id": "01a09f75-55be-78fd-a509-8bc9c3980c92",
- "type": "workflow_run",
- "attributes": {
- "scheduled": false,
- "created_by": "imelda_schoen-312",
- "id": "01a09f75-55be-78fd-a509-8bc9c3980c92",
- "project_name": "OpsChain",
- "scheduled_activity_id": null,
- "created_at": "2026-09-14T10:27:42.141840Z",
- "updated_at": "2026-09-14T10:27:42.151835Z",
- "started_at": "2026-09-14T10:20:55.706082Z",
- "finished_at": "2026-09-14T10:23:34.946679Z",
- "status_code": "success",
- "metadata": {
- "Tin": "0.2.2",
- "Lotlux": "0.7.3",
- "Sonair": "8.1",
- "Sub-Ex": "4.89",
- "Alphazap": "0.5.6",
- "Tempsoft": "0.53",
- "Holdlamis": "0.89",
- "Mat Lam Tam": "6.2.6",
- "Ventosanzap": "9.76"
}, - "parents": [
- {
- "id": "01a09f75-544a-7441-9a68-98d2a2e3ae4c",
- "code": "opc",
- "name": "OpsChain",
- "type": "project",
- "links": {
- "self": "/projects/opc"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}
], - "workflow_version": {
- "version": 2,
- "links": {
- "self": "/projects/opc/workflows/assets/versions/2"
}
}, - "workflow": {
- "code": "assets",
- "name": "assets workflow"
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f75-55be-78fd-a509-8bc9c3980c92",
- "parent": "/api/projects/opc",
- "workflow_version": "/api/projects/opc/workflows/assets/versions/2"
}
}, - {
- "id": "01a09f75-54a5-78f0-bf23-8195c1f3c900",
- "type": "change",
- "attributes": {
- "scheduled": false,
- "created_by": "fairy_schulist-305",
- "id": "01a09f75-54a5-78f0-bf23-8195c1f3c900",
- "project_name": "OpsChain",
- "scheduled_activity_id": null,
- "created_at": "2026-09-14T10:27:41.860652Z",
- "updated_at": "2026-09-14T10:27:41.871746Z",
- "started_at": "2026-09-14T10:19:36.882986Z",
- "finished_at": "2026-09-14T10:25:40.612537Z",
- "status_code": "success",
- "metadata": {
- "transmitter": "programming"
}, - "parents": [
- {
- "id": "01a09f75-544a-7441-9a68-98d2a2e3ae4c",
- "code": "opc",
- "name": "OpsChain",
- "type": "project",
- "links": {
- "self": "/projects/opc"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}, - {
- "id": "01a09f75-5471-749c-b8ee-9f2cbb2ee2bb",
- "code": "dev",
- "name": "Development",
- "type": "environment",
- "links": {
- "self": "/projects/opc/environments/dev"
}, - "template": {
- "code": null,
- "name": null
}, - "template_version": {
- "version": null
}
}
], - "action": "calculate",
- "commit_sha": "64cee617ebbe88f22a75ff0066d7f39520b88043",
- "git_remote_name": "github",
- "git_rev": "main"
}, - "links": {
- "self": "/api/projects/opc/environments/dev/changes/01a09f75-54a5-78f0-bf23-8195c1f3c900",
- "parent": "/api/projects/opc/environments/dev"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false,
- "has_any": true,
- "total_matching_filter": 5,
- "total_matching_filter_exact": true
}
}Endpoints to interact with changes.
Lists all changes.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[environment_code_eq]=dev API filtering guide. Named filters: |
| download | string Example: download=changes.csv Download changes in CSV format with the specified file name. The changes will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
| include | string Example: include=steps,parents Include the change steps and parents in the response |
| fields[<resource_type>] | |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of changes returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f75-c115-7d6c-a726-0240fc78ac6d",
- "type": "change",
- "attributes": {
- "created_by": "boris.wintheiser-943",
- "step_name": "input",
- "action": "input",
- "build_without_cache": false,
- "auto_continue_wait_steps": false,
- "initial_step_tree": { },
- "metadata": {
- "capacitor": "overriding"
}, - "scheduled": false,
- "approved_by": [ ],
- "rejected_by": [ ],
- "cancelled_by": null,
- "state_timing": {
- "success": {
- "ended_at": "2026-09-14T10:28:09.623743Z",
- "started_at": "2026-09-14T10:28:09.623743Z"
}
}, - "state_timing_summary": { },
- "notify": { },
- "skip_steps": [ ],
- "starting_step": null,
- "cluster_name": null,
- "pause_state": "none",
- "status_code": "success",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:28:09.620810Z",
- "started_at": "2026-09-14T10:22:13.893503Z",
- "finished_at": "2026-09-14T10:24:51.677116Z",
- "updated_at": "2026-09-14T10:28:09.628278Z",
- "paused_at": null,
- "asset_name": null,
- "environment_name": "Development",
- "project_name": "OpsChain",
- "git_remote_name": "github",
- "git_rev": "main",
- "commit_sha": "669ad36a68fad219f7086fd9f52fab7de9253661",
- "requires_approval_from": null
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c13e-74b7-be24-ddbb3c6c8c59",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c13e-74b7-be24-ddbb3c6c8c59"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f75-c0c5-7d5e-9ea2-c22996703528",
- "type": "project"
}, - {
- "id": "01a09f75-c0e6-7fd9-aad2-3529c4d27213",
- "type": "environment"
}
]
}, - "root_step": {
- "data": {
- "id": "01a09f75-c118-7660-aa33-33c0250890f2",
- "type": "step"
}, - "links": {
- "related": "/api/steps/01a09f75-c118-7660-aa33-33c0250890f2"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f75-c118-7660-aa33-33c0250890f2",
- "type": "step"
}
]
}, - "workflow_run": {
- "data": null
}, - "workflow": {
- "data": null
}, - "override_properties": {
- "data": {
- "id": "01a09f75-c120-766c-86a8-d5fe10556339",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c120-766c-86a8-d5fe10556339"
}
}, - "override_settings": {
- "data": {
- "id": "01a09f75-c124-7ccb-84ac-2e29a3de5977",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-c124-7ccb-84ac-2e29a3de5977"
}
}
}, - "links": {
- "git_remote": "/api/projects/opc/git_remotes/01a09f75-c0fb-7d7e-aa1f-fdab11daa9f4",
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc/environments/dev",
- "self": "/api/projects/opc/environments/dev/changes/01a09f75-c115-7d6c-a726-0240fc78ac6d",
- "log_lines": "/api/changes/01a09f75-c115-7d6c-a726-0240fc78ac6d/log_lines"
}, - "meta": { }
}
], - "included": [
- {
- "id": "01a09f75-c118-7660-aa33-33c0250890f2",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "action": "input",
- "change_id": "01a09f75-c115-7d6c-a726-0240fc78ac6d",
- "child_execution_strategy": "sequential",
- "full_path": "input",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "success": {
- "ended_at": "2026-09-14T10:28:09.623743Z",
- "started_at": "2026-09-14T10:28:09.623743Z"
}
}, - "step_sequence": 1,
- "step_type": "standard",
- "description": null,
- "step_name": "input",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:13.893503Z",
- "started_at": "2026-09-14T10:22:13.893503Z",
- "finished_at": "2026-09-14T10:24:51.677116Z",
- "updated_at": "2026-09-14T10:28:09.628278Z",
- "status_code": "success"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c13e-74b7-be24-ddbb3c6c8c59",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c13e-74b7-be24-ddbb3c6c8c59"
}
}, - "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [
- {
- "id": "01a09f75-c0cc-7899-941f-091a9bcbe90e",
- "type": "properties_version"
}, - {
- "id": "01a09f75-c0f1-76df-9ca4-ca5e278561ff",
- "type": "properties_version"
}, - {
- "id": "01a09f75-c122-77e8-a755-46125b42a5f4",
- "type": "properties_version"
}
]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f75-c115-7d6c-a726-0240fc78ac6d",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f75-c115-7d6c-a726-0240fc78ac6d",
- "change": "/api/projects/opc/environments/dev/changes/01a09f75-c115-7d6c-a726-0240fc78ac6d",
- "log_lines": "/api/steps/01a09f75-c118-7660-aa33-33c0250890f2/log_lines",
- "self": "/api/steps/01a09f75-c118-7660-aa33-33c0250890f2"
}, - "meta": { }
}, - {
- "id": "01a09f75-c0c5-7d5e-9ea2-c22996703528",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "maura-940",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c0c7-7fbb-907b-344f0de86c03",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c0c7-7fbb-907b-344f0de86c03"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f75-c0d0-7c44-a5b2-74251f8f3e74",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-c0d0-7c44-a5b2-74251f8f3e74"
}
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - {
- "id": "01a09f75-c0e6-7fd9-aad2-3529c4d27213",
- "type": "environment",
- "attributes": {
- "code": "dev",
- "name": "Development",
- "description": "OpsChain development environment",
- "archived": false,
- "created_by": "roderick-941"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c0eb-7c8b-a6c8-627e1fabb83e",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c0eb-7c8b-a6c8-627e1fabb83e"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f75-c0c5-7d5e-9ea2-c22996703528",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f75-c0f4-7cd1-9967-7bb1d59c3083",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-c0f4-7cd1-9967-7bb1d59c3083"
}
}, - "parent": {
- "data": {
- "id": "01a09f75-c0c5-7d5e-9ea2-c22996703528",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f75-c0c5-7d5e-9ea2-c22996703528",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev",
- "bookmarks": "/api/projects/opc/environments/dev/bookmarks",
- "changes": "/api/projects/opc/environments/dev/changes",
- "scheduled_activities": "/api/projects/opc/environments/dev/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/dev/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true,
- "execute": true
}, - "partial_response": false,
- "has_any": true
}
}Creates a change in a specific project, environment or asset.
Notes:
changes path
(e.g. POST to /api/projects/{project_code}/changes) the parent_path request attributes must not be supplied
as the parent will be derived from the path./api/projects/{project_code}/assets/{asset_code}/changes)
the git_remote_name and git_rev attributes must not be supplied as the Git remote and revision will be
derived from the asset's template.retry attribute (together with a change relationship) retries an existing change that finished in an
error, cancelled or aborted state instead of creating a change from scratch. The retry creates a new change that
reuses the original change's action, commit, properties and step tree; steps that already succeeded are preserved
and are not run again. The original change is left untouched.required | object |
{- "data": {
- "attributes": {
- "metadata": {
- "microchip": "copying"
}, - "scheduled_activity_id": null,
- "build_without_cache": false,
- "pod_per_step": true,
- "action_path": null,
- "static_settings": { },
- "state_timing_summary": { },
- "notify": { },
- "api_key_id": null,
- "skip_steps": [ ],
- "auto_continue_wait_steps": false,
- "starting_step": null,
- "generate_actions_request_id": null,
- "paused_at": null,
- "paused_by_id": null,
- "action": "input",
- "parent_path": "/projects/opc/environments/dev/assets/env_soa",
- "template_version": "2023_Q4_2"
}
}
}{- "data": {
- "id": "01a09f75-c3dd-7f1f-aa51-de73efcb55b8",
- "type": "change",
- "attributes": {
- "created_by": "logged_in_user",
- "step_name": "transmit",
- "action": "transmit",
- "build_without_cache": false,
- "auto_continue_wait_steps": false,
- "initial_step_tree": { },
- "metadata": {
- "matrix": "bypassing"
}, - "scheduled": false,
- "approved_by": [ ],
- "rejected_by": [ ],
- "cancelled_by": null,
- "state_timing": {
- "initializing": {
- "ended_at": null,
- "started_at": "2026-09-14T10:28:10.336510Z"
}
}, - "state_timing_summary": { },
- "notify": { },
- "skip_steps": [ ],
- "starting_step": null,
- "cluster_name": null,
- "pause_state": "none",
- "status_code": "initializing",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:28:10.332826Z",
- "started_at": "2026-09-14T10:28:10.327979Z",
- "finished_at": null,
- "updated_at": "2026-09-14T10:28:10.341685Z",
- "paused_at": null,
- "asset_name": null,
- "environment_name": "Development",
- "project_name": "OpsChain",
- "git_remote_name": "github",
- "git_rev": "main",
- "commit_sha": null,
- "requires_approval_from": null
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f75-c27f-73d7-a257-8916eda7a4a3",
- "type": "project"
}, - {
- "id": "01a09f75-c2a1-7201-b8ab-de5d37657c2d",
- "type": "environment"
}
]
}, - "root_step": {
- "data": {
- "id": "01a09f75-c3e1-7745-b4ca-dc4496c3a5c1",
- "type": "step"
}, - "links": {
- "related": "/api/steps/01a09f75-c3e1-7745-b4ca-dc4496c3a5c1"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f75-c3e1-7745-b4ca-dc4496c3a5c1",
- "type": "step"
}
]
}, - "workflow_run": {
- "data": null
}, - "workflow": {
- "data": null
}, - "override_properties": {
- "data": {
- "id": "01a09f75-c3eb-7321-a011-00ea0fe018d0",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c3eb-7321-a011-00ea0fe018d0"
}
}, - "override_settings": {
- "data": {
- "id": "01a09f75-c3f2-723c-b84a-680e8016bd1a",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-c3f2-723c-b84a-680e8016bd1a"
}
}
}, - "links": {
- "git_remote": "/api/projects/opc/git_remotes/01a09f75-c2b9-7835-b64f-145bd30d8108",
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc/environments/dev",
- "self": "/api/projects/opc/environments/dev/changes/01a09f75-c3dd-7f1f-aa51-de73efcb55b8",
- "log_lines": "/api/changes/01a09f75-c3dd-7f1f-aa51-de73efcb55b8/log_lines"
}, - "meta": { }
}, - "included": [
- {
- "id": "01a09f75-c3e1-7745-b4ca-dc4496c3a5c1",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "action": "transmit",
- "change_id": "01a09f75-c3dd-7f1f-aa51-de73efcb55b8",
- "child_execution_strategy": "sequential",
- "full_path": "transmit",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "initializing": {
- "ended_at": null,
- "started_at": "2026-09-14T10:28:10.336510Z"
}
}, - "step_sequence": 1,
- "step_type": "standard",
- "description": null,
- "step_name": "transmit",
- "skip_requested": false,
- "created_at": "2026-09-14T10:28:10.336510Z",
- "started_at": "2026-09-14T10:28:10.327979Z",
- "finished_at": null,
- "updated_at": "2026-09-14T10:28:10.341685Z",
- "status_code": "initializing"
}, - "relationships": {
- "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [ ]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f75-c3dd-7f1f-aa51-de73efcb55b8",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f75-c3dd-7f1f-aa51-de73efcb55b8",
- "change": "/api/projects/opc/environments/dev/changes/01a09f75-c3dd-7f1f-aa51-de73efcb55b8",
- "log_lines": "/api/steps/01a09f75-c3e1-7745-b4ca-dc4496c3a5c1/log_lines",
- "self": "/api/steps/01a09f75-c3e1-7745-b4ca-dc4496c3a5c1"
}, - "meta": { }
}
]
}Shows a change, including it's parent nodes.
| change_id required | string Example: 01a09f75-3196-7896-96b4-c9b3045b38ce change id |
| include | string Example: include=steps,parents Include the change steps and parents in the response |
| fields[<resource_type>] |
{- "data": {
- "id": "01a09f75-c5ed-769b-80c2-9e597b7acac2",
- "type": "change",
- "attributes": {
- "created_by": "reggie.raynor-965",
- "step_name": "navigate",
- "action": "navigate",
- "build_without_cache": false,
- "auto_continue_wait_steps": false,
- "initial_step_tree": { },
- "metadata": {
- "monitor": "backing up"
}, - "scheduled": false,
- "approved_by": [ ],
- "rejected_by": [ ],
- "cancelled_by": null,
- "state_timing": {
- "success": {
- "ended_at": "2026-09-14T10:28:10.863267Z",
- "started_at": "2026-09-14T10:28:10.863267Z"
}
}, - "state_timing_summary": { },
- "notify": { },
- "skip_steps": [ ],
- "starting_step": null,
- "cluster_name": null,
- "pause_state": "none",
- "status_code": "success",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:28:10.860458Z",
- "started_at": "2026-09-14T10:22:39.577084Z",
- "finished_at": "2026-09-14T10:25:02.810972Z",
- "updated_at": "2026-09-14T10:28:10.866618Z",
- "paused_at": null,
- "asset_name": null,
- "environment_name": "Development",
- "project_name": "OpsChain",
- "git_remote_name": "github",
- "git_rev": "main",
- "commit_sha": "2f78e831f883845fb665bf0e1581b29fec74967f",
- "requires_approval_from": null
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c611-79ac-8477-2c9a36d16aed",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c611-79ac-8477-2c9a36d16aed"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f75-c5a2-72b1-9f40-d10f1f044bcf",
- "type": "project"
}, - {
- "id": "01a09f75-c5c1-7721-9eb6-b338bc550000",
- "type": "environment"
}
]
}, - "root_step": {
- "data": {
- "id": "01a09f75-c5ef-7de1-aaed-1846de229e9c",
- "type": "step"
}, - "links": {
- "related": "/api/steps/01a09f75-c5ef-7de1-aaed-1846de229e9c"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f75-c5ef-7de1-aaed-1846de229e9c",
- "type": "step"
}
]
}, - "workflow_run": {
- "data": null
}, - "workflow": {
- "data": null
}, - "override_properties": {
- "data": {
- "id": "01a09f75-c5f5-7faf-8b01-89fd33a31281",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c5f5-7faf-8b01-89fd33a31281"
}
}, - "override_settings": {
- "data": {
- "id": "01a09f75-c5fa-73b0-82bc-3c92b5ef8c63",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-c5fa-73b0-82bc-3c92b5ef8c63"
}
}
}, - "links": {
- "git_remote": "/api/projects/opc/git_remotes/01a09f75-c5d4-7d55-b88e-1f30697a4159",
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc/environments/dev",
- "self": "/api/projects/opc/environments/dev/changes/01a09f75-c5ed-769b-80c2-9e597b7acac2",
- "log_lines": "/api/changes/01a09f75-c5ed-769b-80c2-9e597b7acac2/log_lines"
}, - "meta": {
- "wait_queue": [ ],
- "blocking_queue": [ ]
}
}, - "included": [
- {
- "id": "01a09f75-c5ef-7de1-aaed-1846de229e9c",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "action": "navigate",
- "change_id": "01a09f75-c5ed-769b-80c2-9e597b7acac2",
- "child_execution_strategy": "sequential",
- "full_path": "navigate",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "success": {
- "ended_at": "2026-09-14T10:28:10.863267Z",
- "started_at": "2026-09-14T10:28:10.863267Z"
}
}, - "step_sequence": 1,
- "step_type": "standard",
- "description": null,
- "step_name": "navigate",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:39.577084Z",
- "started_at": "2026-09-14T10:22:39.577084Z",
- "finished_at": "2026-09-14T10:25:02.810972Z",
- "updated_at": "2026-09-14T10:28:10.866618Z",
- "status_code": "success"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c611-79ac-8477-2c9a36d16aed",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c611-79ac-8477-2c9a36d16aed"
}
}, - "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [
- {
- "id": "01a09f75-c5a9-7188-aca1-e1a929b18855",
- "type": "properties_version"
}, - {
- "id": "01a09f75-c5cb-78ca-8e89-05f9acdb59e2",
- "type": "properties_version"
}, - {
- "id": "01a09f75-c5f8-7057-ad14-a7381539af2d",
- "type": "properties_version"
}
]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f75-c5ed-769b-80c2-9e597b7acac2",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f75-c5ed-769b-80c2-9e597b7acac2",
- "change": "/api/projects/opc/environments/dev/changes/01a09f75-c5ed-769b-80c2-9e597b7acac2",
- "log_lines": "/api/steps/01a09f75-c5ef-7de1-aaed-1846de229e9c/log_lines",
- "self": "/api/steps/01a09f75-c5ef-7de1-aaed-1846de229e9c"
}, - "meta": { }
}, - {
- "id": "01a09f75-c5a2-72b1-9f40-d10f1f044bcf",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "magda.boyle-962",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c5a4-7334-a515-68628ba20a67",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c5a4-7334-a515-68628ba20a67"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f75-c5ac-7cc8-9840-4ac7c28da3d6",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-c5ac-7cc8-9840-4ac7c28da3d6"
}
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - {
- "id": "01a09f75-c5c1-7721-9eb6-b338bc550000",
- "type": "environment",
- "attributes": {
- "code": "dev",
- "name": "Development",
- "description": "OpsChain development environment",
- "archived": false,
- "created_by": "joesph-963"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-c5c5-7ff3-b658-ea5ad8af063c",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-c5c5-7ff3-b658-ea5ad8af063c"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f75-c5a2-72b1-9f40-d10f1f044bcf",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f75-c5ce-7803-88a1-6887745109d4",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-c5ce-7803-88a1-6887745109d4"
}
}, - "parent": {
- "data": {
- "id": "01a09f75-c5a2-72b1-9f40-d10f1f044bcf",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f75-c5a2-72b1-9f40-d10f1f044bcf",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev",
- "bookmarks": "/api/projects/opc/environments/dev/bookmarks",
- "changes": "/api/projects/opc/environments/dev/changes",
- "scheduled_activities": "/api/projects/opc/environments/dev/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/dev/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
]
}Show the converged settings for a change, including any change-specific setting overrides merged on top of the asset's settings hierarchy.
The response includes a setting_sources meta object that attributes each setting value to its originating source.
| change_id required | string Example: 01a09f75-3196-7896-96b4-c9b3045b38ce change id |
{- "data": {
- "id": "01a09f75-ca9b-7719-851f-03fbcfd0ef7e",
- "type": "converged_settings",
- "attributes": {
- "data": {
- "dockerfile": "Dockerfile_custom",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev/converged_settings"
}, - "meta": {
- "setting_sources": {
- "by_setting": {
- "dockerfile": "Change",
- "requires_approval_from": "Project: OpsChain (opc)"
}
}
}
}
}Converge the root step properties for a change.
The optional action_stage argument can be:
| change_id required | string Example: 01a09f75-3196-7896-96b4-c9b3045b38ce change id |
| action_stage | string Example: action_stage=pre Converge the pre or post action properties |
{- "data": {
- "id": "reboot (post)",
- "type": "converged_properties",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}, - "firewall": "generating"
}
}, - "relationships": {
- "repository_properties": {
- "data": [ ]
}, - "properties": {
- "data": [
- {
- "id": "01a09f75-cce2-7669-82ba-bc8a47cae85a",
- "type": "properties_version"
}, - {
- "id": "01a09f75-cd0f-7290-882b-f6662f1d4d24",
- "type": "properties_version"
}, - {
- "id": "01a09f75-cd41-7945-a70d-6affa20e0f9a",
- "type": "properties_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev/converged_properties"
}, - "meta": {
- "property_sources": {
- "by_property": {
- "any_key": "Project: OpsChain (opc)",
- "another_key": "Project: OpsChain (opc)",
- "nested": {
- "key": "Project: OpsChain (opc)"
}, - "firewall": "Change: Change properties"
}
}
}
}, - "included": [
- {
- "id": "01a09f75-cce2-7669-82ba-bc8a47cae85a",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:28:12.641838Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-ccdd-7a8e-b0e0-5ef5a5ed1535",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-ccdd-7a8e-b0e0-5ef5a5ed1535"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f75-ccdd-7a8e-b0e0-5ef5a5ed1535/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f75-ccdd-7a8e-b0e0-5ef5a5ed1535/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f75-cd0f-7290-882b-f6662f1d4d24",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:28:12.686739Z",
- "owner_type": "Environment"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-cd09-7430-a8c2-d4aafbc6008c",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-cd09-7430-a8c2-d4aafbc6008c"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f75-cd09-7430-a8c2-d4aafbc6008c/versions",
- "owner": "/api/projects/opc/environments/dev",
- "self": "/api/properties/01a09f75-cd09-7430-a8c2-d4aafbc6008c/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f75-cd41-7945-a70d-6affa20e0f9a",
- "type": "properties_version",
- "attributes": {
- "data": {
- "firewall": "generating"
}, - "version": 1,
- "created_at": "2026-09-14T10:28:12.736953Z",
- "owner_type": "Change"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-cd3f-7451-bab5-57086c080770",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-cd3f-7451-bab5-57086c080770"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f75-cd3f-7451-bab5-57086c080770/versions",
- "owner": "/api/projects/opc/environments/dev/changes/01a09f75-cd36-7872-9ad4-048bc7d8d369",
- "self": "/api/properties/01a09f75-cd3f-7451-bab5-57086c080770/versions/1"
}, - "meta": { }
}
]
}Lists all scheduled activities.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[project_code_eq]=opc API filtering guide. Named filters: |
| include | string Example: include=parents Include the scheduled change parents in the response |
| fields[<resource_type>] |
{- "data": [
- {
- "id": "01a09f75-96d9-783f-9bfe-12e1176a340b",
- "type": "scheduled_change",
- "attributes": {
- "created_by": "annetta.huels-687",
- "cron_schedule": "12 8 16 12 2",
- "repeat": true,
- "run_count": 0,
- "maximum_run_count": null,
- "enabled": true,
- "allow_parallel_execution": false,
- "metadata": {
- "card": "bypassing"
}, - "property_overrides": {
- "circuit": "programming"
}, - "notify": {
- "events": [
- "success"
], - "ldap_groups": [
- "admin"
]
}, - "skip_steps": [ ],
- "created_at": "2026-09-14T10:27:58.808406Z",
- "updated_at": "2026-09-14T10:27:58.808406Z",
- "next_run_at": "2026-11-30T21:12:00.000000Z",
- "run_at": null,
- "end_at": null,
- "action": "input",
- "new_commits_only": true,
- "git_rev": "neural",
- "auto_continue_wait_steps": false,
- "commit_file_patterns": [
- {
- "match": "**/*.rb",
- "negate": false
}, - {
- "match": "docs/**/*",
- "negate": true
}
], - "commit_file_pattern_match": "any",
- "project_name": "OpsChain",
- "project_code": "opc",
- "settings_overrides": {
- "dockerfile": "Dockerfile_custom"
}, - "asset_code": null,
- "asset_name": null,
- "environment_code": "dev",
- "environment_name": "Development",
- "git_remote_name": "github"
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f75-9695-72b0-a074-bf29e5fe8fea",
- "type": "project"
}, - {
- "id": "01a09f75-96b6-7739-91fa-d318693e3096",
- "type": "environment"
}
]
}
}, - "links": {
- "git_remote": "/api/projects/opc/git_remotes/01a09f75-96cc-7713-96e0-ff180aed3bbf",
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc/environments/dev",
- "self": "/api/scheduled_activities/01a09f75-96d9-783f-9bfe-12e1176a340b"
}
}, - {
- "id": "01a09f75-98a2-7fde-97bb-4ec1afba09d3",
- "type": "scheduled_workflow",
- "attributes": {
- "created_by": "ema-694",
- "cron_schedule": "18 7 11 8 *",
- "repeat": true,
- "run_count": 0,
- "maximum_run_count": null,
- "enabled": true,
- "allow_parallel_execution": false,
- "metadata": {
- "port": "quantifying"
}, - "property_overrides": {
- "card": "transmitting"
}, - "notify": {
- "events": [
- "success"
], - "ldap_groups": [
- "admin"
]
}, - "skip_steps": [ ],
- "created_at": "2026-09-14T10:27:59.265766Z",
- "updated_at": "2026-09-14T10:27:59.265766Z",
- "next_run_at": "2027-08-10T21:18:00.000000Z",
- "run_at": null,
- "end_at": null,
- "workflow_code": "assets",
- "version": 2,
- "project_name": "OpsChain",
- "project_code": "opc"
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f75-9695-72b0-a074-bf29e5fe8fea",
- "type": "project"
}
]
}
}, - "links": {
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc",
- "self": "/api/scheduled_activities/01a09f75-98a2-7fde-97bb-4ec1afba09d3",
- "workflow": "/api/projects/opc/workflows/assets",
- "workflow_version": "/api/projects/opc/workflows/assets/versions/2"
}
}
], - "included": [
- {
- "id": "01a09f75-9695-72b0-a074-bf29e5fe8fea",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "glenna_mclaughlin-685",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-9697-75ef-9153-a0b6b7a160d6",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-9697-75ef-9153-a0b6b7a160d6"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f75-96a1-712d-b8eb-6f3da6c2df46",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-96a1-712d-b8eb-6f3da6c2df46"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f75-96b6-7739-91fa-d318693e3096",
- "type": "environment"
}, - {
- "id": "01a09f75-973c-70d7-8568-0d5f588d0f3d",
- "type": "asset"
}, - {
- "id": "01a09f75-9846-78eb-b8f2-6fdf454e5de2",
- "type": "asset"
}
]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - {
- "id": "01a09f75-96b6-7739-91fa-d318693e3096",
- "type": "environment",
- "attributes": {
- "code": "dev",
- "name": "Development",
- "description": "OpsChain development environment",
- "archived": false,
- "created_by": "stan-686"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-96bb-79b5-b133-9ed724463622",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-96bb-79b5-b133-9ed724463622"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f75-9695-72b0-a074-bf29e5fe8fea",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f75-96c4-7be0-8e05-1bf2905e4ffa",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-96c4-7be0-8e05-1bf2905e4ffa"
}
}, - "parent": {
- "data": {
- "id": "01a09f75-9695-72b0-a074-bf29e5fe8fea",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f75-9695-72b0-a074-bf29e5fe8fea",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev",
- "bookmarks": "/api/projects/opc/environments/dev/bookmarks",
- "changes": "/api/projects/opc/environments/dev/changes",
- "scheduled_activities": "/api/projects/opc/environments/dev/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/dev/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}, - "has_any": true
}
}Creates a scheduled activity in a specific project, environment or asset.
Notes:
When creating scheduled activities via a project, environment or asset scheduled_activities path
(e.g. POST to /api/projects/{project_code}/scheduled_activities) the parent_path request attributes must not be supplied
as the parent will be derived from the path.
When creating scheduled activities for assets (e.g. POST to /api/projects/{project_code}/assets/{asset_code}/scheduled_activities)
the git_remote_name and git_rev attributes must not be supplied as the Git remote and revision will be
derived from the asset's template.
See the various payload examples to understand the required fields for each possible request to this endpoint.
required | object |
{- "data": {
- "attributes": {
- "git_rev": "master",
- "action": "install_os",
- "cron_schedule": "51 17 16 4 3",
- "new_commits_only": false,
- "repeat": true,
- "metadata": {
- "transmitter": "backing up"
}, - "run_at": null,
- "run_count": 0,
- "maximum_run_count": null,
- "end_at": null,
- "allow_parallel_execution": false,
- "property_overrides": {
- "bus": "bypassing"
}, - "settings_overrides": {
- "dockerfile": "copying"
}, - "notify": {
- "events": [
- "success"
], - "ldap_groups": [
- "admin"
]
}, - "skip_steps": [ ],
- "auto_continue_wait_steps": false,
- "commit_file_patterns": [ ],
- "commit_file_pattern_match": "any",
- "parent_path": "/projects/opc/environments/dev",
- "git_remote_name": "github"
}
}
}{- "data": {
- "id": "01a09f75-9c5e-7f96-98f4-f8daaf705b32",
- "type": "scheduled_change",
- "attributes": {
- "created_by": "logged_in_user",
- "cron_schedule": "34 20 20 8 *",
- "repeat": true,
- "run_count": 0,
- "maximum_run_count": null,
- "enabled": true,
- "allow_parallel_execution": false,
- "metadata": {
- "transmitter": "programming"
}, - "property_overrides": {
- "interface": "overriding"
}, - "notify": {
- "events": [
- "success"
], - "ldap_groups": [
- "admin"
]
}, - "skip_steps": [ ],
- "created_at": "2026-09-14T10:28:00.221682Z",
- "updated_at": "2026-09-14T10:28:00.221682Z",
- "next_run_at": "2027-08-20T10:34:00.000000Z",
- "run_at": null,
- "end_at": null,
- "action": "different_action",
- "new_commits_only": false,
- "git_rev": "1080p",
- "auto_continue_wait_steps": false,
- "commit_file_patterns": [ ],
- "commit_file_pattern_match": "any",
- "project_name": "OpsChain",
- "project_code": "opc",
- "settings_overrides": {
- "repo_folder": "backing up"
}, - "asset_code": null,
- "asset_name": null,
- "environment_code": "dev",
- "environment_name": "Development",
- "git_remote_name": "github"
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f75-99c6-705b-ad33-495ba14f8324",
- "type": "project"
}, - {
- "id": "01a09f75-99e9-7fc5-8758-094b84f72998",
- "type": "environment"
}
]
}
}, - "links": {
- "git_remote": "/api/projects/opc/git_remotes/01a09f75-9a04-7435-877b-0b56132a7d72",
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc/environments/dev",
- "self": "/api/scheduled_activities/01a09f75-9c5e-7f96-98f4-f8daaf705b32"
}
}
}Shows a scheduled activity.
| scheduled_change_id required | string Example: 01a09f75-2772-76ed-ad5a-02bb1f7ec2cc scheduled change id |
| include | string Example: include=parents Include the scheduled change parents in the response |
| fields[<resource_type>] |
{- "data": {
- "id": "01a09f75-a15b-748f-9623-6fc27e1f5d28",
- "type": "scheduled_change",
- "attributes": {
- "created_by": "jamaal-742",
- "cron_schedule": "55 6 2 6 4",
- "repeat": true,
- "run_count": 0,
- "maximum_run_count": null,
- "enabled": true,
- "allow_parallel_execution": false,
- "metadata": {
- "system": "hacking"
}, - "property_overrides": {
- "card": "bypassing"
}, - "notify": {
- "events": [
- "success"
], - "ldap_groups": [
- "admin"
]
}, - "skip_steps": [ ],
- "created_at": "2026-09-14T10:28:01.497642Z",
- "updated_at": "2026-09-14T10:28:01.497642Z",
- "next_run_at": "2027-06-01T20:55:00.000000Z",
- "run_at": null,
- "end_at": null,
- "action": "compress",
- "new_commits_only": true,
- "git_rev": "online",
- "auto_continue_wait_steps": false,
- "commit_file_patterns": [
- {
- "match": "**/*.rb",
- "negate": false
}, - {
- "match": "docs/**/*",
- "negate": true
}
], - "commit_file_pattern_match": "any",
- "project_name": "OpsChain",
- "project_code": "opc",
- "settings_overrides": {
- "dockerfile": "Dockerfile_custom"
}, - "asset_code": null,
- "asset_name": null,
- "environment_code": "dev",
- "environment_name": "Development",
- "git_remote_name": "github"
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f75-a099-7b13-8af7-36fe8566bd69",
- "type": "project"
}, - {
- "id": "01a09f75-a0fb-7ace-b93b-f37253707ac2",
- "type": "environment"
}
]
}
}, - "links": {
- "git_remote": "/api/projects/opc/git_remotes/01a09f75-a145-7fb6-b038-6df897ad1cba",
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc/environments/dev",
- "self": "/api/scheduled_activities/01a09f75-a15b-748f-9623-6fc27e1f5d28"
}
}, - "included": [
- {
- "id": "01a09f75-a099-7b13-8af7-36fe8566bd69",
- "type": "project",
- "attributes": {
- "code": "opc",
- "name": "OpsChain",
- "description": "OpsChain project",
- "archived": false,
- "created_by": "ming_champlin-740",
- "project_type": "Enterprise"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-a09f-73da-be9d-60a09ec6e28c",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-a09f-73da-be9d-60a09ec6e28c"
}
}, - "parents": {
- "data": [ ]
}, - "settings": {
- "data": {
- "id": "01a09f75-a0bc-7e1d-b77f-4a23dc944f5e",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-a0bc-7e1d-b77f-4a23dc944f5e"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f75-a0fb-7ace-b93b-f37253707ac2",
- "type": "environment"
}, - {
- "id": "01a09f75-a23c-781b-898e-6b508de9d1ee",
- "type": "asset"
}, - {
- "id": "01a09f75-a32d-7b01-93d8-421335929ffa",
- "type": "asset"
}
]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc",
- "bookmarks": "/api/projects/opc/bookmarks",
- "changes": "/api/projects/opc/changes",
- "scheduled_activities": "/api/projects/opc/scheduled_activities",
- "git_remotes": "/api/projects/opc/git_remotes",
- "workflows": "/api/projects/opc/workflows",
- "workflow_runs": "/api/projects/opc/workflow_runs",
- "templates": "/api/projects/opc/templates",
- "environments": "/api/projects/opc/environments",
- "assets": "/api/projects/opc/assets",
- "agents": "/api/projects/opc/agents"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": true,
- "requires_template": false,
- "child_node_types": [
- "environment",
- "asset",
- "agent"
], - "can_have_workflows": true,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "git_remotes": {
- "read": true,
- "update": true,
- "delete": true
}, - "templates": {
- "read": true,
- "update": true,
- "delete": true
}, - "workflows": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "workflow_runs": {
- "read": true,
- "execute": true,
- "delete": true
}, - "environments": {
- "read": true,
- "update": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "agents": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}, - {
- "id": "01a09f75-a0fb-7ace-b93b-f37253707ac2",
- "type": "environment",
- "attributes": {
- "code": "dev",
- "name": "Development",
- "description": "OpsChain development environment",
- "archived": false,
- "created_by": "ahmad-741"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f75-a109-738b-94de-3f4c5cbd8ef4",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f75-a109-738b-94de-3f4c5cbd8ef4"
}
}, - "parents": {
- "data": [
- {
- "id": "01a09f75-a099-7b13-8af7-36fe8566bd69",
- "type": "project"
}
]
}, - "settings": {
- "data": {
- "id": "01a09f75-a137-732f-978a-6b7025ac8920",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f75-a137-732f-978a-6b7025ac8920"
}
}, - "parent": {
- "data": {
- "id": "01a09f75-a099-7b13-8af7-36fe8566bd69",
- "type": "project"
}
}, - "project": {
- "data": {
- "id": "01a09f75-a099-7b13-8af7-36fe8566bd69",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}, - "children": {
- "data": [ ]
}, - "bookmarks": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev",
- "bookmarks": "/api/projects/opc/environments/dev/bookmarks",
- "changes": "/api/projects/opc/environments/dev/changes",
- "scheduled_activities": "/api/projects/opc/environments/dev/scheduled_activities",
- "parent": "/api/projects/opc",
- "assets": "/api/projects/opc/environments/dev/assets"
}, - "meta": {
- "can_have_changes": true,
- "can_have_children": true,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [
- "asset"
], - "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "scheduled_activities": {
- "read": true,
- "update": true,
- "delete": true
}, - "changes": {
- "read": true,
- "execute": true,
- "delete": true
}, - "assets": {
- "read": true,
- "update": true,
- "delete": true
}, - "secrets": {
- "settings": true,
- "properties": true,
- "mintmodel": true
}, - "self": {
- "update": true,
- "delete": true
}
}
}
}
]
}Updates a scheduled activity in a specific project, environment or asset.
Notes:
parent_path, project_code,
environment_code and asset_code attributes must not be supplied - create a new scheduled activity against the
required parent instead./api/projects/{project_code}/assets/{asset_code}/scheduled_activities/{id})
the git_remote_name and git_rev attributes must not be supplied as the Git remote and revision will be
derived from the asset's template.| scheduled_change_id required | string Example: 01a09f75-2772-76ed-ad5a-02bb1f7ec2cc scheduled change id |
required | object |
{- "data": {
- "attributes": {
- "git_rev": "master",
- "action": "install_os",
- "cron_schedule": "16 21 7 2 5",
- "new_commits_only": true,
- "repeat": true,
- "metadata": {
- "alarm": "compressing"
}, - "run_at": null,
- "run_count": 0,
- "maximum_run_count": null,
- "end_at": null,
- "allow_parallel_execution": false,
- "property_overrides": {
- "firewall": "copying"
}, - "settings_overrides": {
- "repo_folder": "synthesizing"
}, - "notify": {
- "events": [
- "success"
], - "ldap_groups": [
- "admin"
]
}, - "skip_steps": [ ],
- "auto_continue_wait_steps": false,
- "commit_file_patterns": [ ],
- "commit_file_pattern_match": "any",
- "git_remote_name": "github"
}
}
}{- "data": {
- "id": "01a09f75-a695-7eb8-97ef-1441448c93c2",
- "type": "scheduled_change",
- "attributes": {
- "created_by": "ida-776",
- "cron_schedule": "11 3 26 3 1",
- "repeat": true,
- "run_count": 0,
- "maximum_run_count": 5,
- "enabled": true,
- "allow_parallel_execution": false,
- "metadata": {
- "driver": "hacking"
}, - "property_overrides": {
- "new": "property",
- "value": "overrides"
}, - "notify": {
- "events": [
- "success"
], - "ldap_groups": [
- "admin"
]
}, - "skip_steps": [ ],
- "created_at": "2026-09-14T10:28:02.836883Z",
- "updated_at": "2026-09-14T10:28:03.240785Z",
- "next_run_at": "2027-02-28T16:11:00.000000Z",
- "run_at": null,
- "end_at": null,
- "action": "new_action",
- "new_commits_only": true,
- "git_rev": "digital",
- "auto_continue_wait_steps": false,
- "commit_file_patterns": [
- {
- "match": "**/*.rb",
- "negate": false
}, - {
- "match": "docs/**/*",
- "negate": true
}
], - "commit_file_pattern_match": "any",
- "project_name": "OpsChain",
- "project_code": "opc",
- "settings_overrides": {
- "dockerfile": "Dockerfile_custom"
}, - "asset_code": null,
- "asset_name": null,
- "environment_code": "dev",
- "environment_name": "Development",
- "git_remote_name": "github"
}, - "relationships": {
- "parents": {
- "data": [
- {
- "id": "01a09f75-a650-744d-8032-c6e5303a8a2b",
- "type": "project"
}, - {
- "id": "01a09f75-a66f-791c-92f3-b34056a319dc",
- "type": "environment"
}
]
}
}, - "links": {
- "git_remote": "/api/projects/opc/git_remotes/01a09f75-a687-7fed-b402-f13fa088c916",
- "project": "/api/projects/opc",
- "parent": "/api/projects/opc/environments/dev",
- "self": "/api/scheduled_activities/01a09f75-a695-7eb8-97ef-1441448c93c2"
}
}
}Endpoints to interact with change steps.
Lists all steps.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[action_eq]=provision API filtering guide. Named filters: |
| limit | integer [ 1 .. 1000 ] Default: 1000 Example: limit=50 Limit the number of steps returned |
{- "data": [
- {
- "id": "01a09f76-a25d-7073-ba2c-60b9317f36fc",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "action": "compress",
- "change_id": "01a09f76-a25a-7cc7-afbc-760b3cac9fb7",
- "child_execution_strategy": "sequential",
- "full_path": "compress",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "success": {
- "ended_at": "2026-09-14T10:29:07.292426Z",
- "started_at": "2026-09-14T10:29:07.292426Z"
}
}, - "step_sequence": 1,
- "step_type": "standard",
- "description": "Deploy the release to the environment",
- "step_name": "compress",
- "skip_requested": false,
- "created_at": "2026-09-14T10:22:31.526021Z",
- "started_at": "2026-09-14T10:23:31.526021Z",
- "finished_at": "2026-09-14T10:25:24.931079Z",
- "updated_at": "2026-09-14T10:29:07.330383Z",
- "status_code": "success"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-a27e-76b0-8a4c-eba47e358969",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-a27e-76b0-8a4c-eba47e358969"
}
}, - "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [
- {
- "id": "01a09f76-a220-7f53-900c-a491655f517a",
- "type": "properties_version"
}, - {
- "id": "01a09f76-a23f-73b3-8dd1-26c7634e6554",
- "type": "properties_version"
}, - {
- "id": "01a09f76-a264-7f0f-9112-48e30e4e826e",
- "type": "properties_version"
}
]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f76-a25a-7cc7-afbc-760b3cac9fb7",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f76-a25a-7cc7-afbc-760b3cac9fb7",
- "change": "/api/projects/opc/environments/dev/changes/01a09f76-a25a-7cc7-afbc-760b3cac9fb7",
- "log_lines": "/api/steps/01a09f76-a25d-7073-ba2c-60b9317f36fc/log_lines",
- "self": "/api/steps/01a09f76-a25d-7073-ba2c-60b9317f36fc"
}, - "meta": { }
}
], - "meta": {
- "partial_response": false
}
}Shows a change step.
| step_id required | string Example: 01a09f75-31b4-7386-a28b-36ad8ba443bc step id |
{- "data": {
- "id": "01a09f76-a398-7f49-9a34-ad6f943abcca",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "action": "quantify",
- "change_id": "01a09f76-a396-79d1-b937-e85713f1ad83",
- "child_execution_strategy": "sequential",
- "full_path": "quantify",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "success": {
- "ended_at": "2026-09-14T10:29:07.608310Z",
- "started_at": "2026-09-14T10:29:07.608310Z"
}
}, - "step_sequence": 1,
- "step_type": "standard",
- "description": "Deploy the release to the environment",
- "step_name": "quantify",
- "skip_requested": false,
- "created_at": "2026-09-14T10:20:40.148080Z",
- "started_at": "2026-09-14T10:21:40.148080Z",
- "finished_at": "2026-09-14T10:24:10.254441Z",
- "updated_at": "2026-09-14T10:29:07.653175Z",
- "status_code": "success"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-a3c1-70b2-b6f4-60e73ca67906",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-a3c1-70b2-b6f4-60e73ca67906"
}
}, - "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [
- {
- "id": "01a09f76-a305-7101-8ac3-df306718fd83",
- "type": "properties_version"
}, - {
- "id": "01a09f76-a372-73b6-9aa3-a5a00a6c8d76",
- "type": "properties_version"
}, - {
- "id": "01a09f76-a3a3-724e-88ae-15ec84629a49",
- "type": "properties_version"
}
]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f76-a396-79d1-b937-e85713f1ad83",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f76-a396-79d1-b937-e85713f1ad83",
- "change": "/api/projects/opc/environments/dev/changes/01a09f76-a396-79d1-b937-e85713f1ad83",
- "log_lines": "/api/steps/01a09f76-a398-7f49-9a34-ad6f943abcca/log_lines",
- "self": "/api/steps/01a09f76-a398-7f49-9a34-ad6f943abcca"
}, - "meta": {
- "property_sources": {
- "by_property": {
- "any_key": "Project: OpsChain (opc)",
- "another_key": "Project: OpsChain (opc)",
- "nested": {
- "key": "Project: OpsChain (opc)"
}, - "monitor": "Change: Change properties"
}
}
}
}, - "included": [
- {
- "id": "01a09f76-a305-7101-8ac3-df306718fd83",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:29:07.460623Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-a300-7a18-a6d2-7ad79577d769",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-a300-7a18-a6d2-7ad79577d769"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-a300-7a18-a6d2-7ad79577d769/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f76-a300-7a18-a6d2-7ad79577d769/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-a372-73b6-9aa3-a5a00a6c8d76",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:29:07.569798Z",
- "owner_type": "Environment"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-a36b-79e5-be64-df419ea97220",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-a36b-79e5-be64-df419ea97220"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-a36b-79e5-be64-df419ea97220/versions",
- "owner": "/api/projects/opc/environments/dev",
- "self": "/api/properties/01a09f76-a36b-79e5-be64-df419ea97220/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-a3a3-724e-88ae-15ec84629a49",
- "type": "properties_version",
- "attributes": {
- "data": {
- "monitor": "calculating"
}, - "version": 1,
- "created_at": "2026-09-14T10:29:07.618638Z",
- "owner_type": "Change"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-a39f-7f37-b1c9-634453a38fb7",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-a39f-7f37-b1c9-634453a38fb7"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-a39f-7f37-b1c9-634453a38fb7/versions",
- "owner": "/api/projects/opc/environments/dev/changes/01a09f76-a396-79d1-b937-e85713f1ad83",
- "self": "/api/properties/01a09f76-a39f-7f37-b1c9-634453a38fb7/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-a3c1-70b2-b6f4-60e73ca67906",
- "type": "properties",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}, - "monitor": "calculating"
}, - "version": 1,
- "created_at": "2026-09-14T10:29:07.647603Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/steps/01a09f76-a398-7f49-9a34-ad6f943abcca"
}
}
}, - "links": {
- "self": "/api/properties/01a09f76-a3c1-70b2-b6f4-60e73ca67906",
- "current_version": "/api/properties/01a09f76-a3c1-70b2-b6f4-60e73ca67906/versions/1",
- "versions": "/api/properties/01a09f76-a3c1-70b2-b6f4-60e73ca67906/versions"
}
}
]
}Continues a "waiting" change step.
| step_id required | string Example: 01a09f75-385f-75a5-b3a9-ceec0fedab05 step id |
object |
{- "data": {
- "attributes": {
- "message": "Manually removed from load balancer.",
- "input_arguments": {
- "name": "John",
- "date": "2026-07-23"
}
}
}
}{- "data": {
- "id": "01a09f76-a5e0-704b-9224-5c5f16772220",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "action": "opschain_wait_step_2",
- "change_id": "01a09f76-a5dd-7ba6-937c-cd5d5171c5a1",
- "child_execution_strategy": "sequential",
- "full_path": "opschain_wait_step_2",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "success": {
- "ended_at": "2026-09-14T10:29:08.252019Z",
- "started_at": "2026-09-14T10:29:08.252019Z"
}, - "waiting": {
- "ended_at": "2026-09-14T10:29:08.252019Z",
- "started_at": "2026-09-14T10:29:08.191345Z"
}
}, - "step_sequence": 1,
- "step_type": "wait_step",
- "description": "Deploy the release to the environment",
- "step_name": "opschain_wait_step_2",
- "skip_requested": false,
- "created_at": "2026-09-14T10:19:52.348817Z",
- "started_at": "2026-09-14T10:20:52.348817Z",
- "finished_at": "2026-09-14T10:29:09.253290Z",
- "updated_at": "2026-09-14T10:29:09.277918Z",
- "status_code": "success"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-a601-7593-8908-a4f1b11533cd",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-a601-7593-8908-a4f1b11533cd"
}
}, - "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [
- {
- "id": "01a09f76-a597-74bf-a2ed-6f3bebd98eaf",
- "type": "properties_version"
}, - {
- "id": "01a09f76-a5bd-74dd-98e5-c06fa09ea428",
- "type": "properties_version"
}, - {
- "id": "01a09f76-a5e8-7476-b831-9a400d4e2745",
- "type": "properties_version"
}
]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f76-a5dd-7ba6-937c-cd5d5171c5a1",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f76-a5dd-7ba6-937c-cd5d5171c5a1",
- "change": "/api/projects/opc/environments/dev/changes/01a09f76-a5dd-7ba6-937c-cd5d5171c5a1",
- "log_lines": "/api/steps/01a09f76-a5e0-704b-9224-5c5f16772220/log_lines",
- "self": "/api/steps/01a09f76-a5e0-704b-9224-5c5f16772220"
}, - "meta": { }
}
}Approves a change step that needs approval.
| step_id required | string Example: 01a09f75-385f-75a5-b3a9-ceec0fedab05 step id |
object |
{- "data": {
- "attributes": {
- "message": "As per CR 7 👍"
}
}
}{- "data": {
- "id": "01a09f76-ad27-773c-a8d1-6aae5e69a9f3",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": [
- {
- "ldap_groups": [
- "an-ldap-group"
], - "approved_by": null
}
], - "action": "opschain_wait_step_4",
- "change_id": "01a09f76-ad25-708c-b9a0-187e3c2753f8",
- "child_execution_strategy": "sequential",
- "full_path": "opschain_wait_step_4",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "queued": {
- "ended_at": null,
- "started_at": "2026-09-14T10:29:10.113330Z"
}, - "waiting": {
- "ended_at": "2026-09-14T10:29:10.113330Z",
- "started_at": "2026-09-14T10:29:10.054781Z"
}
}, - "step_sequence": 1,
- "step_type": "wait_step",
- "description": "Deploy the release to the environment",
- "step_name": "opschain_wait_step_4",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:06.261165Z",
- "started_at": "2026-09-14T10:22:06.261165Z",
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:10.123658Z",
- "status_code": "queued"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-ad46-777a-80a2-c50705de4c5a",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-ad46-777a-80a2-c50705de4c5a"
}
}, - "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [
- {
- "id": "01a09f76-acd3-72a6-a035-28f928d76841",
- "type": "properties_version"
}, - {
- "id": "01a09f76-ad05-7d27-b032-390e8a493563",
- "type": "properties_version"
}, - {
- "id": "01a09f76-ad2e-7f87-a931-41e191c6063e",
- "type": "properties_version"
}
]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f76-ad25-708c-b9a0-187e3c2753f8",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f76-ad25-708c-b9a0-187e3c2753f8",
- "change": "/api/projects/opc/environments/dev/changes/01a09f76-ad25-708c-b9a0-187e3c2753f8",
- "log_lines": "/api/steps/01a09f76-ad27-773c-a8d1-6aae5e69a9f3/log_lines",
- "self": "/api/steps/01a09f76-ad27-773c-a8d1-6aae5e69a9f3"
}, - "meta": { }
}
}Rejects a change step that needs approval.
| step_id required | string Example: 01a09f75-385f-75a5-b3a9-ceec0fedab05 step id |
object |
{- "data": {
- "attributes": {
- "message": "Failed user acceptance testing"
}
}
}{- "data": {
- "id": "01a09f76-b13d-7268-b018-6f3b000d4067",
- "type": "step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": [
- {
- "ldap_groups": [
- "an-ldap-group"
], - "approved_by": null
}
], - "action": "opschain_wait_step_7",
- "change_id": "01a09f76-b13a-7cb6-a56d-9bc667aec7d7",
- "child_execution_strategy": "sequential",
- "full_path": "opschain_wait_step_7",
- "ignore_failure": false,
- "input_arguments": [ ],
- "state_timing": {
- "aborted": {
- "ended_at": "2026-09-14T10:29:11.163055Z",
- "started_at": "2026-09-14T10:29:11.163055Z"
}, - "waiting": {
- "ended_at": "2026-09-14T10:29:11.163055Z",
- "started_at": "2026-09-14T10:29:11.100528Z"
}
}, - "step_sequence": 1,
- "step_type": "wait_step",
- "description": "Deploy the release to the environment",
- "step_name": "opschain_wait_step_7",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:10.888440Z",
- "started_at": "2026-09-14T10:22:10.888440Z",
- "finished_at": "2026-09-14T10:29:11.163870Z",
- "updated_at": "2026-09-14T10:29:11.171879Z",
- "status_code": "aborted"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-b15d-72f7-868e-a143c6c1a3d5",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-b15d-72f7-868e-a143c6c1a3d5"
}
}, - "children": {
- "data": [ ]
}, - "pre_properties_versions": {
- "data": [
- {
- "id": "01a09f76-b0f5-7fd8-9148-215673d0385f",
- "type": "properties_version"
}, - {
- "id": "01a09f76-b11c-70bb-8421-a7b23378672d",
- "type": "properties_version"
}, - {
- "id": "01a09f76-b144-7d84-bcc1-3a3679e3b6d1",
- "type": "properties_version"
}
]
}, - "post_properties_versions": {
- "data": [ ]
}, - "change": {
- "data": {
- "id": "01a09f76-b13a-7cb6-a56d-9bc667aec7d7",
- "type": "change"
}
}
}, - "links": {
- "parent": "/api/changes/01a09f76-b13a-7cb6-a56d-9bc667aec7d7",
- "change": "/api/projects/opc/environments/dev/changes/01a09f76-b13a-7cb6-a56d-9bc667aec7d7",
- "log_lines": "/api/steps/01a09f76-b13d-7268-b018-6f3b000d4067/log_lines",
- "self": "/api/steps/01a09f76-b13d-7268-b018-6f3b000d4067"
}, - "meta": { }
}
}Show the converged settings for the change containing this step, including any change-specific setting overrides.
The response includes a setting_sources meta object that attributes each setting value to its originating source.
| step_id required | string Example: 01a09f75-31b4-7386-a28b-36ad8ba443bc step id |
{- "data": {
- "id": "01a09f76-b583-7cd8-84fd-2042b31786b1",
- "type": "converged_settings",
- "attributes": {
- "data": {
- "dockerfile": "Dockerfile_custom",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev/converged_settings"
}, - "meta": {
- "setting_sources": {
- "by_setting": {
- "dockerfile": "Change",
- "requires_approval_from": "Project: OpsChain (opc)"
}
}
}
}
}Converge the properties for a step.
The optional action_stage argument can be:
| step_id required | string Example: 01a09f75-31b4-7386-a28b-36ad8ba443bc step id |
| action_stage | string Example: action_stage=pre Converge the pre or post action properties |
{- "data": {
- "id": "bypass (post)",
- "type": "converged_properties",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}, - "array": "hacking"
}
}, - "relationships": {
- "repository_properties": {
- "data": [ ]
}, - "properties": {
- "data": [
- {
- "id": "01a09f76-b8f6-7487-b7ee-c69bb2a1c9fc",
- "type": "properties_version"
}, - {
- "id": "01a09f76-b930-79b1-8e8b-f3a97be4ffcb",
- "type": "properties_version"
}, - {
- "id": "01a09f76-b96f-75be-b70c-2d7544c3db42",
- "type": "properties_version"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/environments/dev/converged_properties"
}, - "meta": {
- "property_sources": {
- "by_property": {
- "any_key": "Project: OpsChain (opc)",
- "another_key": "Project: OpsChain (opc)",
- "nested": {
- "key": "Project: OpsChain (opc)"
}, - "array": "Change: Change properties"
}
}
}
}, - "included": [
- {
- "id": "01a09f76-b8f6-7487-b7ee-c69bb2a1c9fc",
- "type": "properties_version",
- "attributes": {
- "data": {
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}, - "version": 1,
- "created_at": "2026-09-14T10:29:13.077678Z",
- "owner_type": "Project"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-b8f1-70b3-a5f0-93cf5ca98dfa",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-b8f1-70b3-a5f0-93cf5ca98dfa"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-b8f1-70b3-a5f0-93cf5ca98dfa/versions",
- "owner": "/api/projects/opc",
- "self": "/api/properties/01a09f76-b8f1-70b3-a5f0-93cf5ca98dfa/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-b930-79b1-8e8b-f3a97be4ffcb",
- "type": "properties_version",
- "attributes": {
- "data": { },
- "version": 1,
- "created_at": "2026-09-14T10:29:13.135619Z",
- "owner_type": "Environment"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-b928-7d92-9a1a-b3f2b6123a81",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-b928-7d92-9a1a-b3f2b6123a81"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-b928-7d92-9a1a-b3f2b6123a81/versions",
- "owner": "/api/projects/opc/environments/dev",
- "self": "/api/properties/01a09f76-b928-7d92-9a1a-b3f2b6123a81/versions/1"
}, - "meta": { }
}, - {
- "id": "01a09f76-b96f-75be-b70c-2d7544c3db42",
- "type": "properties_version",
- "attributes": {
- "data": {
- "array": "hacking"
}, - "version": 1,
- "created_at": "2026-09-14T10:29:13.198699Z",
- "owner_type": "Change"
}, - "relationships": {
- "properties": {
- "data": {
- "id": "01a09f76-b96c-7add-bb39-3f789fa8d288",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-b96c-7add-bb39-3f789fa8d288"
}
}
}, - "links": {
- "versions": "/api/properties/01a09f76-b96c-7add-bb39-3f789fa8d288/versions",
- "owner": "/api/projects/opc/environments/dev/changes/01a09f76-b961-76bf-9cb7-a09318c2dc22",
- "self": "/api/properties/01a09f76-b96c-7add-bb39-3f789fa8d288/versions/1"
}, - "meta": { }
}
]
}List the log lines for a change.
| change_id required | string Example: 01a09f75-3196-7896-96b4-c9b3045b38ce |
| filter[<query/sort filter>]= | |
| download | string Example: download=change.log Download the log lines wth the specified file name. The logs will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-9e53-7fff-a9e5-d64cf03889bb",
- "type": "log_line",
- "attributes": {
- "message": "Numquam nobis laboriosam ratione.",
- "category": "action",
- "change_id": "01a09f76-9e2a-7023-85cb-108c5888e9a9",
- "step_id": "01a09f76-9e2c-7f02-bc3d-23ccfaf865e1",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}List the log lines for a change step.
| step_id required | string Example: 01a09f75-31b4-7386-a28b-36ad8ba443bc |
| include_child_steps | boolean Example: include_child_steps=true Whether to include logs for steps that are children of this step |
| filter[<query/sort filter>]= | |
| download | string Example: download=step.log Download the log lines wth the specified file name. The logs will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-a015-701e-8942-61a9508fd1cc",
- "type": "log_line",
- "attributes": {
- "message": "Odit cum dolorem nihil.",
- "category": "action",
- "change_id": "01a09f76-9feb-7eb3-bea5-e83280ba0690",
- "step_id": "01a09f76-9fee-74b0-9405-7b2b6aee13aa",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}List filtered log lines.
| filter[<query/sort filter>]= | |
| limit | integer [ 1 .. 10000 ] Default: 10000 Example: limit=50 Limit the number of log lines returned |
| download | string Example: download=opschain.log Download the filtered log lines wth the specified file name. The logs will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-a1b6-7a2e-af8b-0250f1f4c820",
- "type": "log_line",
- "attributes": {
- "message": "Nesciunt voluptas maiores rem.",
- "category": "action",
- "change_id": "01a09f76-a192-7361-8c6d-677315752ad7",
- "step_id": "01a09f76-a194-7574-a09a-82f4a5c40a97",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}List the workflow run log lines for a workflow run.
| workflow_run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b |
| filter[<query/sort filter>]= | |
| download | string Example: download=workflow_run.log Download the log lines wth the specified file name. The logs will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-e0cc-757c-b739-9d1f6d0b5a01",
- "type": "log_line",
- "attributes": {
- "message": "Porro voluptas nulla exercitationem.",
- "category": "action",
- "workflow_run_id": "01a09f76-de82-74f1-a2e9-28b53b2fb620",
- "workflow_step_id": "01a09f76-de88-7245-84be-bff8448b3d83",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}List the log lines for a workflow step.
| workflow_step_id required | string Example: 01a09f75-3b0c-7e8b-b65c-22feb130220f |
| include_child_steps | boolean Example: include_child_steps=true Whether to include logs for steps that are children of this step |
| filter[<query/sort filter>]= | |
| download | string Example: download=workflow_step.log Download the log lines wth the specified file name. The logs will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-eaf9-77ff-84f1-9d20d43e2a53",
- "type": "log_line",
- "attributes": {
- "message": "Eos doloribus possimus corporis.",
- "category": "action",
- "workflow_run_id": "01a09f76-e855-7848-b1b6-881c22c0b1d1",
- "workflow_step_id": "01a09f76-e85c-7f9b-9940-3529f018a514",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}List filtered workflow run log lines.
| filter[<query/sort filter>]= | |
| limit | integer [ 1 .. 10000 ] Default: 10000 Example: limit=50 Limit the number of workflow run log lines returned |
| download | string Example: download=opschain.log Download the filtered log lines wth the specified file name. The logs will be ordered from oldest to newest when this parameter is specified, irrespective of the sort order requested. |
{- "data": [
- {
- "id": "01a09f76-f187-772b-a50c-a9984ad64b79",
- "type": "log_line",
- "attributes": {
- "message": "Et veniam doloribus recusandae.",
- "category": "action",
- "workflow_run_id": "01a09f76-ef83-7eb6-af4f-ef3edab35a1d",
- "workflow_step_id": "01a09f76-ef88-7537-9cb3-646f93f96966",
- "logged_at": "2026-09-13T00:00:00.000000Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Endpoints to interact with workflow runs
Notes:
/workflow_runs - will return all workflow runs accessible to the user./project/{project_code}/workflow_runs - will return all workflow runs for all this project's workflows./project/{project_code}/workflows/{workflow_code}/workflow_runs - will return all workflow runs this workflow./<path/to/asset>/workflow_runs - will return all workflow runs that include a change for this asset.Lists all workflow runs.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[created_by_cont]=opschain API filtering guide. Named filters: |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of workflow runs returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f76-f55c-78b5-b7c6-ad6eb20ff070",
- "type": "workflow_run",
- "attributes": {
- "step_tree": {
- "id": "01a09f76-f562-7d09-ac7c-97bb489594b0",
- "name": "suscipit",
- "type": "workflow_noop_step",
- "child_execution_strategy": "sequential"
}, - "scheduled": false,
- "metadata": {
- "Span": "3.5.7",
- "Zamit": "0.3.7",
- "Keylex": "0.70",
- "Fixflex": "5.2",
- "Konklab": "8.32",
- "Domainer": "2.2.1",
- "Zaam-Dox": "5.15",
- "Daltfresh": "3.1",
- "Holdlamis": "7.3",
- "Ventosanzap": "7.1"
}, - "created_by": "blake.kozey-2540",
- "cancelled_by": null,
- "skip_steps": [ ],
- "pause_state": "none",
- "status_code": "success",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:29:28.539839Z",
- "started_at": "2026-09-14T10:19:46.243789Z",
- "finished_at": "2026-09-14T10:25:13.994191Z",
- "updated_at": "2026-09-14T10:29:28.548753Z",
- "paused_at": null,
- "project_name": "nisi897",
- "workflow_code": "child"
}, - "relationships": {
- "workflow_version": {
- "data": {
- "id": "01a09f76-f544-75ab-a689-c9c003d119f9",
- "type": "workflow_version"
}
}, - "workflow": {
- "data": {
- "id": "01a09f76-f538-72db-a548-224748aba543",
- "type": "workflow"
}
}, - "parent_workflow_step": {
- "data": {
- "id": "01a09f76-f567-76ac-8d2c-4db15788b573",
- "type": "workflow_workflow_step"
}
}, - "root_step": {
- "data": {
- "id": "01a09f76-f562-7d09-ac7c-97bb489594b0",
- "type": "workflow_noop_step"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f76-f562-7d09-ac7c-97bb489594b0",
- "type": "workflow_noop_step"
}
]
}, - "override_properties": {
- "data": {
- "id": "01a09f76-f55e-7edf-8b3a-6394ae3067c6",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-f55e-7edf-8b3a-6394ae3067c6"
}
}
}, - "links": {
- "parent": "/api/projects/awg0h",
- "self": "/api/projects/awg0h/workflows/child/runs/01a09f76-f55c-78b5-b7c6-ad6eb20ff070",
- "log_lines": "/api/workflow_runs/01a09f76-f55c-78b5-b7c6-ad6eb20ff070/log_lines"
}, - "meta": { }
}, - {
- "id": "01a09f76-f2ce-7b49-87bf-4e6e5b23ef6e",
- "type": "workflow_run",
- "attributes": {
- "step_tree": {
- "id": "01a09f76-f2d3-7eb8-ad2c-6cd6d472c7d3",
- "name": "atque",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f76-f2db-7258-89a7-f6b080b2706a",
- "name": "libero",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f76-f3b3-736b-9d19-e5de5159f432",
- "name": "navigate",
- "type": "workflow_change_step",
- "action": "navigate",
- "target": "/projects/o56cd/environments/1to6f/assets/lboyf"
}
], - "child_execution_strategy": "sequential"
}, - {
- "id": "01a09f76-f4de-7ac5-8920-30ebf7633a79",
- "name": "input",
- "type": "workflow_change_step",
- "action": "input",
- "target": "/projects/1jicw/environments/wbif9/assets/5ix2n"
}, - {
- "id": "01a09f76-f4ec-71ac-88bc-3c1494be39e1",
- "name": "Approval",
- "type": "workflow_wait_step",
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}
}, - {
- "id": "01a09f76-f567-76ac-8d2c-4db15788b573",
- "name": "child workflow",
- "type": "workflow_workflow_step",
- "target": "/projects/awg0h/workflows/child"
}
], - "child_execution_strategy": "sequential"
}, - "scheduled": false,
- "metadata": {
- "Bamity": "1.4.8",
- "Y-find": "0.6.8",
- "Zathin": "9.89",
- "Bitwolf": "4.9",
- "Home Ing": "5.6",
- "Overhold": "2.0",
- "Tampflex": "0.80",
- "Cardguard": "5.70",
- "Voyatouch": "0.8.8",
- "Solarbreeze": "0.33"
}, - "created_by": "sang_kiehn-2523",
- "cancelled_by": null,
- "skip_steps": [ ],
- "pause_state": "none",
- "status_code": "success",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:29:27.886100Z",
- "started_at": "2026-09-14T10:22:07.783136Z",
- "finished_at": "2026-09-14T10:25:53.374124Z",
- "updated_at": "2026-09-14T10:29:27.894547Z",
- "paused_at": null,
- "project_name": "OpsChain",
- "workflow_code": "assets"
}, - "relationships": {
- "workflow_version": {
- "data": {
- "id": "01a09f76-f298-7175-8ca8-6feadae108a2",
- "type": "workflow_version"
}
}, - "workflow": {
- "data": {
- "id": "01a09f76-f28a-7524-a71a-9ac6b712b593",
- "type": "workflow"
}
}, - "parent_workflow_step": {
- "data": null
}, - "root_step": {
- "data": {
- "id": "01a09f76-f2d3-7eb8-ad2c-6cd6d472c7d3",
- "type": "workflow_noop_step"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f76-f2d3-7eb8-ad2c-6cd6d472c7d3",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f76-f2db-7258-89a7-f6b080b2706a",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f76-f4de-7ac5-8920-30ebf7633a79",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f76-f4ec-71ac-88bc-3c1494be39e1",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f76-f567-76ac-8d2c-4db15788b573",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f76-f3b3-736b-9d19-e5de5159f432",
- "type": "workflow_change_step"
}
]
}, - "override_properties": {
- "data": {
- "id": "01a09f76-f2c4-70e5-823b-c0d77b800baa",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-f2c4-70e5-823b-c0d77b800baa"
}
}
}, - "links": {
- "parent": "/api/projects/opc",
- "self": "/api/projects/opc/workflows/assets/runs/01a09f76-f2ce-7b49-87bf-4e6e5b23ef6e",
- "log_lines": "/api/workflow_runs/01a09f76-f2ce-7b49-87bf-4e6e5b23ef6e/log_lines"
}, - "meta": { }
}
], - "included": [
- {
- "id": "01a09f76-f544-75ab-a689-c9c003d119f9",
- "type": "workflow_version",
- "attributes": {
- "code": "child",
- "name": "child workflow",
- "description": "child workflow",
- "draft": false,
- "archived": false,
- "created_by": "lavenia.wyman-2539",
- "created_at": "2026-09-14T10:29:28.489858Z",
- "updated_at": "2026-09-14T10:29:28.489872Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run child action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run child action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 1
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f76-f50d-754d-8931-d21bff2d9473",
- "type": "project"
}, - "links": {
- "related": "/api/projects/awg0h"
}
}
}, - "links": {
- "self": "/api/projects/awg0h/workflows/child/versions/1",
- "runs": "/api/projects/awg0h/workflows/child/versions/1/runs",
- "workflow": "/api/projects/awg0h/workflows/child"
}
}, - {
- "id": "01a09f76-f298-7175-8ca8-6feadae108a2",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "calvin-2521",
- "created_at": "2026-09-14T10:29:27.831506Z",
- "updated_at": "2026-09-14T10:29:27.843379Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f76-f1f2-7893-91f0-fa5d767d88b4",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true,
- "execute": true
}, - "partial_response": false
}
}Runs a pre-defined workflow.
Supplying the retry attribute (together with a workflow_run relationship) retries an existing workflow run that
finished in an error, cancelled or aborted state instead of running a workflow from scratch. The retry creates a
new workflow run; the original workflow run is left untouched.
required | object |
{- "data": {
- "attributes": {
- "project_code": "opc",
- "workflow_code": "assets"
}
}
}{- "data": {
- "id": "01a09f76-f953-7aea-aff2-728ba347b9b7",
- "type": "workflow_run",
- "attributes": {
- "step_tree": {
- "id": "01a09f76-f95a-7ba6-ae73-8c95b1a2ca03",
- "name": "assets workflow",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f76-f960-75a4-b39e-2766b2908f90",
- "name": "run asset action",
- "type": "workflow_change_step",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "child_execution_strategy": "sequential"
}, - "scheduled": false,
- "metadata": { },
- "created_by": "logged_in_user",
- "cancelled_by": null,
- "skip_steps": [ ],
- "pause_state": "none",
- "status_code": "pending",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:29:29.555095Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:29.564837Z",
- "paused_at": null,
- "project_name": "OpsChain",
- "workflow_code": "assets"
}, - "relationships": {
- "workflow_version": {
- "data": {
- "id": "01a09f76-f6c7-7172-8a38-dbc40c4a53a1",
- "type": "workflow_version"
}
}, - "workflow": {
- "data": {
- "id": "01a09f76-f6b8-783b-9571-6b0ffae9efac",
- "type": "workflow"
}
}, - "parent_workflow_step": {
- "data": null
}, - "root_step": {
- "data": {
- "id": "01a09f76-f95a-7ba6-ae73-8c95b1a2ca03",
- "type": "workflow_noop_step"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f76-f95a-7ba6-ae73-8c95b1a2ca03",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f76-f960-75a4-b39e-2766b2908f90",
- "type": "workflow_change_step"
}
]
}, - "override_properties": {
- "data": {
- "id": "01a09f76-f955-7d2d-8be5-3865d690a376",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-f955-7d2d-8be5-3865d690a376"
}
}
}, - "links": {
- "parent": "/api/projects/opc",
- "self": "/api/projects/opc/workflows/assets/runs/01a09f76-f953-7aea-aff2-728ba347b9b7",
- "log_lines": "/api/workflow_runs/01a09f76-f953-7aea-aff2-728ba347b9b7/log_lines"
}, - "meta": { }
}, - "included": [
- {
- "id": "01a09f76-f6c7-7172-8a38-dbc40c4a53a1",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "rossie_lindgren-2549",
- "created_at": "2026-09-14T10:29:28.902467Z",
- "updated_at": "2026-09-14T10:29:28.916207Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa",
- "source": "steps/1",
- "change_parent": {
- "id": "01a09f76-f67f-7201-814d-27ecc467ffe6",
- "path": "/projects/opc/assets/prj_soa",
- "parent_path": "/projects/opc",
- "project_id": "01a09f76-f61e-76d0-adce-3131dcd68e8d",
- "node_type": "asset",
- "parent_id": "01a09f76-f61e-76d0-adce-3131dcd68e8d",
- "code": "prj_soa",
- "name": "Project asset",
- "description": "Project asset description",
- "archived": false,
- "created_at": "2026-09-14T10:29:28.830Z",
- "updated_at": "2026-09-14T10:29:28.830Z",
- "project_type": null,
- "template_version_id": "01a09f76-f65b-7aa1-8cca-a9e30c36d643",
- "created_by_id": "01a09f76-f66f-760e-b24d-82137a05c1e8",
- "settings_generation": 1
}, - "action_template_version": {
- "id": "01a09f76-f65b-7aa1-8cca-a9e30c36d643",
- "commit_id": "01a09f76-f651-72ee-b8d1-6a3d225f9433",
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "created_at": "2026-09-14T10:29:28.794Z",
- "updated_at": "2026-09-14T10:29:28.794Z",
- "state": "ready",
- "archived": false,
- "has_mintmodel": true,
- "template_id": "01a09f76-f63b-783f-8563-40fc28a7d185",
- "locked": false,
- "pending_commit_id": null,
- "float_git_rev": false,
- "created_by_id": "01a09f76-f653-7543-b473-ee7fa89512c5"
}
}
], - "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f76-f61e-76d0-adce-3131dcd68e8d",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}, - {
- "id": "01a09f76-f95a-7ba6-ae73-8c95b1a2ca03",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "logged_in_user",
- "name": "assets workflow",
- "step_sequence": 1,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:29.562187Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:29.564837Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f76-f953-7aea-aff2-728ba347b9b7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f76-f960-75a4-b39e-2766b2908f90",
- "type": "workflow_change_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f76-f953-7aea-aff2-728ba347b9b7/steps/01a09f76-f95a-7ba6-ae73-8c95b1a2ca03",
- "log_lines": "/api/workflow_steps/01a09f76-f95a-7ba6-ae73-8c95b1a2ca03/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f76-f953-7aea-aff2-728ba347b9b7",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f76-f953-7aea-aff2-728ba347b9b7"
}
}, - {
- "id": "01a09f76-f960-75a4-b39e-2766b2908f90",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "logged_in_user",
- "name": "run asset action",
- "step_sequence": 1,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:29.567448Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:29.570666Z",
- "action": "run",
- "property_overrides": { }
}, - "relationships": {
- "change": {
- "data": null
}, - "change_parent": {
- "data": {
- "id": "01a09f76-f67f-7201-814d-27ecc467ffe6",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f76-f65b-7aa1-8cca-a9e30c36d643",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f76-f953-7aea-aff2-728ba347b9b7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f76-f953-7aea-aff2-728ba347b9b7/steps/01a09f76-f960-75a4-b39e-2766b2908f90",
- "log_lines": "/api/workflow_steps/01a09f76-f960-75a4-b39e-2766b2908f90/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f76-f953-7aea-aff2-728ba347b9b7/steps/01a09f76-f95a-7ba6-ae73-8c95b1a2ca03",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f76-f953-7aea-aff2-728ba347b9b7"
}
}
]
}Shows a workflow run.
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
{- "data": {
- "id": "01a09f77-05f3-74f5-9c82-183a5430a03c",
- "type": "workflow_run",
- "attributes": {
- "step_tree": {
- "id": "01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "name": "ea",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f77-05ff-7454-9be2-d927678ce2ed",
- "name": "ullam",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f77-06d8-7807-a34b-58578f89a5bf",
- "name": "connect",
- "type": "workflow_change_step",
- "action": "connect",
- "target": "/projects/ruixo/environments/xaoy8/assets/jz2rp"
}
], - "child_execution_strategy": "sequential"
}, - {
- "id": "01a09f77-07aa-7d61-87cb-016b85ac4506",
- "name": "override",
- "type": "workflow_change_step",
- "action": "override",
- "target": "/projects/iskj2/environments/1asp6/assets/peygw"
}, - {
- "id": "01a09f77-07b4-7b3d-a294-7c7592d8f63e",
- "name": "Approval",
- "type": "workflow_wait_step",
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}
}, - {
- "id": "01a09f77-0816-7527-9314-e0ffc783a272",
- "name": "child workflow",
- "type": "workflow_workflow_step",
- "target": "/projects/6pom3/workflows/child"
}
], - "child_execution_strategy": "sequential"
}, - "scheduled": false,
- "metadata": {
- "It": "7.3.4",
- "Alpha": "0.71",
- "Asoka": "8.5.1",
- "Zamit": "8.57",
- "Sub-Ex": "8.09",
- "Cookley": "3.25",
- "Fixflex": "0.8.9",
- "Zontrax": "6.0.4",
- "Mat Lam Tam": "0.5.6",
- "Solarbreeze": "0.56"
}, - "created_by": "diego_spencer-2664",
- "cancelled_by": null,
- "skip_steps": [ ],
- "pause_state": "none",
- "status_code": "success",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:29:32.786681Z",
- "started_at": "2026-09-14T10:23:17.746161Z",
- "finished_at": "2026-09-14T10:26:36.568724Z",
- "updated_at": "2026-09-14T10:29:32.794469Z",
- "paused_at": null,
- "project_name": "OpsChain",
- "workflow_code": "assets"
}, - "relationships": {
- "workflow_version": {
- "data": {
- "id": "01a09f77-05b9-72aa-9592-3c0435243eaf",
- "type": "workflow_version"
}
}, - "workflow": {
- "data": {
- "id": "01a09f77-05aa-7883-855b-3d611ab6b0b3",
- "type": "workflow"
}
}, - "parent_workflow_step": {
- "data": null
}, - "root_step": {
- "data": {
- "id": "01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "type": "workflow_noop_step"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-05ff-7454-9be2-d927678ce2ed",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-07aa-7d61-87cb-016b85ac4506",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-07b4-7b3d-a294-7c7592d8f63e",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-0816-7527-9314-e0ffc783a272",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f77-06d8-7807-a34b-58578f89a5bf",
- "type": "workflow_change_step"
}
]
}, - "override_properties": {
- "data": {
- "id": "01a09f77-05e8-760c-9c3f-36459ef35a03",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f77-05e8-760c-9c3f-36459ef35a03"
}
}
}, - "links": {
- "parent": "/api/projects/opc",
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c",
- "log_lines": "/api/workflow_runs/01a09f77-05f3-74f5-9c82-183a5430a03c/log_lines"
}, - "meta": {
- "wait_queue": [ ],
- "blocking_queue": [ ]
}
}, - "included": [
- {
- "id": "01a09f77-05b9-72aa-9592-3c0435243eaf",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "dexter_barton-2662",
- "created_at": "2026-09-14T10:29:32.728565Z",
- "updated_at": "2026-09-14T10:29:32.741906Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-0512-7235-a45e-f064229101f2",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}, - {
- "id": "01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "diego_spencer-2664",
- "name": "ea",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:32.791607Z",
- "started_at": "2026-09-14T10:23:17.746161Z",
- "finished_at": "2026-09-14T10:26:36.568724Z",
- "updated_at": "2026-09-14T10:29:32.794469Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-05f3-74f5-9c82-183a5430a03c",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-05ff-7454-9be2-d927678ce2ed",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-07aa-7d61-87cb-016b85ac4506",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-07b4-7b3d-a294-7c7592d8f63e",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-0816-7527-9314-e0ffc783a272",
- "type": "workflow_workflow_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "log_lines": "/api/workflow_steps/01a09f77-05f8-748b-8c6b-928bd91d9a98/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c"
}
}, - {
- "id": "01a09f77-05ff-7454-9be2-d927678ce2ed",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 2,
- "created_by": "diego_spencer-2664",
- "name": "ullam",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:23:10.063908Z",
- "started_at": "2026-09-14T10:24:10.063908Z",
- "finished_at": "2026-09-14T10:24:28.257996Z",
- "updated_at": "2026-09-14T10:29:32.984375Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-05f3-74f5-9c82-183a5430a03c",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-06d8-7807-a34b-58578f89a5bf",
- "type": "workflow_change_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-05ff-7454-9be2-d927678ce2ed",
- "log_lines": "/api/workflow_steps/01a09f77-05ff-7454-9be2-d927678ce2ed/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c"
}
}, - {
- "id": "01a09f77-07aa-7d61-87cb-016b85ac4506",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "diego_spencer-2664",
- "name": "override",
- "step_sequence": 2,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:31.105948Z",
- "started_at": "2026-09-14T10:22:31.105948Z",
- "finished_at": "2026-09-14T10:22:48.728735Z",
- "updated_at": "2026-09-14T10:29:33.228847Z",
- "action": "override",
- "property_overrides": {
- "alarm": "calculating"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-079a-720c-91ed-bcde76fec1a3",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-076b-7cf8-b6cf-957b18656792",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-074e-737d-a606-ee406cedc40e",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-05f3-74f5-9c82-183a5430a03c",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-07aa-7d61-87cb-016b85ac4506",
- "log_lines": "/api/workflow_steps/01a09f77-07aa-7d61-87cb-016b85ac4506/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c"
}
}, - {
- "id": "01a09f77-07b4-7b3d-a294-7c7592d8f63e",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}, - "lock_version": 1,
- "created_by": "diego_spencer-2664",
- "name": "Approval",
- "step_sequence": 3,
- "status_code": "approved",
- "skip_requested": false,
- "created_at": "2026-09-14T10:22:39.917072Z",
- "started_at": "2026-09-14T10:23:39.917072Z",
- "finished_at": "2026-09-14T10:26:22.504928Z",
- "updated_at": "2026-09-14T10:29:33.238658Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-05f3-74f5-9c82-183a5430a03c",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-07b4-7b3d-a294-7c7592d8f63e",
- "log_lines": "/api/workflow_steps/01a09f77-07b4-7b3d-a294-7c7592d8f63e/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c"
}
}, - {
- "id": "01a09f77-0816-7527-9314-e0ffc783a272",
- "type": "workflow_workflow_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "diego_spencer-2664",
- "name": "child workflow",
- "step_sequence": 4,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:08.700664Z",
- "started_at": "2026-09-14T10:22:08.700664Z",
- "finished_at": "2026-09-14T10:25:03.111038Z",
- "updated_at": "2026-09-14T10:29:33.336126Z",
- "code": "child"
}, - "relationships": {
- "child_workflow_version": {
- "data": {
- "id": "01a09f77-07f8-7bb5-b8a6-6a1f11cd4057",
- "type": "workflow_version"
}
}, - "child_workflow_run": {
- "data": {
- "id": "01a09f77-080c-7742-ac0a-0c164e5a102c",
- "type": "workflow_run"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-05f3-74f5-9c82-183a5430a03c",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-0816-7527-9314-e0ffc783a272",
- "log_lines": "/api/workflow_steps/01a09f77-0816-7527-9314-e0ffc783a272/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-05f8-748b-8c6b-928bd91d9a98",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c"
}
}, - {
- "id": "01a09f77-06d8-7807-a34b-58578f89a5bf",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "diego_spencer-2664",
- "name": "connect",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:19:49.346411Z",
- "started_at": "2026-09-14T10:20:49.346411Z",
- "finished_at": "2026-09-14T10:28:16.003707Z",
- "updated_at": "2026-09-14T10:29:33.018818Z",
- "action": "connect",
- "property_overrides": {
- "matrix": "transmitting"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-06c7-71fd-84e8-220519334a07",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-0694-7ee5-8a06-bb4beee0e67e",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-0677-70f2-9770-5ca1d63e1c96",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-05f3-74f5-9c82-183a5430a03c",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-06d8-7807-a34b-58578f89a5bf",
- "log_lines": "/api/workflow_steps/01a09f77-06d8-7807-a34b-58578f89a5bf/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c/steps/01a09f77-05ff-7454-9be2-d927678ce2ed",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-05f3-74f5-9c82-183a5430a03c"
}
}
]
}Lists all runs for a workflow.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[created_by_cont]=opschain API filtering guide. Named filters: |
| limit | integer [ 1 .. 10000 ] Default: 100 Example: limit=50 Limit the number of workflow runs returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f77-14b1-7d25-bff6-2ed27e69b787",
- "type": "workflow_run",
- "attributes": {
- "step_tree": {
- "id": "01a09f77-14b7-708f-8fe7-8dfd53da52fc",
- "name": "ducimus",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f77-14bd-7d04-8662-8c355c1c6045",
- "name": "distinctio",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f77-159b-7d94-9d14-4fbf6d82ae02",
- "name": "calculate",
- "type": "workflow_change_step",
- "action": "calculate",
- "target": "/projects/yxein/environments/nyqhc/assets/4iqnh"
}
], - "child_execution_strategy": "sequential"
}, - {
- "id": "01a09f77-165c-7817-b182-35af8ec9574e",
- "name": "connect",
- "type": "workflow_change_step",
- "action": "connect",
- "target": "/projects/yozik/environments/1hjog/assets/snpsj"
}, - {
- "id": "01a09f77-1665-7ede-a02d-4da303f7a17f",
- "name": "Approval",
- "type": "workflow_wait_step",
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}
}, - {
- "id": "01a09f77-16c1-7068-b9d0-3674b2fa4bb7",
- "name": "child workflow",
- "type": "workflow_workflow_step",
- "target": "/projects/gjmwi/workflows/child"
}
], - "child_execution_strategy": "sequential"
}, - "scheduled": false,
- "metadata": {
- "Subin": "8.3.3",
- "Zamit": "4.4.9",
- "Bigtax": "0.1.0",
- "Bitwolf": "0.99",
- "Konklux": "0.82",
- "Quo Lux": "0.6.8",
- "Greenlam": "0.5.7",
- "Ronstring": "5.9.4",
- "Stronghold": "0.78",
- "Solarbreeze": "9.4"
}, - "created_by": "ruby-2768",
- "cancelled_by": null,
- "skip_steps": [ ],
- "pause_state": "none",
- "status_code": "success",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:29:36.560992Z",
- "started_at": "2026-09-14T10:23:30.772672Z",
- "finished_at": "2026-09-14T10:28:29.172523Z",
- "updated_at": "2026-09-14T10:29:36.569339Z",
- "paused_at": null,
- "project_name": "OpsChain",
- "workflow_code": "assets"
}, - "relationships": {
- "workflow_version": {
- "data": {
- "id": "01a09f77-147d-7a7d-aca9-4c5141582f7c",
- "type": "workflow_version"
}
}, - "workflow": {
- "data": {
- "id": "01a09f77-1470-746f-978d-e944a212da80",
- "type": "workflow"
}
}, - "parent_workflow_step": {
- "data": null
}, - "root_step": {
- "data": {
- "id": "01a09f77-14b7-708f-8fe7-8dfd53da52fc",
- "type": "workflow_noop_step"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f77-14b7-708f-8fe7-8dfd53da52fc",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-14bd-7d04-8662-8c355c1c6045",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-165c-7817-b182-35af8ec9574e",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-1665-7ede-a02d-4da303f7a17f",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-16c1-7068-b9d0-3674b2fa4bb7",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f77-159b-7d94-9d14-4fbf6d82ae02",
- "type": "workflow_change_step"
}
]
}, - "override_properties": {
- "data": {
- "id": "01a09f77-14a7-7439-9010-18441db9ad9d",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f77-14a7-7439-9010-18441db9ad9d"
}
}
}, - "links": {
- "parent": "/api/projects/opc",
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-14b1-7d25-bff6-2ed27e69b787",
- "log_lines": "/api/workflow_runs/01a09f77-14b1-7d25-bff6-2ed27e69b787/log_lines"
}, - "meta": { }
}
], - "included": [
- {
- "id": "01a09f77-147d-7a7d-aca9-4c5141582f7c",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "mitchel-2766",
- "created_at": "2026-09-14T10:29:36.509108Z",
- "updated_at": "2026-09-14T10:29:36.521049Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-13ce-7e2f-9f45-fcd0de359b4a",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true,
- "execute": true
}, - "partial_response": false
}
}Runs a pre-defined workflow
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
required | object |
{- "data": {
- "attributes": {
- "version": 2,
- "property_overrides": {
- "additional": "properties"
}, - "metadata": {
- "optional": "metadata"
}, - "notify": {
- "user_ids": [
- "01a09f75-1d71-7f07-af64-5f26433bf787"
], - "ldap_groups": [
- "ldap_group_name"
], - "email_addresses": [
- "limepoint@opschain.com"
], - "events": "cancel"
}, - "skip_steps": [
- "steps/to/skip/**"
]
}
}
}{- "data": {
- "id": "01a09f77-1ed1-702e-9bf1-570de36ee417",
- "type": "workflow_run",
- "attributes": {
- "step_tree": {
- "id": "01a09f77-1edb-71fb-8737-fd74b142805e",
- "name": "assets workflow",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f77-1ee1-79f3-b7d5-7bec4831fb78",
- "name": "run asset action",
- "type": "workflow_change_step",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "child_execution_strategy": "sequential"
}, - "scheduled": false,
- "metadata": { },
- "created_by": "logged_in_user",
- "cancelled_by": null,
- "skip_steps": [ ],
- "pause_state": "none",
- "status_code": "pending",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:29:39.152152Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:39.166067Z",
- "paused_at": null,
- "project_name": "OpsChain",
- "workflow_code": "assets"
}, - "relationships": {
- "workflow_version": {
- "data": {
- "id": "01a09f77-1c1b-7b4e-b910-859eaec83f8c",
- "type": "workflow_version"
}
}, - "workflow": {
- "data": {
- "id": "01a09f77-1c0d-7e80-978f-dd655957d2fe",
- "type": "workflow"
}
}, - "parent_workflow_step": {
- "data": null
}, - "root_step": {
- "data": {
- "id": "01a09f77-1edb-71fb-8737-fd74b142805e",
- "type": "workflow_noop_step"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f77-1edb-71fb-8737-fd74b142805e",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-1ee1-79f3-b7d5-7bec4831fb78",
- "type": "workflow_change_step"
}
]
}, - "override_properties": {
- "data": {
- "id": "01a09f77-1ed3-7d29-801c-9115ddf48676",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f77-1ed3-7d29-801c-9115ddf48676"
}
}
}, - "links": {
- "parent": "/api/projects/opc",
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-1ed1-702e-9bf1-570de36ee417",
- "log_lines": "/api/workflow_runs/01a09f77-1ed1-702e-9bf1-570de36ee417/log_lines"
}, - "meta": { }
}, - "included": [
- {
- "id": "01a09f77-1c1b-7b4e-b910-859eaec83f8c",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "porfirio_howe-2823",
- "created_at": "2026-09-14T10:29:38.458828Z",
- "updated_at": "2026-09-14T10:29:38.472029Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa",
- "source": "steps/1",
- "change_parent": {
- "id": "01a09f77-1bd1-7ffc-a9c5-5df96ce92c6d",
- "path": "/projects/opc/assets/prj_soa",
- "parent_path": "/projects/opc",
- "project_id": "01a09f77-1b70-7a8f-bbd2-3e28d469443d",
- "node_type": "asset",
- "parent_id": "01a09f77-1b70-7a8f-bbd2-3e28d469443d",
- "code": "prj_soa",
- "name": "Project asset",
- "description": "Project asset description",
- "archived": false,
- "created_at": "2026-09-14T10:29:38.385Z",
- "updated_at": "2026-09-14T10:29:38.385Z",
- "project_type": null,
- "template_version_id": "01a09f77-1bb2-7258-8d07-948c20b036f9",
- "created_by_id": "01a09f77-1bc3-7f34-99f9-47d48fbeb929",
- "settings_generation": 1
}, - "action_template_version": {
- "id": "01a09f77-1bb2-7258-8d07-948c20b036f9",
- "commit_id": "01a09f77-1ba9-7623-91b9-3bc0560f2278",
- "version": "2023_Q4_2",
- "description": "Added additional configuration options",
- "created_at": "2026-09-14T10:29:38.353Z",
- "updated_at": "2026-09-14T10:29:38.353Z",
- "state": "ready",
- "archived": false,
- "has_mintmodel": true,
- "template_id": "01a09f77-1b93-706f-8244-7ecc8fbe7a3c",
- "locked": false,
- "pending_commit_id": null,
- "float_git_rev": false,
- "created_by_id": "01a09f77-1bab-79dc-bf8e-a9d38c9f7575"
}
}
], - "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-1b70-7a8f-bbd2-3e28d469443d",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}, - {
- "id": "01a09f77-1edb-71fb-8737-fd74b142805e",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "logged_in_user",
- "name": "assets workflow",
- "step_sequence": 1,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:39.162326Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:39.166067Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-1ed1-702e-9bf1-570de36ee417",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-1ee1-79f3-b7d5-7bec4831fb78",
- "type": "workflow_change_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-1ed1-702e-9bf1-570de36ee417/steps/01a09f77-1edb-71fb-8737-fd74b142805e",
- "log_lines": "/api/workflow_steps/01a09f77-1edb-71fb-8737-fd74b142805e/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-1ed1-702e-9bf1-570de36ee417",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-1ed1-702e-9bf1-570de36ee417"
}
}, - {
- "id": "01a09f77-1ee1-79f3-b7d5-7bec4831fb78",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "logged_in_user",
- "name": "run asset action",
- "step_sequence": 1,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:39.168677Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:39.171871Z",
- "action": "run",
- "property_overrides": { }
}, - "relationships": {
- "change": {
- "data": null
}, - "change_parent": {
- "data": {
- "id": "01a09f77-1bd1-7ffc-a9c5-5df96ce92c6d",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-1bb2-7258-8d07-948c20b036f9",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-1ed1-702e-9bf1-570de36ee417",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-1ed1-702e-9bf1-570de36ee417/steps/01a09f77-1ee1-79f3-b7d5-7bec4831fb78",
- "log_lines": "/api/workflow_steps/01a09f77-1ee1-79f3-b7d5-7bec4831fb78/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-1ed1-702e-9bf1-570de36ee417/steps/01a09f77-1edb-71fb-8737-fd74b142805e",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-1ed1-702e-9bf1-570de36ee417"
}
}
]
}Shows a workflow run.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
{- "data": {
- "id": "01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "type": "workflow_run",
- "attributes": {
- "step_tree": {
- "id": "01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "name": "quia",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f77-2ba6-7e9d-816a-8bce08abb640",
- "name": "ipsa",
- "type": "workflow_noop_step",
- "children": [
- {
- "id": "01a09f77-2c84-7812-94f3-d49756f91975",
- "name": "copy",
- "type": "workflow_change_step",
- "action": "copy",
- "target": "/projects/rudib/environments/e1z1x/assets/heylt"
}
], - "child_execution_strategy": "sequential"
}, - {
- "id": "01a09f77-2d64-7796-a52c-d7ba94c3c193",
- "name": "back_up",
- "type": "workflow_change_step",
- "action": "back_up",
- "target": "/projects/jxfqf/environments/apqsc/assets/rwyzw"
}, - {
- "id": "01a09f77-2d6e-74b2-8d37-62e403f6e76a",
- "name": "Approval",
- "type": "workflow_wait_step",
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}
}, - {
- "id": "01a09f77-2dcd-7517-884a-841a95c1011a",
- "name": "child workflow",
- "type": "workflow_workflow_step",
- "target": "/projects/jrsbi/workflows/child"
}
], - "child_execution_strategy": "sequential"
}, - "scheduled": false,
- "metadata": {
- "It": "8.0.4",
- "Tin": "0.6.7",
- "Span": "1.84",
- "Asoka": "5.8",
- "Andalax": "6.5",
- "Cardify": "0.52",
- "Sonsing": "0.65",
- "Zontrax": "0.16",
- "Alphazap": "0.7.5",
- "Stringtough": "9.72"
}, - "created_by": "jarrett-2938",
- "cancelled_by": null,
- "skip_steps": [ ],
- "pause_state": "none",
- "status_code": "success",
- "paused": false,
- "paused_by": [ ],
- "created_at": "2026-09-14T10:29:42.427682Z",
- "started_at": "2026-09-14T10:22:30.154668Z",
- "finished_at": "2026-09-14T10:28:07.986453Z",
- "updated_at": "2026-09-14T10:29:42.434671Z",
- "paused_at": null,
- "project_name": "OpsChain",
- "workflow_code": "assets"
}, - "relationships": {
- "workflow_version": {
- "data": {
- "id": "01a09f77-2b64-784d-919b-1b7220f10951",
- "type": "workflow_version"
}
}, - "workflow": {
- "data": {
- "id": "01a09f77-2b56-7732-b6cc-4efa80a8d488",
- "type": "workflow"
}
}, - "parent_workflow_step": {
- "data": null
}, - "root_step": {
- "data": {
- "id": "01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "type": "workflow_noop_step"
}
}, - "steps": {
- "data": [
- {
- "id": "01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-2ba6-7e9d-816a-8bce08abb640",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-2d64-7796-a52c-d7ba94c3c193",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-2d6e-74b2-8d37-62e403f6e76a",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-2dcd-7517-884a-841a95c1011a",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f77-2c84-7812-94f3-d49756f91975",
- "type": "workflow_change_step"
}
]
}, - "override_properties": {
- "data": {
- "id": "01a09f77-2b92-775d-917d-0dfbeff4c748",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f77-2b92-775d-917d-0dfbeff4c748"
}
}
}, - "links": {
- "parent": "/api/projects/opc",
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "log_lines": "/api/workflow_runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/log_lines"
}, - "meta": {
- "wait_queue": [ ],
- "blocking_queue": [ ]
}
}, - "included": [
- {
- "id": "01a09f77-2b64-784d-919b-1b7220f10951",
- "type": "workflow_version",
- "attributes": {
- "code": "assets",
- "name": "assets workflow",
- "description": "workflow for assets",
- "draft": false,
- "archived": false,
- "created_by": "julio_kreiger-2936",
- "created_at": "2026-09-14T10:29:42.371941Z",
- "updated_at": "2026-09-14T10:29:42.384491Z",
- "source_yaml": "---\nsteps:\n- type: change\n name: run asset action\n target: \"/projects/opc/assets/prj_soa\"\n action: run\n",
- "steps": [
- {
- "name": "run asset action",
- "type": "change",
- "action": "run",
- "target": "/projects/opc/assets/prj_soa"
}
], - "resolved_steps": [ ],
- "sample_properties": {
- "sample": null
}, - "version": 2
}, - "relationships": {
- "parent": {
- "data": {
- "id": "01a09f77-2ab3-7f9c-8b66-c8e96b232dab",
- "type": "project"
}, - "links": {
- "related": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/versions/2",
- "runs": "/api/projects/opc/workflows/assets/versions/2/runs",
- "workflow": "/api/projects/opc/workflows/assets"
}
}, - {
- "id": "01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "jarrett-2938",
- "name": "quia",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:42.432169Z",
- "started_at": "2026-09-14T10:22:30.154668Z",
- "finished_at": "2026-09-14T10:28:07.986453Z",
- "updated_at": "2026-09-14T10:29:42.434671Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-2ba6-7e9d-816a-8bce08abb640",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-2d64-7796-a52c-d7ba94c3c193",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-2d6e-74b2-8d37-62e403f6e76a",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-2dcd-7517-884a-841a95c1011a",
- "type": "workflow_workflow_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "log_lines": "/api/workflow_steps/01a09f77-2ba0-7c1e-8279-5697ecab4c78/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7"
}
}, - {
- "id": "01a09f77-2ba6-7e9d-816a-8bce08abb640",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 2,
- "created_by": "jarrett-2938",
- "name": "ipsa",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:23:26.017031Z",
- "started_at": "2026-09-14T10:24:26.017031Z",
- "finished_at": "2026-09-14T10:25:01.418375Z",
- "updated_at": "2026-09-14T10:29:42.627610Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-2c84-7812-94f3-d49756f91975",
- "type": "workflow_change_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2ba6-7e9d-816a-8bce08abb640",
- "log_lines": "/api/workflow_steps/01a09f77-2ba6-7e9d-816a-8bce08abb640/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7"
}
}, - {
- "id": "01a09f77-2d64-7796-a52c-d7ba94c3c193",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "jarrett-2938",
- "name": "back_up",
- "step_sequence": 2,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:22:40.757812Z",
- "started_at": "2026-09-14T10:23:40.757812Z",
- "finished_at": "2026-09-14T10:28:13.351291Z",
- "updated_at": "2026-09-14T10:29:42.886605Z",
- "action": "back_up",
- "property_overrides": {
- "card": "backing up"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-2d55-7194-bcb6-76822030897b",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-2d20-708e-9f43-ca75e64f78b4",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-2d04-75ea-8272-836bbb860fb3",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2d64-7796-a52c-d7ba94c3c193",
- "log_lines": "/api/workflow_steps/01a09f77-2d64-7796-a52c-d7ba94c3c193/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7"
}
}, - {
- "id": "01a09f77-2d6e-74b2-8d37-62e403f6e76a",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}, - "lock_version": 1,
- "created_by": "jarrett-2938",
- "name": "Approval",
- "step_sequence": 3,
- "status_code": "approved",
- "skip_requested": false,
- "created_at": "2026-09-14T10:20:41.530442Z",
- "started_at": "2026-09-14T10:21:41.530442Z",
- "finished_at": "2026-09-14T10:24:41.376523Z",
- "updated_at": "2026-09-14T10:29:42.896368Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2d6e-74b2-8d37-62e403f6e76a",
- "log_lines": "/api/workflow_steps/01a09f77-2d6e-74b2-8d37-62e403f6e76a/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7"
}
}, - {
- "id": "01a09f77-2dcd-7517-884a-841a95c1011a",
- "type": "workflow_workflow_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "jarrett-2938",
- "name": "child workflow",
- "step_sequence": 4,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:19:25.965485Z",
- "started_at": "2026-09-14T10:20:25.965485Z",
- "finished_at": "2026-09-14T10:21:54.680111Z",
- "updated_at": "2026-09-14T10:29:42.991085Z",
- "code": "child"
}, - "relationships": {
- "child_workflow_version": {
- "data": {
- "id": "01a09f77-2daf-746c-bb0f-54cb6df9dd18",
- "type": "workflow_version"
}
}, - "child_workflow_run": {
- "data": {
- "id": "01a09f77-2dc3-76cd-bfbe-a2ecaad96de6",
- "type": "workflow_run"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2dcd-7517-884a-841a95c1011a",
- "log_lines": "/api/workflow_steps/01a09f77-2dcd-7517-884a-841a95c1011a/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2ba0-7c1e-8279-5697ecab4c78",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7"
}
}, - {
- "id": "01a09f77-2c84-7812-94f3-d49756f91975",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "jarrett-2938",
- "name": "copy",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:23:03.637071Z",
- "started_at": "2026-09-14T10:24:03.637071Z",
- "finished_at": "2026-09-14T10:24:24.594828Z",
- "updated_at": "2026-09-14T10:29:42.663476Z",
- "action": "copy",
- "property_overrides": {
- "protocol": "parsing"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-2c71-7634-84ad-97d136dd3d87",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-2c42-7674-8c03-36facffcc1a9",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-2c24-7876-a5e7-13ff02535dc9",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-2b9c-7351-af79-b74e33e0f4d7",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2c84-7812-94f3-d49756f91975",
- "log_lines": "/api/workflow_steps/01a09f77-2c84-7812-94f3-d49756f91975/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7/steps/01a09f77-2ba6-7e9d-816a-8bce08abb640",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-2b9c-7351-af79-b74e33e0f4d7"
}
}
]
}Cancels a workflow run.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
Lists all workflow steps.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[status_code_eq]=running API filtering guide. Named filters: |
| limit | integer [ 1 .. 1000 ] Default: 1000 Example: limit=50 Limit the number of workflow steps returned |
{- "data": [
- {
- "id": "01a09f77-420d-726a-bb21-04434ec0ceae",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "autem",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:48.172375Z",
- "started_at": "2026-09-14T10:20:33.987029Z",
- "finished_at": "2026-09-14T10:24:05.403850Z",
- "updated_at": "2026-09-14T10:29:48.175622Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-4214-7c75-aaa6-620efbe7a60a",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-4426-7611-99b3-183cebfb1cd8",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-4432-7135-9292-bb1835af2605",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-44a3-7e36-8cd2-28eeed0419cd",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f77-4572-7fa0-b725-e7dec5f57bd2",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-4580-736e-b16f-aa7380587082",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-4589-75de-a322-328ebbc98a08",
- "type": "workflow_workflow_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "log_lines": "/api/workflow_steps/01a09f77-420d-726a-bb21-04434ec0ceae/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-4214-7c75-aaa6-620efbe7a60a",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 2,
- "created_by": "drucilla.bailey-3096",
- "name": "hic",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:23:31.976069Z",
- "started_at": "2026-09-14T10:24:31.976069Z",
- "finished_at": "2026-09-14T10:27:00.678118Z",
- "updated_at": "2026-09-14T10:29:48.396675Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-431a-7bbe-8aad-0422dfa706a4",
- "type": "workflow_change_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-4214-7c75-aaa6-620efbe7a60a",
- "log_lines": "/api/workflow_steps/01a09f77-4214-7c75-aaa6-620efbe7a60a/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-4426-7611-99b3-183cebfb1cd8",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "calculate",
- "step_sequence": 2,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:19:14.213299Z",
- "started_at": "2026-09-14T10:20:14.213299Z",
- "finished_at": "2026-09-14T10:25:12.224785Z",
- "updated_at": "2026-09-14T10:29:48.713038Z",
- "action": "calculate",
- "property_overrides": {
- "driver": "transmitting"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-4412-7d92-9358-f1aba6fa3fab",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-43d7-7d85-ae34-6fbad476c4d5",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-43b5-77d0-9617-921666460e5b",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-4426-7611-99b3-183cebfb1cd8",
- "log_lines": "/api/workflow_steps/01a09f77-4426-7611-99b3-183cebfb1cd8/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-4432-7135-9292-bb1835af2605",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}, - "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "Approval",
- "step_sequence": 3,
- "status_code": "approved",
- "skip_requested": false,
- "created_at": "2026-09-14T10:22:52.498671Z",
- "started_at": "2026-09-14T10:23:52.498671Z",
- "finished_at": "2026-09-14T10:27:08.238193Z",
- "updated_at": "2026-09-14T10:29:48.724357Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-4432-7135-9292-bb1835af2605",
- "log_lines": "/api/workflow_steps/01a09f77-4432-7135-9292-bb1835af2605/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-44a3-7e36-8cd2-28eeed0419cd",
- "type": "workflow_workflow_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "child workflow",
- "step_sequence": 4,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:20:00.606803Z",
- "started_at": "2026-09-14T10:21:00.606803Z",
- "finished_at": "2026-09-14T10:26:26.556643Z",
- "updated_at": "2026-09-14T10:29:48.837734Z",
- "code": "child"
}, - "relationships": {
- "child_workflow_version": {
- "data": {
- "id": "01a09f77-4480-7af9-be13-f06c2c4cc3de",
- "type": "workflow_version"
}
}, - "child_workflow_run": {
- "data": {
- "id": "01a09f77-4499-7016-abbd-3e372b7dfcc8",
- "type": "workflow_run"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-44a3-7e36-8cd2-28eeed0419cd",
- "log_lines": "/api/workflow_steps/01a09f77-44a3-7e36-8cd2-28eeed0419cd/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-4572-7fa0-b725-e7dec5f57bd2",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "generate",
- "step_sequence": 5,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:49.041254Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:49.048468Z",
- "action": "generate",
- "property_overrides": {
- "hard drive": "calculating"
}
}, - "relationships": {
- "change": {
- "data": null
}, - "change_parent": {
- "data": {
- "id": "01a09f77-454e-793a-b4ad-14da902cc2cb",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-4531-7187-9900-46bbebaec90d",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-4572-7fa0-b725-e7dec5f57bd2",
- "log_lines": "/api/workflow_steps/01a09f77-4572-7fa0-b725-e7dec5f57bd2/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-4580-736e-b16f-aa7380587082",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "Wait",
- "step_sequence": 6,
- "status_code": "continued",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:05.076749Z",
- "started_at": "2026-09-14T10:22:05.076749Z",
- "finished_at": "2026-09-14T10:24:05.982409Z",
- "updated_at": "2026-09-14T10:29:49.058261Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-4580-736e-b16f-aa7380587082",
- "log_lines": "/api/workflow_steps/01a09f77-4580-736e-b16f-aa7380587082/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-4589-75de-a322-328ebbc98a08",
- "type": "workflow_workflow_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "child workflow",
- "step_sequence": 7,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:49.063291Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:29:49.068255Z",
- "code": "child"
}, - "relationships": {
- "child_workflow_version": {
- "data": {
- "id": "01a09f77-4480-7af9-be13-f06c2c4cc3de",
- "type": "workflow_version"
}
}, - "child_workflow_run": {
- "data": null
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-4589-75de-a322-328ebbc98a08",
- "log_lines": "/api/workflow_steps/01a09f77-4589-75de-a322-328ebbc98a08/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-420d-726a-bb21-04434ec0ceae",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-431a-7bbe-8aad-0422dfa706a4",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "drucilla.bailey-3096",
- "name": "calculate",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:22:07.460372Z",
- "started_at": "2026-09-14T10:23:07.460372Z",
- "finished_at": "2026-09-14T10:28:42.821768Z",
- "updated_at": "2026-09-14T10:29:48.445909Z",
- "action": "calculate",
- "property_overrides": {
- "alarm": "backing up"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-4301-7329-8e46-70072d0c57d8",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-42ba-716c-bd0f-c035285eaf5b",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-428b-7f87-a836-29769335f7dc",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-4207-714a-8cc2-7ba037426180",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-431a-7bbe-8aad-0422dfa706a4",
- "log_lines": "/api/workflow_steps/01a09f77-431a-7bbe-8aad-0422dfa706a4/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180/steps/01a09f77-4214-7c75-aaa6-620efbe7a60a",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-4207-714a-8cc2-7ba037426180"
}
}, - {
- "id": "01a09f77-449f-747f-a05e-622fe3387559",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "lavern-3113",
- "name": "perferendis",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:48.830567Z",
- "started_at": "2026-09-14T10:20:23.192088Z",
- "finished_at": "2026-09-14T10:26:44.606359Z",
- "updated_at": "2026-09-14T10:29:48.833469Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-4499-7016-abbd-3e372b7dfcc8",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/vuutm/workflows/child/runs/01a09f77-4499-7016-abbd-3e372b7dfcc8/steps/01a09f77-449f-747f-a05e-622fe3387559",
- "log_lines": "/api/workflow_steps/01a09f77-449f-747f-a05e-622fe3387559/log_lines",
- "parent": "/api/projects/vuutm/workflows/child/runs/01a09f77-4499-7016-abbd-3e372b7dfcc8",
- "workflow_run": "/api/projects/vuutm/workflows/child/runs/01a09f77-4499-7016-abbd-3e372b7dfcc8"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "execute": true
}, - "partial_response": false
}
}Shows a workflow step.
| step_id required | string Example: 01a09f75-3f6c-71f3-81a4-fe3199ba61e6 workflow step id |
{- "data": {
- "id": "01a09f77-4764-726b-b955-a481a172b30c",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "dante_mraz-3129",
- "name": "et",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:29:49.539321Z",
- "started_at": "2026-09-14T10:23:38.741510Z",
- "finished_at": "2026-09-14T10:28:17.539301Z",
- "updated_at": "2026-09-14T10:29:49.542629Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-475c-7609-ba6e-94d1f5e502db",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-476c-74e2-b614-d30620dcbdcd",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-4961-70ec-ad2d-54585fc5b0dd",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-496c-72e0-87ab-48f06e5316dc",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-49cf-7dd8-8315-a169da33c2cf",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f77-4a88-7534-b2b5-60d9a6898262",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-4a90-7c00-aa15-cdfe28021157",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-4a99-7128-bfdb-c7398f9c6b96",
- "type": "workflow_workflow_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-475c-7609-ba6e-94d1f5e502db/steps/01a09f77-4764-726b-b955-a481a172b30c",
- "log_lines": "/api/workflow_steps/01a09f77-4764-726b-b955-a481a172b30c/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-475c-7609-ba6e-94d1f5e502db",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-475c-7609-ba6e-94d1f5e502db"
}
}
}Continues a "waiting" workflow step. To approve/reject a workflow step that needs approval see the approve workflow step API endpoint.
| step_id required | string Example: 01a09f75-3fa1-79af-9f17-61c95b8fa682 workflow step id |
object |
{- "data": {
- "attributes": {
- "message": "Done sanity checks. Ok to continue."
}
}
}{- "data": {
- "id": "01a09f77-53e7-78ab-96a6-198ae83faf01",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [
- {
- "username": "logged_in_user",
- "message": null,
- "date": "2026-09-14T10:29:52Z"
}
], - "requires_approval_from": null,
- "lock_version": 3,
- "created_by": "odell_spencer-3195",
- "name": "Wait",
- "step_sequence": 8,
- "status_code": "continued",
- "skip_requested": false,
- "created_at": "2026-09-14T10:20:19.821987Z",
- "started_at": "2026-09-14T10:21:19.821987Z",
- "finished_at": "2026-09-14T10:29:52.760887Z",
- "updated_at": "2026-09-14T10:29:52.776217Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-505d-7008-9262-3a35fe54258f",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-505d-7008-9262-3a35fe54258f/steps/01a09f77-53e7-78ab-96a6-198ae83faf01",
- "log_lines": "/api/workflow_steps/01a09f77-53e7-78ab-96a6-198ae83faf01/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-505d-7008-9262-3a35fe54258f/steps/01a09f77-5061-761d-aeb0-e22ab3a7ca19",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-505d-7008-9262-3a35fe54258f"
}
}
}Approve a workflow step that requires approval. To continue a workflow step that does need approval see the continue workflow step API endpoint
| step_id required | string Example: 01a09f75-3fb1-7d5b-ad37-146ffd2bbc06 workflow step id |
object |
{- "data": {
- "attributes": {
- "message": "Ok to proceed."
}
}
}{- "data": {
- "id": "01a09f77-6285-746b-b883-06e7058d0066",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [
- {
- "username": "logged_in_user",
- "message": null,
- "date": "2026-09-14T10:29:56Z"
}
], - "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": {
- "ldap_groups": [
- "an-ldap-group"
]
}, - "lock_version": 3,
- "created_by": "gidget-3294",
- "name": "Approval",
- "step_sequence": 8,
- "status_code": "approved",
- "skip_requested": false,
- "created_at": "2026-09-14T10:20:33.840373Z",
- "started_at": "2026-09-14T10:21:33.840373Z",
- "finished_at": "2026-09-14T10:29:56.503644Z",
- "updated_at": "2026-09-14T10:29:56.517356Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-5f5b-7a6c-a9c8-968838c65265",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-5f5b-7a6c-a9c8-968838c65265/steps/01a09f77-6285-746b-b883-06e7058d0066",
- "log_lines": "/api/workflow_steps/01a09f77-6285-746b-b883-06e7058d0066/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-5f5b-7a6c-a9c8-968838c65265/steps/01a09f77-5f62-789a-9f3a-1cb1896b068d",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-5f5b-7a6c-a9c8-968838c65265"
}
}
}Reject a workflow step that requires approval.
| step_id required | string Example: 01a09f75-3f82-7f8f-9137-5bd09e5cbe15 workflow step id |
object |
{- "data": {
- "attributes": {
- "message": "Ok to proceed."
}
}
}{- "data": {
- "id": "01a09f77-7722-727e-9a34-bd229d6cf0a7",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [
- {
- "username": "logged_in_user",
- "message": null,
- "date": "2026-09-14T10:30:01Z"
}
], - "continued_by": [ ],
- "requires_approval_from": {
- "ldap_groups": [
- "an-ldap-group"
]
}, - "lock_version": 3,
- "created_by": "arica-3426",
- "name": "Approval",
- "step_sequence": 8,
- "status_code": "rejected",
- "skip_requested": false,
- "created_at": "2026-09-14T10:20:30.910592Z",
- "started_at": "2026-09-14T10:21:30.910592Z",
- "finished_at": "2026-09-14T10:30:01.792251Z",
- "updated_at": "2026-09-14T10:30:01.800417Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-72b4-7d4a-b06e-24e218298f75",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-72b4-7d4a-b06e-24e218298f75/steps/01a09f77-7722-727e-9a34-bd229d6cf0a7",
- "log_lines": "/api/workflow_steps/01a09f77-7722-727e-9a34-bd229d6cf0a7/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-72b4-7d4a-b06e-24e218298f75/steps/01a09f77-72be-7a72-80c5-f8bd53af9376",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-72b4-7d4a-b06e-24e218298f75"
}
}
}Lists all steps in a workflow run.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
| limit | integer [ 1 .. 1000 ] Default: 1000 Example: limit=50 Limit the number of workflow steps returned |
{- "data": [
- {
- "id": "01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "ea",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:30:07.333674Z",
- "started_at": "2026-09-14T10:24:04.106920Z",
- "finished_at": "2026-09-14T10:26:59.122632Z",
- "updated_at": "2026-09-14T10:30:07.336544Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-8cee-710f-a55b-d0d7fb930f35",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-8f0a-701d-8f9b-80cbdf496160",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-8f14-782b-b280-9558a48df4ea",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-8f90-714b-953b-0147081b1756",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f77-907f-7617-922b-3acce8b2060b",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-9089-706c-8e12-c86bc592bcfd",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-9092-7ce4-823b-73d602461955",
- "type": "workflow_workflow_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "log_lines": "/api/workflow_steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-8cee-710f-a55b-d0d7fb930f35",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 2,
- "created_by": "dayna.ritchie-3558",
- "name": "modi",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:19:57.255969Z",
- "started_at": "2026-09-14T10:20:57.255969Z",
- "finished_at": "2026-09-14T10:27:36.567611Z",
- "updated_at": "2026-09-14T10:30:07.563623Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-8df0-7c0f-8223-d2146f465e5a",
- "type": "workflow_change_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8cee-710f-a55b-d0d7fb930f35",
- "log_lines": "/api/workflow_steps/01a09f77-8cee-710f-a55b-d0d7fb930f35/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-8f0a-701d-8f9b-80cbdf496160",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "override",
- "step_sequence": 2,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:23:38.533885Z",
- "started_at": "2026-09-14T10:24:38.533885Z",
- "finished_at": "2026-09-14T10:27:10.304061Z",
- "updated_at": "2026-09-14T10:30:07.884107Z",
- "action": "override",
- "property_overrides": {
- "program": "programming"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-8ef9-70ab-b1de-80f35d2166cd",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-8ebd-7a53-a339-359821c3e502",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-8e9a-77a6-9a63-852ea7581714",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8f0a-701d-8f9b-80cbdf496160",
- "log_lines": "/api/workflow_steps/01a09f77-8f0a-701d-8f9b-80cbdf496160/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-8f14-782b-b280-9558a48df4ea",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": {
- "user_names": [
- "opschain"
]
}, - "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "Approval",
- "step_sequence": 3,
- "status_code": "approved",
- "skip_requested": false,
- "created_at": "2026-09-14T10:22:52.585674Z",
- "started_at": "2026-09-14T10:23:52.585674Z",
- "finished_at": "2026-09-14T10:28:35.419905Z",
- "updated_at": "2026-09-14T10:30:07.895278Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8f14-782b-b280-9558a48df4ea",
- "log_lines": "/api/workflow_steps/01a09f77-8f14-782b-b280-9558a48df4ea/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-8f90-714b-953b-0147081b1756",
- "type": "workflow_workflow_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "child workflow",
- "step_sequence": 4,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:20:51.457505Z",
- "started_at": "2026-09-14T10:21:51.457505Z",
- "finished_at": "2026-09-14T10:28:58.898202Z",
- "updated_at": "2026-09-14T10:30:08.018409Z",
- "code": "child"
}, - "relationships": {
- "child_workflow_version": {
- "data": {
- "id": "01a09f77-8f69-724f-83b5-541a865f3965",
- "type": "workflow_version"
}
}, - "child_workflow_run": {
- "data": {
- "id": "01a09f77-8f83-78f7-b493-dcfac4364f5a",
- "type": "workflow_run"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8f90-714b-953b-0147081b1756",
- "log_lines": "/api/workflow_steps/01a09f77-8f90-714b-953b-0147081b1756/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-907f-7617-922b-3acce8b2060b",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "quantify",
- "step_sequence": 5,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:30:08.252939Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:30:08.258348Z",
- "action": "quantify",
- "property_overrides": {
- "hard drive": "navigating"
}
}, - "relationships": {
- "change": {
- "data": null
}, - "change_parent": {
- "data": {
- "id": "01a09f77-9046-7ac6-9bf2-97ceeecdc14d",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-901a-78f2-b478-2eb0c8fa094a",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-907f-7617-922b-3acce8b2060b",
- "log_lines": "/api/workflow_steps/01a09f77-907f-7617-922b-3acce8b2060b/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-9089-706c-8e12-c86bc592bcfd",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": null,
- "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "Wait",
- "step_sequence": 6,
- "status_code": "continued",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:53.185846Z",
- "started_at": "2026-09-14T10:22:53.185846Z",
- "finished_at": "2026-09-14T10:23:41.108694Z",
- "updated_at": "2026-09-14T10:30:08.267256Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-9089-706c-8e12-c86bc592bcfd",
- "log_lines": "/api/workflow_steps/01a09f77-9089-706c-8e12-c86bc592bcfd/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-9092-7ce4-823b-73d602461955",
- "type": "workflow_workflow_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "child workflow",
- "step_sequence": 7,
- "status_code": "pending",
- "skip_requested": false,
- "created_at": "2026-09-14T10:30:08.272668Z",
- "started_at": null,
- "finished_at": null,
- "updated_at": "2026-09-14T10:30:08.277324Z",
- "code": "child"
}, - "relationships": {
- "child_workflow_version": {
- "data": {
- "id": "01a09f77-8f69-724f-83b5-541a865f3965",
- "type": "workflow_version"
}
}, - "child_workflow_run": {
- "data": null
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-9092-7ce4-823b-73d602461955",
- "log_lines": "/api/workflow_steps/01a09f77-9092-7ce4-823b-73d602461955/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8ce6-75e6-8aeb-924c1135ed0b",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}, - {
- "id": "01a09f77-8df0-7c0f-8223-d2146f465e5a",
- "type": "workflow_change_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "dayna.ritchie-3558",
- "name": "input",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:22:16.476565Z",
- "started_at": "2026-09-14T10:23:16.476565Z",
- "finished_at": "2026-09-14T10:25:51.395255Z",
- "updated_at": "2026-09-14T10:30:07.603310Z",
- "action": "input",
- "property_overrides": {
- "alarm": "programming"
}
}, - "relationships": {
- "change": {
- "data": {
- "id": "01a09f77-8ddc-7599-b148-4ad3d8358963",
- "type": "change"
}
}, - "change_parent": {
- "data": {
- "id": "01a09f77-8da2-79b6-8563-ef7c63a5c9d9",
- "type": "asset"
}
}, - "action_template_version": {
- "data": {
- "id": "01a09f77-8d7e-7d81-a542-0afb36ce5b02",
- "type": "template_version"
}
}, - "workflow_run": {
- "data": {
- "id": "01a09f77-8ce0-7602-8584-729f874c70a9",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8df0-7c0f-8223-d2146f465e5a",
- "log_lines": "/api/workflow_steps/01a09f77-8df0-7c0f-8223-d2146f465e5a/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9/steps/01a09f77-8cee-710f-a55b-d0d7fb930f35",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-8ce0-7602-8584-729f874c70a9"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "execute": true
}, - "partial_response": false
}
}Shows a step of a workflow run.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
| step_id required | string Example: 01a09f75-3f6c-71f3-81a4-fe3199ba61e6 workflow step id |
{- "data": {
- "id": "01a09f77-97d1-79cc-9506-62b5db559258",
- "type": "workflow_noop_step",
- "attributes": {
- "lock_version": 1,
- "created_by": "deborah_moore-3625",
- "name": "tenetur",
- "step_sequence": 1,
- "status_code": "success",
- "skip_requested": false,
- "created_at": "2026-09-14T10:30:10.128821Z",
- "started_at": "2026-09-14T10:24:59.485683Z",
- "finished_at": "2026-09-14T10:25:47.361629Z",
- "updated_at": "2026-09-14T10:30:10.131854Z",
- "child_execution_strategy": "sequential"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-97cb-798a-aa0a-65dae805839e",
- "type": "workflow_run"
}
}, - "children": {
- "data": [
- {
- "id": "01a09f77-97d9-728f-91a1-96c391701937",
- "type": "workflow_noop_step"
}, - {
- "id": "01a09f77-9a60-7ce7-8147-a05500609c20",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-9a73-7147-9102-24cdb84b5fe8",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-9aef-7004-a2d8-69243cbb4ae1",
- "type": "workflow_workflow_step"
}, - {
- "id": "01a09f77-9bea-78f3-bb01-27c08eaca431",
- "type": "workflow_change_step"
}, - {
- "id": "01a09f77-9bf3-7973-bd90-d979c989a704",
- "type": "workflow_wait_step"
}, - {
- "id": "01a09f77-9bfc-7c49-872e-de31f2e7fe47",
- "type": "workflow_workflow_step"
}
]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-97cb-798a-aa0a-65dae805839e/steps/01a09f77-97d1-79cc-9506-62b5db559258",
- "log_lines": "/api/workflow_steps/01a09f77-97d1-79cc-9506-62b5db559258/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-97cb-798a-aa0a-65dae805839e",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-97cb-798a-aa0a-65dae805839e"
}
}
}Continues a "waiting" workflow step. To approve/reject a workflow step that needs approval see the approve workflow step API endpoint.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
| step_id required | string Example: 01a09f75-3fa1-79af-9f17-61c95b8fa682 workflow step id |
object |
{- "data": {
- "attributes": {
- "message": "Done sanity checks. Ok to continue."
}
}
}{- "data": {
- "id": "01a09f77-ade8-792d-9bb2-677412d6d538",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [ ],
- "continued_by": [
- {
- "username": "logged_in_user",
- "message": null,
- "date": "2026-09-14T10:30:15Z"
}
], - "requires_approval_from": null,
- "lock_version": 3,
- "created_by": "genevieve_cassin-3725",
- "name": "Wait",
- "step_sequence": 8,
- "status_code": "continued",
- "skip_requested": false,
- "created_at": "2026-09-14T10:23:39.993283Z",
- "started_at": "2026-09-14T10:24:39.993283Z",
- "finished_at": "2026-09-14T10:30:15.812489Z",
- "updated_at": "2026-09-14T10:30:15.828866Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-aa07-7bbb-bb9b-56fe95e284be",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-aa07-7bbb-bb9b-56fe95e284be/steps/01a09f77-ade8-792d-9bb2-677412d6d538",
- "log_lines": "/api/workflow_steps/01a09f77-ade8-792d-9bb2-677412d6d538/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-aa07-7bbb-bb9b-56fe95e284be/steps/01a09f77-aa0c-7de6-9d69-7878518b6bc2",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-aa07-7bbb-bb9b-56fe95e284be"
}
}
}Approve a workflow step that requires approval. To continue a workflow step that does need approval see the continue workflow step API endpoint
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
| step_id required | string Example: 01a09f75-3fb1-7d5b-ad37-146ffd2bbc06 workflow step id |
object |
{- "data": {
- "attributes": {
- "message": "Ok to proceed."
}
}
}{- "data": {
- "id": "01a09f77-bd98-75ac-b582-ed8aa2bb1731",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [
- {
- "username": "logged_in_user",
- "message": null,
- "date": "2026-09-14T10:30:19Z"
}
], - "rejected_by": [ ],
- "continued_by": [ ],
- "requires_approval_from": {
- "ldap_groups": [
- "an-ldap-group"
]
}, - "lock_version": 3,
- "created_by": "cherry-3824",
- "name": "Approval",
- "step_sequence": 8,
- "status_code": "approved",
- "skip_requested": false,
- "created_at": "2026-09-14T10:21:56.506964Z",
- "started_at": "2026-09-14T10:22:56.506964Z",
- "finished_at": "2026-09-14T10:30:19.825127Z",
- "updated_at": "2026-09-14T10:30:19.837609Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-ba8c-716f-bf20-0a2b273abb18",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-ba8c-716f-bf20-0a2b273abb18/steps/01a09f77-bd98-75ac-b582-ed8aa2bb1731",
- "log_lines": "/api/workflow_steps/01a09f77-bd98-75ac-b582-ed8aa2bb1731/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-ba8c-716f-bf20-0a2b273abb18/steps/01a09f77-ba90-7b25-8e69-79c18f89b1d5",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-ba8c-716f-bf20-0a2b273abb18"
}
}
}Reject a workflow step that requires approval.
| project_code required | string Example: opc project code |
| workflow_code required | string Example: assets workflow code |
| run_id required | string Example: 01a09f75-3b02-77b5-b5c2-83ccc4dd906b workflow run id |
| step_id required | string Example: 01a09f75-3f82-7f8f-9137-5bd09e5cbe15 workflow step id |
object |
{- "data": {
- "attributes": {
- "message": "Ok to proceed."
}
}
}{- "data": {
- "id": "01a09f77-d69d-7f3c-9e0f-ef136638f050",
- "type": "workflow_wait_step",
- "attributes": {
- "approved_by": [ ],
- "rejected_by": [
- {
- "username": "logged_in_user",
- "message": null,
- "date": "2026-09-14T10:30:26Z"
}
], - "continued_by": [ ],
- "requires_approval_from": {
- "ldap_groups": [
- "an-ldap-group"
]
}, - "lock_version": 3,
- "created_by": "ollie.stark-3956",
- "name": "Approval",
- "step_sequence": 8,
- "status_code": "rejected",
- "skip_requested": false,
- "created_at": "2026-09-14T10:23:18.045393Z",
- "started_at": "2026-09-14T10:24:18.045393Z",
- "finished_at": "2026-09-14T10:30:26.243734Z",
- "updated_at": "2026-09-14T10:30:26.249521Z"
}, - "relationships": {
- "workflow_run": {
- "data": {
- "id": "01a09f77-d19e-7338-a334-9788409a6d4a",
- "type": "workflow_run"
}
}, - "children": {
- "data": [ ]
}
}, - "links": {
- "self": "/api/projects/opc/workflows/assets/runs/01a09f77-d19e-7338-a334-9788409a6d4a/steps/01a09f77-d69d-7f3c-9e0f-ef136638f050",
- "log_lines": "/api/workflow_steps/01a09f77-d69d-7f3c-9e0f-ef136638f050/log_lines",
- "parent": "/api/projects/opc/workflows/assets/runs/01a09f77-d19e-7338-a334-9788409a6d4a/steps/01a09f77-d1a9-7466-8fef-f25135976089",
- "workflow_run": "/api/projects/opc/workflows/assets/runs/01a09f77-d19e-7338-a334-9788409a6d4a"
}
}
}Endpoints to interact with events.
Lists all events.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[query_param_code_eq]=opc API filtering guide. Named filters: |
| limit | integer [ 1 .. 1000 ] Default: 10 Example: limit=50 Limit the number of events returned |
{- "data": [
- {
- "id": "01a09f75-f48e-79a7-8c6b-715f54206541",
- "type": "event",
- "attributes": {
- "nested": {
- "key": "nested value"
}, - "any_key": "with a value",
- "another_key": "with a different value",
- "username": "avery",
- "system": false,
- "type": "my custom event",
- "event_node_path": "/projects/opc",
- "created_at": "2026-09-14T10:28:22.797869Z"
}, - "relationships": {
- "source": {
- "links": {
- "source": "/api/projects/opc"
}, - "data": {
- "id": "01a09f75-f47b-7c28-917d-a54382a19986",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/events/01a09f75-f48e-79a7-8c6b-715f54206541"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Creates an event.
required | object |
{- "data": {
- "attributes": {
- "type": "custom event",
- "any_key": "with a value",
- "another_key": "with a different value",
- "nested": {
- "key": "nested value"
}
}
}
}{- "data": {
- "id": "01a09f75-f5b3-7a2a-95d3-43acc690140b",
- "type": "event",
- "attributes": {
- "some": "event data",
- "username": "logged_in_user",
- "system": false,
- "type": "my event",
- "event_node_path": null,
- "created_at": "2026-09-14T10:28:23.090870Z"
}, - "relationships": {
- "source": {
- "links": {
- "source": null
}
}
}, - "links": {
- "self": "/api/events/01a09f75-f5b3-7a2a-95d3-43acc690140b"
}
}
}Shows an event.
| event_id required | string Example: 01a09f75-34b4-766f-93bd-6c12d982645c event id |
{- "data": {
- "id": "01a09f75-f797-7fda-ba23-0c9ba2d44e11",
- "type": "event",
- "attributes": {
- "nested": {
- "key": "nested value"
}, - "any_key": "with a value",
- "another_key": "with a different value",
- "username": "dean_lebsack",
- "system": false,
- "type": "my custom event",
- "event_node_path": "/projects/opc",
- "created_at": "2026-09-14T10:28:23.575364Z"
}, - "relationships": {
- "source": {
- "links": {
- "source": "/api/projects/opc"
}, - "data": {
- "id": "01a09f75-f786-7d04-b8ac-79f40a34375b",
- "type": "project"
}
}
}, - "links": {
- "self": "/api/events/01a09f75-f797-7fda-ba23-0c9ba2d44e11"
}
}
}Lists all event filters.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[code_eq]=changes_success API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f75-eb58-7b26-bb67-d5aaa0030a38",
- "type": "event_filter",
- "attributes": {
- "rules": {
- "event_rules": [
- [
- "event_node_path",
- "eq",
- "/projects/opc/environments/dev"
], - [
- "system",
- "true",
- 1
], - [
- "type",
- "eq",
- "api:changes:success"
]
], - "source_rules": [ ]
}, - "code": "change_success",
- "description": "Filter for successful changes in dev",
- "created_by": "opschain",
- "created_at": "2026-09-14T10:28:20.440130Z",
- "updated_at": "2026-09-14T10:28:20.440130Z"
}, - "links": {
- "self": "/api/event_filters/change_success",
- "subscribers": "/api/event_filters/change_success/event_subscribers"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Create an event filter.
required | object |
{- "data": {
- "attributes": {
- "code": "change_success",
- "description": "Filter for successful changes in dev",
- "rules": {
- "event_rules": [
- {
- "attribute": "type",
- "predicate": "eq",
- "value": "api:changes:success"
}, - {
- "attribute": "system",
- "predicate": "true"
}, - {
- "attribute": "event_node_path",
- "predicate": "eq",
- "value": "/projects/demo/environments/dev"
}
], - "source_rules": [
- {
- "attribute": "action",
- "predicate": "eq",
- "value": "default"
}
]
}
}
}
}{- "data": {
- "id": "01a09f75-ec34-7ba3-ae5a-3f8244ac114f",
- "type": "event_filter",
- "attributes": {
- "rules": {
- "event_rules": [
- [
- "event_node_path",
- "eq",
- "/projects/demo/environments/dev"
], - [
- "system",
- "true",
- 1
], - [
- "type",
- "eq",
- "api:changes:success"
]
], - "source_rules": [
- [
- "action",
- "eq",
- "default"
]
]
}, - "code": "1zqle",
- "description": "Minus quae voluptas minima.",
- "created_by": "logged_in_user",
- "created_at": "2026-09-14T10:28:20.660004Z",
- "updated_at": "2026-09-14T10:28:20.660004Z"
}, - "links": {
- "self": "/api/event_filters/1zqle",
- "subscribers": "/api/event_filters/1zqle/event_subscribers"
}
}
}Show an event filter.
| event_filter_code required | string Example: change_success event filter code |
{- "data": {
- "id": "01a09f75-eee1-7a61-879c-d3cf7694cb1a",
- "type": "event_filter",
- "attributes": {
- "rules": {
- "event_rules": [
- [
- "event_node_path",
- "eq",
- "/projects/opc/environments/dev"
], - [
- "system",
- "true",
- 1
], - [
- "type",
- "eq",
- "api:changes:success"
]
], - "source_rules": [ ]
}, - "code": "change_success",
- "description": "Filter for successful changes in dev",
- "created_by": "opschain",
- "created_at": "2026-09-14T10:28:21.345071Z",
- "updated_at": "2026-09-14T10:28:21.345071Z"
}, - "links": {
- "self": "/api/event_filters/change_success",
- "subscribers": "/api/event_filters/change_success/event_subscribers"
}
}
}Update an event filter.
| event_filter_code required | string Example: change_success event filter code |
required | object |
{- "data": {
- "attributes": {
- "rules": {
- "event_rules": [
- {
- "attribute": "type",
- "predicate": "eq",
- "value": "api:changes:error"
}
], - "source_rules": [
- {
- "attribute": "action",
- "predicate": "eq",
- "value": "hello_world"
}
]
}, - "description": "hello world errors filter"
}
}
}{- "data": {
- "id": "01a09f75-f06c-73b3-87b9-f6b71f07227e",
- "type": "event_filter",
- "attributes": {
- "rules": {
- "event_rules": [
- [
- "type",
- "eq",
- "api:changes:error"
]
], - "source_rules": [
- [
- "action",
- "eq",
- "hello_world"
]
]
}, - "code": "change_success",
- "description": "hello world errors filter",
- "created_by": "opschain",
- "created_at": "2026-09-14T10:28:21.739567Z",
- "updated_at": "2026-09-14T10:28:21.753341Z"
}, - "links": {
- "self": "/api/event_filters/change_success",
- "subscribers": "/api/event_filters/change_success/event_subscribers"
}
}
}Lists all event subscribers.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[enabled_eq]=true API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f75-f99f-77cc-ba34-d2716dcf254b",
- "type": "event_subscriber",
- "attributes": {
- "channel_kwargs": { },
- "enabled": true,
- "created_by": "antonia.labadie-1205",
- "created_at": "2026-09-14T10:28:24.094803Z",
- "updated_at": "2026-09-14T10:28:24.094803Z"
}, - "relationships": {
- "event_filter": {
- "data": {
- "id": "01a09f75-f96c-7cc5-b8dc-369b4deb9953",
- "type": "event_filter"
}, - "links": {
- "related": "/api/event_filters/change_success"
}
}, - "notification_channel": {
- "data": {
- "id": "01a09f75-f99a-751d-855f-d43a31623d09",
- "type": "notification_channel"
}, - "links": {
- "related": "/api/system_configuration/notification_channels/system_email"
}
}
}, - "links": {
- "self": "/api/event_subscribers/01a09f75-f99f-77cc-ba34-d2716dcf254b"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Create an event subscriber without a node in the path.
The subscriber is still attached to a node - channel_parent_path names the node owning the notification channel, and the event filter supplies the node the subscription applies to.
required | object |
{- "data": {
- "attributes": {
- "event_filter_code": "change_success",
- "channel_parent_path": "/system_configuration",
- "channel_code": "system_email",
- "channel_kwargs": {
- "additional": {
- "job": {
- "kwarg": "values"
}
}
}, - "enabled": true
}
}
}{- "data": {
- "id": "01a09f75-fc2e-7d6f-b099-3364e65b3ece",
- "type": "event_subscriber",
- "attributes": {
- "channel_kwargs": {
- "hello": "world"
}, - "enabled": true,
- "created_by": "logged_in_user",
- "created_at": "2026-09-14T10:28:24.748591Z",
- "updated_at": "2026-09-14T10:28:24.748591Z"
}, - "relationships": {
- "event_filter": {
- "data": {
- "id": "01a09f75-fad3-7543-a23a-3e076c61df05",
- "type": "event_filter"
}, - "links": {
- "related": "/api/event_filters/surl4"
}
}, - "notification_channel": {
- "data": {
- "id": "01a09f75-fc15-7723-91d1-34be2b4ddaa4",
- "type": "notification_channel"
}, - "links": {
- "related": "/api/projects/opc/assets/prj_soa/notification_channels/hazdl"
}
}
}, - "links": {
- "self": "/api/event_subscribers/01a09f75-fc2e-7d6f-b099-3364e65b3ece"
}
}
}List event subscribers for a specific project, environment or asset.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[enabled_eq]=true API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f76-00d8-747b-acb2-0c329035d493",
- "type": "event_subscriber",
- "attributes": {
- "channel_kwargs": { },
- "enabled": true,
- "created_by": "bernard_welch-1239",
- "created_at": "2026-09-14T10:28:25.943514Z",
- "updated_at": "2026-09-14T10:28:25.943514Z"
}, - "relationships": {
- "event_filter": {
- "data": {
- "id": "01a09f76-0098-7956-9a5b-63c0c8d63014",
- "type": "event_filter"
}, - "links": {
- "related": "/api/event_filters/change_success"
}
}, - "notification_channel": {
- "data": {
- "id": "01a09f76-00d2-78ff-a315-f9a46bee6f3c",
- "type": "notification_channel"
}, - "links": {
- "related": "/api/system_configuration/notification_channels/system_email"
}
}
}, - "links": {
- "self": "/api/event_subscribers/01a09f76-00d8-747b-acb2-0c329035d493"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Create an event subscriber.
required | object |
{- "data": {
- "attributes": {
- "event_filter_code": "change_success",
- "channel_parent_path": "/system_configuration",
- "channel_code": "system_email",
- "channel_kwargs": {
- "additional": {
- "job": {
- "kwarg": "values"
}
}
}, - "enabled": true
}
}
}{- "data": {
- "id": "01a09f76-02b6-7ee9-ae64-ff475fe98459",
- "type": "event_subscriber",
- "attributes": {
- "channel_kwargs": {
- "hello": "world"
}, - "enabled": true,
- "created_by": "logged_in_user",
- "created_at": "2026-09-14T10:28:26.422219Z",
- "updated_at": "2026-09-14T10:28:26.422219Z"
}, - "relationships": {
- "event_filter": {
- "data": {
- "id": "01a09f76-0221-707b-a8f9-5ec5fafa6934",
- "type": "event_filter"
}, - "links": {
- "related": "/api/event_filters/b2qbe"
}
}, - "notification_channel": {
- "data": {
- "id": "01a09f76-02a7-7cbc-b396-eb870eb46632",
- "type": "notification_channel"
}, - "links": {
- "related": "/api/projects/opc/assets/prj_soa/notification_channels/j4ckt"
}
}
}, - "links": {
- "self": "/api/event_subscribers/01a09f76-02b6-7ee9-ae64-ff475fe98459"
}
}
}Show an event subscriber.
| event_subscriber_id required | string Example: 01a09f75-3504-70f3-83b4-c9a3090f8c32 event subscriber id |
{- "data": {
- "id": "01a09f76-05fc-76d0-9f68-58840d0ad390",
- "type": "event_subscriber",
- "attributes": {
- "channel_kwargs": { },
- "enabled": true,
- "created_by": "marian-1273",
- "created_at": "2026-09-14T10:28:27.259774Z",
- "updated_at": "2026-09-14T10:28:27.259774Z"
}, - "relationships": {
- "event_filter": {
- "data": {
- "id": "01a09f76-05bd-7432-be6b-dad17ef89838",
- "type": "event_filter"
}, - "links": {
- "related": "/api/event_filters/change_success"
}
}, - "notification_channel": {
- "data": {
- "id": "01a09f76-05f6-7a30-b9b7-825c1d5bd115",
- "type": "notification_channel"
}, - "links": {
- "related": "/api/system_configuration/notification_channels/system_email"
}
}
}, - "links": {
- "self": "/api/event_subscribers/01a09f76-05fc-76d0-9f68-58840d0ad390"
}
}
}Update an event subscriber.
| event_subscriber_id required | string Example: 01a09f75-3504-70f3-83b4-c9a3090f8c32 event subscriber id |
required | object |
{- "data": {
- "attributes": {
- "event_filter_code": "change_success",
- "channel_parent_path": "/projects/opc",
- "channel_code": "project_direct",
- "channel_kwargs": {
- "hello": "world"
}, - "enabled": false
}
}
}{- "data": {
- "id": "01a09f76-0827-7690-b850-3c8152618dce",
- "type": "event_subscriber",
- "attributes": {
- "channel_kwargs": {
- "hello": "world"
}, - "enabled": false,
- "created_by": "efren-1285",
- "created_at": "2026-09-14T10:28:27.814745Z",
- "updated_at": "2026-09-14T10:28:27.845315Z"
}, - "relationships": {
- "event_filter": {
- "data": {
- "id": "01a09f76-07f4-724b-b05b-9f31817bc716",
- "type": "event_filter"
}, - "links": {
- "related": "/api/event_filters/change_success"
}
}, - "notification_channel": {
- "data": {
- "id": "01a09f76-0830-788f-8d62-78802b0c4b1d",
- "type": "notification_channel"
}, - "links": {
- "related": "/api/projects/opc/notification_channels/project_direct"
}
}
}, - "links": {
- "self": "/api/event_subscribers/01a09f76-0827-7690-b850-3c8152618dce"
}
}
}Lists all global notification channels.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[code_eq]=slack API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f76-5767-79af-abfb-ed909f0b4ad8",
- "type": "notification_channel",
- "attributes": {
- "format": "html",
- "code": "system_email",
- "description": "System channel for email notifications",
- "default_channel": true,
- "internal": false,
- "enabled": true,
- "kwargs": {
- "address": "smtp.gmail.com",
- "port": 587,
- "enable_starttls": true,
- "user_name": "user@gmail.com",
- "password": "app-password"
}, - "created_by": "monty-1701",
- "created_at": "2026-09-14T10:28:48.103060Z",
- "updated_at": "2026-09-14T10:28:48.103060Z",
- "job_code": "email_job"
}, - "relationships": {
- "notification_job": {
- "data": {
- "id": "01a09f76-5761-7c39-93a0-fe1c93d24a3c",
- "type": "notification_job"
}, - "links": {
- "related": "/api/notification_jobs/email_job"
}
}
}, - "links": {
- "self": "/api/system_configuration/notification_channels/system_email",
- "parent": "/api/system_configuration"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Create a global notification channel, available to every node in the instance.
required | object |
{- "data": {
- "attributes": {
- "code": "ops_team_slack",
- "notification_job_code": "direct_job",
- "format": "slack",
- "default_channel": false,
- "enabled": true,
- "description": "Slack channel for the operations team"
}
}
}{- "data": {
- "id": "01a09f76-57f1-7ce1-8542-bc680126d96b",
- "type": "notification_channel",
- "attributes": {
- "format": "slack",
- "code": "ops_team_slack",
- "description": "Slack channel for the operations team",
- "default_channel": false,
- "internal": false,
- "enabled": true,
- "created_by": "logged_in_user",
- "created_at": "2026-09-14T10:28:48.241074Z",
- "updated_at": "2026-09-14T10:28:48.241074Z",
- "job_code": "direct_job"
}, - "relationships": {
- "notification_job": {
- "data": {
- "id": "01a09f76-57bf-7873-a44f-235b600f846c",
- "type": "notification_job"
}, - "links": {
- "related": "/api/notification_jobs/direct_job"
}
}
}, - "links": {
- "self": "/api/system_configuration/notification_channels/ops_team_slack",
- "parent": "/api/system_configuration"
}
}
}Sends a test notification through the channel and returns what the notification job reported.
The supplied attributes are merged over the channel's stored kwargs for this send only - nothing is saved - and supply whatever the job needs but the channel does not store, such as the to address of an email channel. Only email and direct message channels can be tested, and a disabled channel is rejected.
| notification_channel_code required | string Example: system_email notification channel code |
required | object |
{- "data": {
- "attributes": {
- "to": "ops-team@example.com"
}
}
}{- "data": {
- "id": "01a09f76-5968-7c74-b5d6-4b19c23c1f4e",
- "type": "notification_channel_test",
- "attributes": {
- "result": [
- "Email sent successfully"
]
}
}
}Show a global notification channel.
| notification_channel_code required | string Example: system_email notification channel code |
{- "data": {
- "id": "01a09f76-5a7f-78e0-85a8-8b4a821b0d48",
- "type": "notification_channel",
- "attributes": {
- "format": "html",
- "code": "system_email",
- "description": "System channel for email notifications",
- "default_channel": true,
- "internal": false,
- "enabled": true,
- "kwargs": {
- "address": "smtp.gmail.com",
- "port": 587,
- "enable_starttls": true,
- "user_name": "user@gmail.com",
- "password": "app-password"
}, - "created_by": "na.wuckert-1706",
- "created_at": "2026-09-14T10:28:48.895044Z",
- "updated_at": "2026-09-14T10:28:48.895044Z",
- "job_code": "email_job"
}, - "relationships": {
- "notification_job": {
- "data": {
- "id": "01a09f76-5a79-7a99-b17f-375a416fc8e0",
- "type": "notification_job"
}, - "links": {
- "related": "/api/notification_jobs/email_job"
}
}
}, - "links": {
- "self": "/api/system_configuration/notification_channels/system_email",
- "parent": "/api/system_configuration"
}
}
}Update a global notification channel.
| notification_channel_code required | string Example: system_email notification channel code |
required | object |
{- "data": {
- "attributes": {
- "notification_job_code": "direct_job",
- "format": "slack",
- "default_channel": false,
- "enabled": false,
- "description": "New channel description"
}
}
}{- "data": {
- "id": "01a09f76-5b8a-7243-a2c7-d0d21a00f2cd",
- "type": "notification_channel",
- "attributes": {
- "format": "slack",
- "code": "system_email",
- "description": "New channel description",
- "default_channel": false,
- "internal": false,
- "enabled": false,
- "created_by": "delorse_mills-1708",
- "created_at": "2026-09-14T10:28:49.161591Z",
- "updated_at": "2026-09-14T10:28:49.175723Z",
- "job_code": "direct_job"
}, - "relationships": {
- "notification_job": {
- "data": {
- "id": "01a09f76-5b5a-7b1b-b24c-b37c2a8979e5",
- "type": "notification_job"
}, - "links": {
- "related": "/api/notification_jobs/direct_job"
}
}
}, - "links": {
- "self": "/api/system_configuration/notification_channels/system_email",
- "parent": "/api/system_configuration"
}
}
}List notification channels for a specific project, environment or asset.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[code_eq]=slack API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f76-5e0b-7eae-a6cf-465fa7f0d8f8",
- "type": "notification_channel",
- "attributes": {
- "format": "slack",
- "code": "project_direct",
- "description": "Project specific channel for slack notifications",
- "default_channel": true,
- "internal": false,
- "enabled": true,
- "kwargs": {
- "bot_name": "slack_bot",
- "token": "slack_oauth_token"
}, - "created_by": "malia_pfeffer-1716",
- "created_at": "2026-09-14T10:28:49.803446Z",
- "updated_at": "2026-09-14T10:28:49.803446Z",
- "job_code": "direct_job"
}, - "relationships": {
- "notification_job": {
- "data": {
- "id": "01a09f76-5dde-7018-90b1-3980de893e92",
- "type": "notification_job"
}, - "links": {
- "related": "/api/notification_jobs/direct_job"
}
}
}, - "links": {
- "self": "/api/projects/opc/notification_channels/project_direct",
- "parent": "/api/projects/opc"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Show a notification channel for a specific project, environment or asset..
| notification_channel_code required | string Example: system_email notification channel code |
{- "data": {
- "id": "01a09f76-5e96-7d7a-a06f-285f5ec27d24",
- "type": "notification_channel",
- "attributes": {
- "format": "slack",
- "code": "project_direct",
- "description": "Project specific channel for slack notifications",
- "default_channel": true,
- "internal": false,
- "enabled": true,
- "kwargs": {
- "bot_name": "slack_bot",
- "token": "slack_oauth_token"
}, - "created_by": "melinda-1720",
- "created_at": "2026-09-14T10:28:49.942344Z",
- "updated_at": "2026-09-14T10:28:49.942344Z",
- "job_code": "direct_job"
}, - "relationships": {
- "notification_job": {
- "data": {
- "id": "01a09f76-5e62-7dab-b1a9-0825a9f6b23b",
- "type": "notification_job"
}, - "links": {
- "related": "/api/notification_jobs/direct_job"
}
}
}, - "links": {
- "self": "/api/projects/opc/notification_channels/project_direct",
- "parent": "/api/projects/opc"
}
}
}Update a notification channel for a specific project, environment or asset.
| notification_channel_code required | string Example: system_email notification channel code |
required | object |
{- "data": {
- "attributes": {
- "notification_job_code": "direct_job",
- "format": "slack",
- "default_channel": false,
- "enabled": false,
- "description": "New channel description"
}
}
}{- "data": {
- "id": "01a09f76-600e-748e-b817-87478c475950",
- "type": "notification_channel",
- "attributes": {
- "format": "slack",
- "code": "project_direct",
- "description": "New channel description",
- "default_channel": false,
- "internal": false,
- "enabled": false,
- "created_by": "bethann-1728",
- "created_at": "2026-09-14T10:28:50.317573Z",
- "updated_at": "2026-09-14T10:28:50.334768Z",
- "job_code": "direct_job"
}, - "relationships": {
- "notification_job": {
- "data": {
- "id": "01a09f76-5fd7-7dcc-aa28-ce081f794a0b",
- "type": "notification_job"
}, - "links": {
- "related": "/api/notification_jobs/direct_job"
}
}
}, - "links": {
- "self": "/api/projects/opc/notification_channels/project_direct",
- "parent": "/api/projects/opc"
}
}
}Lists all notification jobs.
| filter[<query/sort filter>]= |
{- "data": [
- {
- "id": "01a09f76-6281-74ed-a854-bdfd147aff5e",
- "type": "notification_job",
- "attributes": {
- "job_class": "Notifications::SendEmailJob",
- "target_type": "smtp",
- "valid_formats": [
- "html",
- "text"
], - "code": "email_job",
- "description": "Send an email to the target user(s)",
- "created_at": "2026-09-14T10:28:50.944651Z",
- "updated_at": "2026-09-14T10:28:50.944651Z",
- "all_kwargs": [
- "address",
- "authentication",
- "bcc",
- "body",
- "cc",
- "content_type",
- "domain",
- "enable_starttls",
- "enable_starttls_auto",
- "event_id",
- "from",
- "model_class",
- "model_id",
- "open_timeout",
- "openssl_verify_mode",
- "password",
- "port",
- "read_timeout",
- "ssl",
- "subject",
- "test",
- "tls",
- "to",
- "user_name"
]
}, - "relationships": {
- "notification_channels": {
- "data": [ ],
- "links": {
- "related": "/api/notification_jobs/email_job/channels"
}
}
}, - "links": {
- "self": "/api/notification_jobs/email_job"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}
}
}Show a notification job.
| notification_job_code required | string Example: email_job notification job code |
{- "data": {
- "id": "01a09f76-62d4-7eec-8b3b-fac91fa09191",
- "type": "notification_job",
- "attributes": {
- "job_class": "Notifications::SendEmailJob",
- "target_type": "smtp",
- "valid_formats": [
- "html",
- "text"
], - "code": "email_job",
- "description": "Send an email to the target user(s)",
- "created_at": "2026-09-14T10:28:51.028421Z",
- "updated_at": "2026-09-14T10:28:51.028421Z",
- "all_kwargs": [
- "address",
- "authentication",
- "bcc",
- "body",
- "cc",
- "content_type",
- "domain",
- "enable_starttls",
- "enable_starttls_auto",
- "event_id",
- "from",
- "model_class",
- "model_id",
- "open_timeout",
- "openssl_verify_mode",
- "password",
- "port",
- "read_timeout",
- "ssl",
- "subject",
- "test",
- "tls",
- "to",
- "user_name"
]
}, - "relationships": {
- "notification_channels": {
- "data": [ ],
- "links": {
- "related": "/api/notification_jobs/email_job/channels"
}
}
}, - "links": {
- "self": "/api/notification_jobs/email_job"
}
}
}Sends an email via the global default email channel's SMTP configuration.
Notes:
404.to, cc or bcc must be supplied. Each accepts either a single address or an array of addresses.content must be base64 encoded. The combined decoded size of all attachments must not exceed 5MB.from address is not restricted - a running change or agent may send email as any address its SMTP server accepts.
The address the email was sent from is recorded in the api:email:create event raised for each request.| Authorization required | string the API key OpsChain supplied to the running change or agent |
required | object |
{- "data": {
- "attributes": {
- "subject": "OpsChain change 4d9d2f2c completed",
- "body": "The deploy action completed successfully.",
- "to": [
- "ops@limepoint.com"
], - "cc": [
- "team@limepoint.com"
], - "bcc": [
- "audit@limepoint.com"
], - "from": "changes@limepoint.com",
- "content_type": "text/plain",
- "attachments": [
- {
- "filename": "report.csv",
- "content_type": "text/csv",
- "content": "aWQsbmFtZQoxLG9wc2NoYWluCg=="
}
]
}
}
}{- "data": {
- "id": "6aa7cc4331b07_1084111845d@2d05a10caf52.mail",
- "type": "email",
- "attributes": {
- "from": "no-reply@limepoint.com",
- "to": [
- "ops@limepoint.com"
], - "cc": [ ],
- "bcc": [ ],
- "subject": "OpsChain change 4d9d2f2c completed",
- "attachment_filenames": [ ],
- "sent_at": "2026-09-14T10:28:19Z"
}
}
}Returns information about the jobs that are being processed by the OpsChain.
| filter[<query/sort filter>]= | |
| limit | integer [ 1 .. 1000 ] Default: 100 Example: limit=50 Limit the number of jobs returned |
{- "data": [
- {
- "id": "811431",
- "type": "job",
- "attributes": {
- "priority": 63,
- "job_class": "RefreshTemplateVersionActionsJob",
- "error_count": 3,
- "last_error_message": "Que::JobMethods::JobTimeoutError: job exceeded its maximum run time",
- "queue": "default",
- "last_error_backtrace": "/opt/opschain/app/jobs/refresh_template_version_actions_job.rb:18:in 'run'",
- "data": "{}",
- "maximum_retry_count": 0,
- "node_id": "01a09f76-1c50-7444-b7da-6b5ee6c95bfb",
- "node_path": "/projects/opc/environments/dev",
- "status": "failed",
- "worker_hostname": null,
- "args": "[]",
- "kwargs": "{}",
- "description": "No description available.",
- "run_at": "2026-09-13T16:53:12.943670Z",
- "finished_at": null,
- "expired_at": "2026-09-14T09:58:33.008805Z"
}
}, - {
- "id": "412551",
- "type": "job",
- "attributes": {
- "priority": 42,
- "job_class": "ChangeJob",
- "error_count": 1,
- "last_error_message": "ActiveRecord::LockWaitTimeout: could not obtain lock on row in relation \"steps\"",
- "queue": "default",
- "last_error_backtrace": "/opt/opschain/app/jobs/change_job.rb:24:in 'ChangeJob#run'",
- "data": "{}",
- "maximum_retry_count": 0,
- "node_id": "01a09f76-1c50-7444-b7da-6b5ee6c95bfb",
- "node_path": "/projects/opc/environments/dev",
- "status": "failed",
- "worker_hostname": "opschain-api-worker-7c4d8b9948-7bg6t",
- "args": "[]",
- "kwargs": "{}",
- "description": "Verifies if a change can be started based on its owner configuration and, if so, starts it.",
- "run_at": "2026-09-13T10:51:44.001767Z",
- "finished_at": "2026-09-14T10:28:33.004057Z",
- "expired_at": null
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false,
- "has_any": true,
- "total_matching_filter": 2,
- "total_matching_filter_exact": true
}
}Endpoints to interact with settings.
Shows the current settings.
| settings_id required | string Example: 01a09f75-1f84-7bf2-8bc2-79dd12818311 settings id |
{- "data": {
- "id": "01a09f76-970d-7def-acce-af574fc57f40",
- "type": "settings",
- "attributes": {
- "data": {
- "repo_folder": ".opschain",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}, - "version": 1,
- "created_at": "2026-09-14T10:29:04.397047Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/settings/01a09f76-970d-7def-acce-af574fc57f40",
- "current_version": "/api/settings/01a09f76-970d-7def-acce-af574fc57f40/versions/1",
- "versions": "/api/settings/01a09f76-970d-7def-acce-af574fc57f40/versions"
}
}
}Updates a settings JSON if the included version matches the current settings version.
| id_to_update required | string Example: 01a09f75-1f84-7bf2-8bc2-79dd12818311 settings id |
required | object |
{- "data": {
- "attributes": {
- "data": {
- "repo_folder": ".opschain",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}, - "version": 1
}
}
}{- "data": {
- "id": "01a09f76-9808-782d-9592-57cbe238c7dd",
- "type": "settings",
- "attributes": {
- "data": {
- "repo_folder": ".opschain",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}, - "version": 1,
- "created_at": "2026-09-14T10:29:04.647798Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/settings/01a09f76-9808-782d-9592-57cbe238c7dd",
- "current_version": "/api/settings/01a09f76-9808-782d-9592-57cbe238c7dd/versions/1",
- "versions": "/api/settings/01a09f76-9808-782d-9592-57cbe238c7dd/versions"
}
}
}Updates a settings JSON, without any version checking (always updates).
| id_to_set required | string Example: 01a09f75-1f84-7bf2-8bc2-79dd12818311 settings id |
required | object |
{- "data": {
- "attributes": {
- "data": {
- "repo_folder": ".opschain",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}
}
}
}{- "data": {
- "id": "01a09f76-9a1d-7202-8856-3a7eacf20bc6",
- "type": "settings",
- "attributes": {
- "data": {
- "repo_folder": ".opschain",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}, - "version": 1,
- "created_at": "2026-09-14T10:29:05.180664Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/projects/opc"
}
}
}, - "links": {
- "self": "/api/settings/01a09f76-9a1d-7202-8856-3a7eacf20bc6",
- "current_version": "/api/settings/01a09f76-9a1d-7202-8856-3a7eacf20bc6/versions/1",
- "versions": "/api/settings/01a09f76-9a1d-7202-8856-3a7eacf20bc6/versions"
}
}
}Endpoints to interact with the version history for settings.
Lists all versions of an OpsChain settings.
| settings_id required | string Example: 01a09f75-1f84-7bf2-8bc2-79dd12818311 settings id |
| limit | integer [ 1 .. 10000 ] Default: 1000 Example: limit=50 Limit the number of settings versions returned. When more records match than the limit a 206 response is returned and |
{- "data": [
- {
- "id": "01a09f76-9bfe-79b9-91c6-00377a1e6003",
- "type": "settings_version",
- "attributes": {
- "data": {
- "repo_folder": ".opschain",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}, - "version": 1,
- "created_at": "2026-09-14T10:29:05.662145Z"
}, - "relationships": {
- "settings": {
- "data": {
- "id": "01a09f76-9bfc-7a04-8917-5481be9def44",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-9bfc-7a04-8917-5481be9def44"
}
}
}, - "links": {
- "versions": "/api/settings/01a09f76-9bfc-7a04-8917-5481be9def44/versions",
- "owner": "/api/projects/opc",
- "self": "/api/settings/01a09f76-9bfc-7a04-8917-5481be9def44/versions/1"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Shows the settings values for this settings version.
| settings_id required | string Example: 01a09f75-1f84-7bf2-8bc2-79dd12818311 settings id |
| version_number required | integer Example: 1 version number |
{- "data": {
- "id": "01a09f76-9cf6-766b-8a55-05b59d013b4f",
- "type": "settings_version",
- "attributes": {
- "data": {
- "repo_folder": ".opschain",
- "requires_approval_from": [
- {
- "change_filter": {
- "actions": "all"
}, - "user_names": [
- "opschain"
]
}
]
}, - "version": 1,
- "created_at": "2026-09-14T10:29:05.909985Z"
}, - "relationships": {
- "settings": {
- "data": {
- "id": "01a09f76-9cf4-7a06-8d0e-f84450a9970d",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-9cf4-7a06-8d0e-f84450a9970d"
}
}
}, - "links": {
- "versions": "/api/settings/01a09f76-9cf4-7a06-8d0e-f84450a9970d/versions",
- "owner": "/api/projects/opc",
- "self": "/api/settings/01a09f76-9cf4-7a06-8d0e-f84450a9970d/versions/1"
}
}
}List all authorisation tokens.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[description_cont]=automation |
{- "data": [
- {
- "id": "01a09f75-6ddf-7afa-bba3-ca5b9400992b",
- "type": "authentication_token",
- "attributes": {
- "type": "AccessToken",
- "expires_at": "2026-09-14T14:27:48.000000Z",
- "created_at": "2026-09-14T10:27:48.276115Z",
- "updated_at": "2026-09-14T10:27:48.276115Z"
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f75-6d7c-71ba-a0ae-c187cb3c97d9",
- "type": "user"
}, - "links": {
- "owner": "/api/users/01a09f75-6d7c-71ba-a0ae-c187cb3c97d9"
}
}
}, - "links": {
- "self": "/api/tokens/01a09f75-6ddf-7afa-bba3-ca5b9400992b"
}
}, - {
- "id": "01a09f75-6db1-71ee-999a-3924b7624888",
- "type": "authentication_token",
- "attributes": {
- "type": "ApiKeyToken",
- "description": "CI token for API access",
- "expires_at": "2027-03-14T23:59:59.999999Z",
- "created_at": "2026-09-14T10:27:48.271970Z",
- "updated_at": "2026-09-14T10:27:48.271970Z"
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f75-6d7c-71ba-a0ae-c187cb3c97d9",
- "type": "user"
}, - "links": {
- "owner": "/api/users/01a09f75-6d7c-71ba-a0ae-c187cb3c97d9"
}
}
}, - "links": {
- "self": "/api/tokens/01a09f75-6db1-71ee-999a-3924b7624888"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}
}
}Creates an access token for the current user.
Notes:
token.enable_cookies setting is true (default) a new refresh_token cookie is set in the response and the supplied refresh token is rotated (destroyed and replaced). The response body contains only the access token.token.enable_cookies setting is false and the refresh token is supplied to authenticate the request a new refresh token is included in the response meta and the supplied refresh token is rotated (destroyed and replaced). The new refresh token JWT is available in data.meta.refresh_token.required | object |
{- "data": {
- "attributes": {
- "username": "username",
- "password": "password"
}
}
}{- "data": {
- "id": "01a09f75-6e98-7ac9-a0fe-6ed3e4775dd5",
- "type": "authentication_token",
- "attributes": {
- "type": "AccessToken",
- "expires_at": "2026-09-14T14:27:48.000000Z",
- "created_at": "2026-09-14T10:27:48.461421Z",
- "updated_at": "2026-09-14T10:27:48.461421Z"
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f75-6e2c-7b67-a6ef-112c5c2249c5",
- "type": "user"
}, - "links": {
- "owner": "/api/users/01a09f75-6e2c-7b67-a6ef-112c5c2249c5"
}
}
}, - "links": {
- "self": "/api/tokens/01a09f75-6e98-7ac9-a0fe-6ed3e4775dd5"
}, - "meta": {
- "bearer_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwMWEwOWY3NS02ZTk4LTdhYzktYTBmZS02ZWQzZTQ3NzVkZDUiLCJpc3MiOiJPcHNDaGFpbiIsImF1ZCI6Im9wc2NoYWluX2FwaSIsImV4cCI6MTc4OTM5NjA2OCwiaWF0IjoxNzg5MzgxNjY4fQ.JeOYRixleCMjR8jAMlo_xVWra1veveKJ1fGV53ESRwQ"
}
}
}Creates an API key token for the current user.
Note: LDAP or local login credentials, or an access token are required to use this endpoint.
required | object |
{- "data": {
- "attributes": {
- "username": "username",
- "password": "password",
- "description": "CI token for API access",
- "expiry_date": "2027-03-14T10:27:29.980511Z"
}
}
}{- "data": {
- "id": "01a09f75-6f1b-7f7d-b5f8-9300e95edd50",
- "type": "authentication_token",
- "attributes": {
- "type": "ApiKeyToken",
- "description": "Rerum et dignissimos eligendi.",
- "expires_at": "2026-09-28T23:59:59.999999Z",
- "created_at": "2026-09-14T10:27:48.635287Z",
- "updated_at": "2026-09-14T10:27:48.635287Z"
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f75-6ee5-73d0-8b2c-956db9fb6192",
- "type": "user"
}, - "links": {
- "owner": "/api/users/01a09f75-6ee5-73d0-8b2c-956db9fb6192"
}
}
}, - "links": {
- "self": "/api/tokens/01a09f75-6f1b-7f7d-b5f8-9300e95edd50"
}, - "meta": {
- "bearer_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwMWEwOWY3NS02ZjFiLTdmN2QtYjVmOC05MzAwZTk1ZWRkNTAiLCJpc3MiOiJPcHNDaGFpbiIsImF1ZCI6Im9wc2NoYWluX2FwaSIsImV4cCI6MTc5MDYzOTk5OSwiaWF0IjoxNzg5MzgxNjY4fQ.j2M2B3i2A9Msa-l4EF2qlqbzLZ0HTYBJoiP5Zxazvzc"
}
}
}Show an authorisation token.
| token_id required | string Example: 01a09f75-2623-7fa0-b6d5-ac7615e37c97 authorisation token id |
{- "data": {
- "id": "01a09f75-6fac-71dd-bbc0-2fff7443672b",
- "type": "authentication_token",
- "attributes": {
- "type": "ApiKeyToken",
- "description": "CI token for API access",
- "expires_at": "2027-03-14T23:59:59.999999Z",
- "created_at": "2026-09-14T10:27:48.779005Z",
- "updated_at": "2026-09-14T10:27:48.779005Z"
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f75-6f7c-77cd-b097-0da6d26ca04d",
- "type": "user"
}, - "links": {
- "owner": "/api/users/01a09f75-6f7c-77cd-b097-0da6d26ca04d"
}
}
}, - "links": {
- "self": "/api/tokens/01a09f75-6fac-71dd-bbc0-2fff7443672b"
}
}
}{- "data": {
- "id": "01a09f75-7132-7da9-98af-808c126d2f67",
- "type": "authentication_token",
- "attributes": {
- "type": "AccessToken",
- "expires_at": "2026-09-14T14:27:49.000000Z",
- "created_at": "2026-09-14T10:27:49.132178Z",
- "updated_at": "2026-09-14T10:27:49.132178Z"
}, - "relationships": {
- "owner": {
- "data": {
- "id": "01a09f75-70dc-7ce5-8df1-0805d41130a1",
- "type": "user"
}, - "links": {
- "owner": "/api/users/01a09f75-70dc-7ce5-8df1-0805d41130a1"
}
}
}, - "links": {
- "self": "/api/tokens/01a09f75-7132-7da9-98af-808c126d2f67"
}
}
}{- "data": [
- {
- "id": "01a09f76-dada-7064-b572-9b34ce16de45",
- "type": "user",
- "attributes": {
- "username": "logged_in_user",
- "groupnames": [
- "ldap-group-1",
- "ldap-group-2"
], - "auth_provider": "ldap",
- "email_address": "logged_in_user@limepoint.com",
- "default_notification_methods": [
- "slack"
], - "direct_message_ids": {
- "slack": "J3CF44QUY",
- "teams": "QWI6H6RUA"
}, - "created_at": "2026-09-14T10:29:21.753218Z",
- "updated_at": "2026-09-14T10:29:21.753218Z"
}, - "meta": { },
- "links": {
- "self": "/api/users/01a09f76-dada-7064-b572-9b34ce16de45"
}
}
]
}Show a user.
| user_id required | string Example: 01a09f75-1d71-7f07-af64-5f26433bf787 user id |
{- "data": {
- "id": "01a09f76-db2d-756e-ad7e-34d1ce7fa051",
- "type": "user",
- "attributes": {
- "username": "logged_in_user",
- "groupnames": [
- "ldap-group-1",
- "ldap-group-2"
], - "auth_provider": "ldap",
- "email_address": "logged_in_user@limepoint.com",
- "default_notification_methods": [
- "slack"
], - "direct_message_ids": {
- "slack": "ORNK73PXP",
- "teams": "QCU7W6VWM"
}, - "created_at": "2026-09-14T10:29:21.836669Z",
- "updated_at": "2026-09-14T10:29:21.836669Z"
}, - "meta": {
- "superuser": true
}, - "links": {
- "self": "/api/users/01a09f76-db2d-756e-ad7e-34d1ce7fa051"
}
}
}Update a user's notification preferences.
| user_id required | string Example: 01a09f75-1d71-7f07-af64-5f26433bf787 user id |
required | object |
{- "data": {
- "attributes": {
- "email_address": "user@limepoint.com",
- "default_notification_methods": [
- "email",
- "slack"
], - "direct_message_ids": {
- "slack": "U12345678"
}
}
}
}{- "data": {
- "id": "01a09f76-dbcc-78ae-8b65-97d4161d3475",
- "type": "user",
- "attributes": {
- "username": "logged_in_user",
- "groupnames": [
- "ldap-group-1",
- "ldap-group-2"
], - "auth_provider": "ldap",
- "email_address": "logged_in_user@limepoint.com",
- "default_notification_methods": [
- "email",
- "slack"
], - "direct_message_ids": {
- "slack": "U12345678"
}, - "created_at": "2026-09-14T10:29:21.995926Z",
- "updated_at": "2026-09-14T10:29:22.033930Z"
}, - "meta": { },
- "links": {
- "self": "/api/users/01a09f76-dbcc-78ae-8b65-97d4161d3475"
}
}
}{- "data": {
- "id": "01a09f76-dca9-77cb-8418-ca8fcf7c8207",
- "type": "user",
- "attributes": {
- "username": "logged_in_user",
- "groupnames": [
- "ldap-group-1",
- "ldap-group-2"
], - "auth_provider": "ldap",
- "email_address": "logged_in_user@limepoint.com",
- "default_notification_methods": [
- "slack"
], - "direct_message_ids": {
- "slack": "L1YPJ8PFR",
- "teams": "YO2ZSZ4KL"
}, - "created_at": "2026-09-14T10:29:22.216814Z",
- "updated_at": "2026-09-14T10:29:22.216814Z"
}, - "meta": {
- "superuser": true
}, - "links": {
- "self": "/api/users/01a09f76-dca9-77cb-8418-ca8fcf7c8207"
}
}
}Lists notifications the user has configured for a specific project, environment or asset (that do not reference a specific action or workflow).
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
{- "data": [
- {
- "id": "01a09f76-634c-7fa8-83f2-1e2cfdc86410",
- "type": "change_notifications",
- "attributes": {
- "events": [
- "error",
- "success"
], - "include_children": false
}
}, - {
- "id": "01a09f76-634c-7fa8-83f2-1e2cfdc86410",
- "type": "settings_notifications",
- "attributes": {
- "events": [ ],
- "include_children": false
}
}, - {
- "id": "01a09f76-634c-7fa8-83f2-1e2cfdc86410",
- "type": "properties_notifications",
- "attributes": {
- "events": [ ],
- "include_children": false
}
}
]
}Lists all change specific notifications the user has configured for a specific project, environment or asset.
| project_code required | string Example: opc project code |
| asset_code required | string Example: prj_soa asset code |
{- "data": {
- "id": "01a09f76-6520-79e5-a918-49f1f7b52c71",
- "type": "action_notifications",
- "attributes": {
- "custom_proj_action": {
- "events": [
- "error"
], - "include_children": false
}, - "proj_action_1": {
- "events": [
- "error"
], - "include_children": false
}, - "proj_action_2": {
- "events": [ ],
- "include_children": false
}, - "provision": {
- "events": [ ],
- "include_children": false
}
}
}
}Lists the events the user is notified of for each of the project's workflows, keyed by workflow code.
Workflow notifications belong to the project. An environment or asset path returns an empty set and cannot be updated.
| project_code required | string Example: opc project code |
{- "data": {
- "id": "01a09f76-6795-7f6c-8062-edf1e6205197",
- "type": "workflow_run_notifications",
- "attributes": {
- "assets": [ ],
- "custom_workflow": [
- "start"
], - "workflow_2": [
- "start"
]
}
}
}Lists every notification the user has configured, across every node, keyed by node path.
A user may only list their own notifications - the id in the path must be the authenticated user's own.
| user_id required | string Example: 01a09f75-1d71-7f07-af64-5f26433bf787 user id |
{- "data": {
- "id": "01a09f76-69d9-72be-a56d-2c9e8bc4b12b",
- "type": "all_user_notifications",
- "attributes": {
- "/projects/opc/assets/prj_soa": {
- "node": {
- "changes": {
- "events": [
- "error",
- "success"
], - "include_children": false
}, - "settings": {
- "events": [ ],
- "include_children": false
}, - "properties": {
- "events": [ ],
- "include_children": false
}
}, - "changes": {
- "custom_proj_action": {
- "events": [
- "error"
], - "include_children": false
}, - "proj_action_1": {
- "events": [
- "error"
], - "include_children": false
}, - "proj_action_2": {
- "events": [ ],
- "include_children": false
}, - "provision": {
- "events": [ ],
- "include_children": false
}
}
}, - "/projects/opc/environments/dev/assets/env_soa": {
- "node": {
- "changes": {
- "events": [
- "cancel",
- "start"
], - "include_children": false
}, - "settings": {
- "events": [ ],
- "include_children": false
}, - "properties": {
- "events": [ ],
- "include_children": false
}
}, - "changes": {
- "env_action_1": {
- "events": [ ],
- "include_children": false
}, - "env_action_2": {
- "events": [ ],
- "include_children": false
}, - "provision": {
- "events": [ ],
- "include_children": false
}
}
}, - "/projects/opc": {
- "node": {
- "changes": {
- "events": [ ],
- "include_children": false
}, - "workflow_runs": {
- "events": [
- "cancel",
- "success"
], - "include_children": false
}, - "settings": {
- "events": [ ],
- "include_children": false
}, - "properties": {
- "events": [ ],
- "include_children": false
}
}, - "changes": {
- "whole_project": {
- "events": [
- "error"
], - "include_children": true
}
}, - "workflow_runs": {
- "assets": [ ],
- "custom_workflow": [
- "start"
], - "workflow_2": [
- "start"
]
}
}
}
}
}Returns the decrypted values of the supplied secrets
required | object |
{- "data": {
- "attributes": {
- "owner_type": "settings",
- "owner_id": "01a09f75-242b-77e6-abb4-07ac4b2e73a0",
- "source": "settings",
- "mintmodel_owner_path": "/projects/opc/assets/prj_soa",
- "converge_date": "2026-09-14T10:27:34.461301Z",
- "values_to_decrypt": [
- "secret-vault://csh/infrastructure/files/oci_platform_configs.yaml",
- "{AES2}TdxBDw3KtDj+FKKckKeF5A=={/IV}Ud/ubLWIwhpCwkgBa6DSd5A=="
]
}
}
}{- "data": {
- "id": "secrets",
- "type": "secrets",
- "attributes": {
- "results": [
- {
- "source": "secret-vault://csh/infrastructure/files/oci_platform_configs.yaml",
- "result": "ERROR: You do not have permission to resolve settings secrets for /projects/opc/environments/dev - requires executable on /projects/opc/environments/dev/settings/secrets or /projects/opc/environments/dev/secrets, or on the equivalent path of an ancestor node",
- "filename": null
}, - {
- "source": "secret-vault://csh/infrastructure/sshkeys/oci_new_key",
- "result": "ERROR: You do not have permission to resolve settings secrets for /projects/opc/environments/dev - requires executable on /projects/opc/environments/dev/settings/secrets or /projects/opc/environments/dev/secrets, or on the equivalent path of an ancestor node",
- "filename": null
}
]
}
}
}Returns the decrypted value of a secret resolved directly from the secret vault
required | object |
{- "data": {
- "attributes": {
- "vault_owner_id": "01a09f75-240b-7c49-9170-be2a3aff7ca5",
- "vault_path": "secret-vault://path/to/vault/vault_key",
- "expected_vault_value": "{AES2}TdxBDw3KtDj+FKKckKeF5A=={/IV}Ud/ubLWIwhpCwkgBa6DSd5A=="
}
}
}{- "data": {
- "id": "secrets",
- "type": "secrets",
- "attributes": {
- "results": [
- {
- "source": "secret-vault://path/to/vault/vault_key",
- "result": "decrypted value",
- "filename": null
}
]
}
}
}Returns the OpsChain-encrypted form of the supplied value
required | object |
{- "data": {
- "attributes": {
- "value_to_encrypt": "the value to encrypt"
}
}
}{- "data": {
- "id": "secrets",
- "type": "secrets",
- "attributes": {
- "results": [
- {
- "source": "the value to encrypt",
- "result": "{AES2}TdxBDw3KtDj+FKKckKeF5A=={/IV}Ud/ubLWIwhpCwkgBa6DSd5A==",
- "filename": null
}
]
}
}
}Creates a secret value in the secret vault at the supplied path
required | object |
object |
{- "data": {
- "attributes": {
- "vault_owner_id": "01a09f75-240b-7c49-9170-be2a3aff7ca5",
- "vault_path": "secret-vault://path/to/vault/vault_key",
- "vault_value": "the value to store"
}
}, - "meta": {
- "replace_secret": false
}
}{- "data": {
- "id": "secrets",
- "type": "secrets",
- "attributes": {
- "results": [
- {
- "source": "secret-vault://path/to/vault/vault_key",
- "result": "{AES2}TdxBDw3KtDj+FKKckKeF5A=={/IV}Ud/ubLWIwhpCwkgBa6DSd5A==",
- "filename": null
}
]
}
}
}Uploads a file and stores its contents in the secret vault at the supplied path
| vault_owner_id | string (Node whose vault configuration is used to store the secret) |
| vault_path | string |
| replace_secret | string (Replace the secret vault value if it exists (default: false)) |
| file | string <binary> The file whose contents are stored in the secret vault (binary content is base64 encoded automatically). The filename is ignored. |
------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="vault_owner_id" 01a09f76-9681-7b83-83ab-0e1a796628b5 ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="vault_path" secret-vault://path/to/vault/vault_key ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="file"; filename="sample.txt" content-type: text/plain content-length: 21 Sample file property ------------XnJLe9ZIbbGUYtzPQJ16u1--
{- "data": {
- "id": "secrets",
- "type": "secrets",
- "attributes": {
- "results": [
- {
- "source": "secret-vault://path/to/vault/vault_key",
- "result": "{AES2}TdxBDw3KtDj+FKKckKeF5A=={/IV}Ud/ubLWIwhpCwkgBa6DSd5A==",
- "filename": "sample.txt"
}
]
}
}
}{- "data": {
- "id": "0",
- "type": "info",
- "attributes": {
- "cluster_name": "opschain-db",
- "version": "edge",
- "runner_image": "limepoint/opschain-runner-enterprise:edge",
- "db_version": "17.2",
- "api_version": "7.1.5.1",
- "ldap_available?": true,
- "maintenance_mode?": false,
- "banners": [ ],
- "instance_info": { },
- "licence_info": {
- "licence_issuer": "LimePoint Pty Ltd",
- "licence_issuer_contact": "support@limepoint.com",
- "licence_version": "1",
- "customer_identifier": "Engineering",
- "start_date": "2025-09-14T00:00:00Z",
- "end_date": "2026-09-14T00:00:00Z"
}
}, - "links": {
- "self": "/api/info"
}, - "meta": {
- "authorisations": {
- "superuser": true,
- "secrets": {
- "global_decrypt": true,
- "global_encrypt": true
}
}
}
}
}Lists certificates in the trust store.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[filename_cont]=root API filtering guide. Named filters: |
{- "data": [
- {
- "id": "ca_self.pem",
- "type": "certificate",
- "attributes": {
- "filename": "ca_self.pem",
- "content": "-----BEGIN CERTIFICATE-----\nMIIFQzCCAyugAwIBAgIUeNS0f9lqaJhC2apc91FbPRBVPNwwDQYJKoZIhvcNAQEL\nBQAwMTEQMA4GA1UEAwwHUm9vdCBDQTEdMBsGA1UECgwUTGltZVBvaW50RW5naW5l\nZXJpbmcwHhcNMjUwNDI5MDA0NzAxWhcNMzAwNDI5MDA0NzAxWjAxMRAwDgYDVQQD\nDAdSb290IENBMR0wGwYDVQQKDBRMaW1lUG9pbnRFbmdpbmVlcmluZzCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJoUxJkyK3VKbBhVwQPRmA9MqUOocn16\nSOZm5KVPVyR2F9OZ4xIyZTkUalUFGrguoDAyvKAI+AgGRhNJG+kKQ7PLAAEbSWBE\ngdXNNtSAj4Yvo0Bw3XbxqZM7kBO7GfysKMjqKsEeR0wiwshAQPsBjAYa78ayDRC5\nRqN1jR9al65UdLcE5yDbbpMd7GwR3b9ythahsox8PfHL60sZf7NfI4q+SkgbOVzt\ndxppCZqwZRuMVWdvvQk069UkOYoRXniQEIFU6Ugd8FWIIzleHyKEodTsRhhXUjBS\nGbA3v+x66mS87r6bE6ffFwLO0reFgfx4a7dMmhd5djrOfZtZ0L8zizXwsyee5j6v\niNokciyLHgRfWYHsYZ3OgHC8p7i02Xd9vcCsaPuoGopo0G/+wog289ObTqGbxu28\nX8Bk5/kIVkn79LDA4zWz7VwYY0uoK0TxWpdMg2yuvE5nH94qGlnJisopxVhrZ7qH\nE+QEqUYhelJNCi62Z8gmT0z3d7lmsq9gH23o1Zngdhnygdrm3rh404bjK/xFL6Hf\n0YmiYhQw8ydHKGWY8rfhjL8eXl1gURZTqLTZC6J3sF3SAS1hj2nrePsPGt7S1OqI\ndjd/vGLSLz/SGyE9d5sOeTvza9pmKKXKqcvPFbwgF496dZmAu6xtVC+6pa8hOXJW\nYlC0xn/xXnTFAgMBAAGjUzBRMB0GA1UdDgQWBBRdN8nNGCxpxe0zHXz3BrrtlYvV\nLjAfBgNVHSMEGDAWgBRdN8nNGCxpxe0zHXz3BrrtlYvVLjAPBgNVHRMBAf8EBTAD\nAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQB6jtlLzWd6yjbye2SsB04ns6B6WskdOAkk\npjGz7MyARCEvgfHh5HtMzBi9l5mxXjMfYuQx3ag75lTSaA/OUgGCQOQygwD6qUXX\nQKslqCh1EEbNfDUuBt31OhAFECkKl194euhuIjUugyL+D07Oscg+k77WDEesBif0\nR8ei+j+AX/sK4RFacFMgAAWHaI3chGu2qrnFHoKEB/R9OUieEb6c8CbVEXyOzCbW\nxerP1sxPBuqvw5/UMwdafXlVmPfC/7C1dJzdw5/yAE6gwEB0ztaaEMsA22smd8dk\nNDugbmY9yTLRWFN2XIs9jgCaDM0hZOFDPbxkX7oD30z3FVkbuSII3EK0GAqHYy15\nZLD5xaxolyKOvQwXYoHVJD95KX1OVuNcILsd2iVGAKpI8IWOu2A1Kvq/Kr5qtxRW\nhcP+nL5XVu/mGP/GABI/zggORdjfAezb9mWi2ozfmSHyJsN8qfVOvK4urDj2YdbR\ntMybK+X7KpN947oZQwJ8WgfO3mTt4jkYPEFgUyVDFRuMcx25ewxy/5+HcpZvgmKd\nesPTYnR/q+kdQ+IO2OrOoBGUJ8F7bmiAKVThBWZKUn9jGAym+A4CEMrklCYwqZT5\nAuA0rI1AjitrP74YqylXtmP2IUJkxCOXBthnlt1oC2UPYXyACPdp5K4+KZbK/63B\nWbrO/ELdag==\n-----END CERTIFICATE-----\n",
- "description": "Main CA cert.",
- "created_at": "2026-09-14T10:29:21.099651Z",
- "updated_at": "2026-09-14T10:29:21.099651Z"
}, - "links": {
- "self": "/api/trust_store/ca_self.pem"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Creates a certificate in the trust store.
| description | string or null |
| file | string <binary> certificate file, the uploaded file's filename is used to name the new certificate |
------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="description" New certificate description ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="file"; filename="remote_system.crt" content-type: application/x-x509-ca-cert content-length: 1887 -----BEGIN CERTIFICATE----- MIIFQzCCAyugAwIBAgIUeNS0f9lqaJhC2apc91FbPRBVPNwwDQYJKoZIhvcNAQEL BQAwMTEQMA4GA1UEAwwHUm9vdCBDQTEdMBsGA1UECgwUTGltZVBvaW50RW5naW5l ZXJpbmcwHhcNMjUwNDI5MDA0NzAxWhcNMzAwNDI5MDA0NzAxWjAxMRAwDgYDVQQD DAdSb290IENBMR0wGwYDVQQKDBRMaW1lUG9pbnRFbmdpbmVlcmluZzCCAiIwDQYJ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJoUxJkyK3VKbBhVwQPRmA9MqUOocn16 SOZm5KVPVyR2F9OZ4xIyZTkUalUFGrguoDAyvKAI+AgGRhNJG+kKQ7PLAAEbSWBE gdXNNtSAj4Yvo0Bw3XbxqZM7kBO7GfysKMjqKsEeR0wiwshAQPsBjAYa78ayDRC5 RqN1jR9al65UdLcE5yDbbpMd7GwR3b9ythahsox8PfHL60sZf7NfI4q+SkgbOVzt dxppCZqwZRuMVWdvvQk069UkOYoRXniQEIFU6Ugd8FWIIzleHyKEodTsRhhXUjBS GbA3v+x66mS87r6bE6ffFwLO0reFgfx4a7dMmhd5djrOfZtZ0L8zizXwsyee5j6v iNokciyLHgRfWYHsYZ3OgHC8p7i02Xd9vcCsaPuoGopo0G/+wog289ObTqGbxu28 X8Bk5/kIVkn79LDA4zWz7VwYY0uoK0TxWpdMg2yuvE5nH94qGlnJisopxVhrZ7qH E+QEqUYhelJNCi62Z8gmT0z3d7lmsq9gH23o1Zngdhnygdrm3rh404bjK/xFL6Hf 0YmiYhQw8ydHKGWY8rfhjL8eXl1gURZTqLTZC6J3sF3SAS1hj2nrePsPGt7S1OqI djd/vGLSLz/SGyE9d5sOeTvza9pmKKXKqcvPFbwgF496dZmAu6xtVC+6pa8hOXJW YlC0xn/xXnTFAgMBAAGjUzBRMB0GA1UdDgQWBBRdN8nNGCxpxe0zHXz3BrrtlYvV LjAfBgNVHSMEGDAWgBRdN8nNGCxpxe0zHXz3BrrtlYvVLjAPBgNVHRMBAf8EBTAD AQH/MA0GCSqGSIb3DQEBCwUAA4ICAQB6jtlLzWd6yjbye2SsB04ns6B6WskdOAkk pjGz7MyARCEvgfHh5HtMzBi9l5mxXjMfYuQx3ag75lTSaA/OUgGCQOQygwD6qUXX QKslqCh1EEbNfDUuBt31OhAFECkKl194euhuIjUugyL+D07Oscg+k77WDEesBif0 R8ei+j+AX/sK4RFacFMgAAWHaI3chGu2qrnFHoKEB/R9OUieEb6c8CbVEXyOzCbW xerP1sxPBuqvw5/UMwdafXlVmPfC/7C1dJzdw5/yAE6gwEB0ztaaEMsA22smd8dk NDugbmY9yTLRWFN2XIs9jgCaDM0hZOFDPbxkX7oD30z3FVkbuSII3EK0GAqHYy15 ZLD5xaxolyKOvQwXYoHVJD95KX1OVuNcILsd2iVGAKpI8IWOu2A1Kvq/Kr5qtxRW hcP+nL5XVu/mGP/GABI/zggORdjfAezb9mWi2ozfmSHyJsN8qfVOvK4urDj2YdbR tMybK+X7KpN947oZQwJ8WgfO3mTt4jkYPEFgUyVDFRuMcx25ewxy/5+HcpZvgmKd esPTYnR/q+kdQ+IO2OrOoBGUJ8F7bmiAKVThBWZKUn9jGAym+A4CEMrklCYwqZT5 AuA0rI1AjitrP74YqylXtmP2IUJkxCOXBthnlt1oC2UPYXyACPdp5K4+KZbK/63B WbrO/ELdag== -----END CERTIFICATE----- ------------XnJLe9ZIbbGUYtzPQJ16u1--
{- "data": {
- "id": "remote_system.crt",
- "type": "certificate",
- "attributes": {
- "filename": "remote_system.crt",
- "content": "-----BEGIN CERTIFICATE-----\nMIIFQzCCAyugAwIBAgIUeNS0f9lqaJhC2apc91FbPRBVPNwwDQYJKoZIhvcNAQEL\nBQAwMTEQMA4GA1UEAwwHUm9vdCBDQTEdMBsGA1UECgwUTGltZVBvaW50RW5naW5l\nZXJpbmcwHhcNMjUwNDI5MDA0NzAxWhcNMzAwNDI5MDA0NzAxWjAxMRAwDgYDVQQD\nDAdSb290IENBMR0wGwYDVQQKDBRMaW1lUG9pbnRFbmdpbmVlcmluZzCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJoUxJkyK3VKbBhVwQPRmA9MqUOocn16\nSOZm5KVPVyR2F9OZ4xIyZTkUalUFGrguoDAyvKAI+AgGRhNJG+kKQ7PLAAEbSWBE\ngdXNNtSAj4Yvo0Bw3XbxqZM7kBO7GfysKMjqKsEeR0wiwshAQPsBjAYa78ayDRC5\nRqN1jR9al65UdLcE5yDbbpMd7GwR3b9ythahsox8PfHL60sZf7NfI4q+SkgbOVzt\ndxppCZqwZRuMVWdvvQk069UkOYoRXniQEIFU6Ugd8FWIIzleHyKEodTsRhhXUjBS\nGbA3v+x66mS87r6bE6ffFwLO0reFgfx4a7dMmhd5djrOfZtZ0L8zizXwsyee5j6v\niNokciyLHgRfWYHsYZ3OgHC8p7i02Xd9vcCsaPuoGopo0G/+wog289ObTqGbxu28\nX8Bk5/kIVkn79LDA4zWz7VwYY0uoK0TxWpdMg2yuvE5nH94qGlnJisopxVhrZ7qH\nE+QEqUYhelJNCi62Z8gmT0z3d7lmsq9gH23o1Zngdhnygdrm3rh404bjK/xFL6Hf\n0YmiYhQw8ydHKGWY8rfhjL8eXl1gURZTqLTZC6J3sF3SAS1hj2nrePsPGt7S1OqI\ndjd/vGLSLz/SGyE9d5sOeTvza9pmKKXKqcvPFbwgF496dZmAu6xtVC+6pa8hOXJW\nYlC0xn/xXnTFAgMBAAGjUzBRMB0GA1UdDgQWBBRdN8nNGCxpxe0zHXz3BrrtlYvV\nLjAfBgNVHSMEGDAWgBRdN8nNGCxpxe0zHXz3BrrtlYvVLjAPBgNVHRMBAf8EBTAD\nAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQB6jtlLzWd6yjbye2SsB04ns6B6WskdOAkk\npjGz7MyARCEvgfHh5HtMzBi9l5mxXjMfYuQx3ag75lTSaA/OUgGCQOQygwD6qUXX\nQKslqCh1EEbNfDUuBt31OhAFECkKl194euhuIjUugyL+D07Oscg+k77WDEesBif0\nR8ei+j+AX/sK4RFacFMgAAWHaI3chGu2qrnFHoKEB/R9OUieEb6c8CbVEXyOzCbW\nxerP1sxPBuqvw5/UMwdafXlVmPfC/7C1dJzdw5/yAE6gwEB0ztaaEMsA22smd8dk\nNDugbmY9yTLRWFN2XIs9jgCaDM0hZOFDPbxkX7oD30z3FVkbuSII3EK0GAqHYy15\nZLD5xaxolyKOvQwXYoHVJD95KX1OVuNcILsd2iVGAKpI8IWOu2A1Kvq/Kr5qtxRW\nhcP+nL5XVu/mGP/GABI/zggORdjfAezb9mWi2ozfmSHyJsN8qfVOvK4urDj2YdbR\ntMybK+X7KpN947oZQwJ8WgfO3mTt4jkYPEFgUyVDFRuMcx25ewxy/5+HcpZvgmKd\nesPTYnR/q+kdQ+IO2OrOoBGUJ8F7bmiAKVThBWZKUn9jGAym+A4CEMrklCYwqZT5\nAuA0rI1AjitrP74YqylXtmP2IUJkxCOXBthnlt1oC2UPYXyACPdp5K4+KZbK/63B\nWbrO/ELdag==\n-----END CERTIFICATE-----\n",
- "description": "New certificate description",
- "created_at": "2026-09-14T10:29:21.189061Z",
- "updated_at": "2026-09-14T10:29:21.189061Z"
}, - "links": {
- "self": "/api/trust_store/remote_system.crt"
}
}
}Shows a certificate from the trust store.
| certificate_filename required | string Example: ca_self.pem certificate filename |
{- "data": {
- "id": "ca_self.pem",
- "type": "certificate",
- "attributes": {
- "filename": "ca_self.pem",
- "content": "-----BEGIN CERTIFICATE-----\nMIIFQzCCAyugAwIBAgIUeNS0f9lqaJhC2apc91FbPRBVPNwwDQYJKoZIhvcNAQEL\nBQAwMTEQMA4GA1UEAwwHUm9vdCBDQTEdMBsGA1UECgwUTGltZVBvaW50RW5naW5l\nZXJpbmcwHhcNMjUwNDI5MDA0NzAxWhcNMzAwNDI5MDA0NzAxWjAxMRAwDgYDVQQD\nDAdSb290IENBMR0wGwYDVQQKDBRMaW1lUG9pbnRFbmdpbmVlcmluZzCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJoUxJkyK3VKbBhVwQPRmA9MqUOocn16\nSOZm5KVPVyR2F9OZ4xIyZTkUalUFGrguoDAyvKAI+AgGRhNJG+kKQ7PLAAEbSWBE\ngdXNNtSAj4Yvo0Bw3XbxqZM7kBO7GfysKMjqKsEeR0wiwshAQPsBjAYa78ayDRC5\nRqN1jR9al65UdLcE5yDbbpMd7GwR3b9ythahsox8PfHL60sZf7NfI4q+SkgbOVzt\ndxppCZqwZRuMVWdvvQk069UkOYoRXniQEIFU6Ugd8FWIIzleHyKEodTsRhhXUjBS\nGbA3v+x66mS87r6bE6ffFwLO0reFgfx4a7dMmhd5djrOfZtZ0L8zizXwsyee5j6v\niNokciyLHgRfWYHsYZ3OgHC8p7i02Xd9vcCsaPuoGopo0G/+wog289ObTqGbxu28\nX8Bk5/kIVkn79LDA4zWz7VwYY0uoK0TxWpdMg2yuvE5nH94qGlnJisopxVhrZ7qH\nE+QEqUYhelJNCi62Z8gmT0z3d7lmsq9gH23o1Zngdhnygdrm3rh404bjK/xFL6Hf\n0YmiYhQw8ydHKGWY8rfhjL8eXl1gURZTqLTZC6J3sF3SAS1hj2nrePsPGt7S1OqI\ndjd/vGLSLz/SGyE9d5sOeTvza9pmKKXKqcvPFbwgF496dZmAu6xtVC+6pa8hOXJW\nYlC0xn/xXnTFAgMBAAGjUzBRMB0GA1UdDgQWBBRdN8nNGCxpxe0zHXz3BrrtlYvV\nLjAfBgNVHSMEGDAWgBRdN8nNGCxpxe0zHXz3BrrtlYvVLjAPBgNVHRMBAf8EBTAD\nAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQB6jtlLzWd6yjbye2SsB04ns6B6WskdOAkk\npjGz7MyARCEvgfHh5HtMzBi9l5mxXjMfYuQx3ag75lTSaA/OUgGCQOQygwD6qUXX\nQKslqCh1EEbNfDUuBt31OhAFECkKl194euhuIjUugyL+D07Oscg+k77WDEesBif0\nR8ei+j+AX/sK4RFacFMgAAWHaI3chGu2qrnFHoKEB/R9OUieEb6c8CbVEXyOzCbW\nxerP1sxPBuqvw5/UMwdafXlVmPfC/7C1dJzdw5/yAE6gwEB0ztaaEMsA22smd8dk\nNDugbmY9yTLRWFN2XIs9jgCaDM0hZOFDPbxkX7oD30z3FVkbuSII3EK0GAqHYy15\nZLD5xaxolyKOvQwXYoHVJD95KX1OVuNcILsd2iVGAKpI8IWOu2A1Kvq/Kr5qtxRW\nhcP+nL5XVu/mGP/GABI/zggORdjfAezb9mWi2ozfmSHyJsN8qfVOvK4urDj2YdbR\ntMybK+X7KpN947oZQwJ8WgfO3mTt4jkYPEFgUyVDFRuMcx25ewxy/5+HcpZvgmKd\nesPTYnR/q+kdQ+IO2OrOoBGUJ8F7bmiAKVThBWZKUn9jGAym+A4CEMrklCYwqZT5\nAuA0rI1AjitrP74YqylXtmP2IUJkxCOXBthnlt1oC2UPYXyACPdp5K4+KZbK/63B\nWbrO/ELdag==\n-----END CERTIFICATE-----\n",
- "description": "Main CA cert.",
- "created_at": "2026-09-14T10:29:21.269883Z",
- "updated_at": "2026-09-14T10:29:21.269883Z"
}, - "links": {
- "self": "/api/trust_store/ca_self.pem"
}
}
}Updates a certificate in the trust store.
| certificate_filename required | string Example: ca_self.pem certificate filename |
| description | string or null |
| file | string <binary> certificate file (the filename is ignored) |
------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="description" Updated certificate description ------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="file"; filename="remote_system.crt" content-type: application/x-x509-ca-cert content-length: 1887 -----BEGIN CERTIFICATE----- MIIFQzCCAyugAwIBAgIUeNS0f9lqaJhC2apc91FbPRBVPNwwDQYJKoZIhvcNAQEL BQAwMTEQMA4GA1UEAwwHUm9vdCBDQTEdMBsGA1UECgwUTGltZVBvaW50RW5naW5l ZXJpbmcwHhcNMjUwNDI5MDA0NzAxWhcNMzAwNDI5MDA0NzAxWjAxMRAwDgYDVQQD DAdSb290IENBMR0wGwYDVQQKDBRMaW1lUG9pbnRFbmdpbmVlcmluZzCCAiIwDQYJ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJoUxJkyK3VKbBhVwQPRmA9MqUOocn16 SOZm5KVPVyR2F9OZ4xIyZTkUalUFGrguoDAyvKAI+AgGRhNJG+kKQ7PLAAEbSWBE gdXNNtSAj4Yvo0Bw3XbxqZM7kBO7GfysKMjqKsEeR0wiwshAQPsBjAYa78ayDRC5 RqN1jR9al65UdLcE5yDbbpMd7GwR3b9ythahsox8PfHL60sZf7NfI4q+SkgbOVzt dxppCZqwZRuMVWdvvQk069UkOYoRXniQEIFU6Ugd8FWIIzleHyKEodTsRhhXUjBS GbA3v+x66mS87r6bE6ffFwLO0reFgfx4a7dMmhd5djrOfZtZ0L8zizXwsyee5j6v iNokciyLHgRfWYHsYZ3OgHC8p7i02Xd9vcCsaPuoGopo0G/+wog289ObTqGbxu28 X8Bk5/kIVkn79LDA4zWz7VwYY0uoK0TxWpdMg2yuvE5nH94qGlnJisopxVhrZ7qH E+QEqUYhelJNCi62Z8gmT0z3d7lmsq9gH23o1Zngdhnygdrm3rh404bjK/xFL6Hf 0YmiYhQw8ydHKGWY8rfhjL8eXl1gURZTqLTZC6J3sF3SAS1hj2nrePsPGt7S1OqI djd/vGLSLz/SGyE9d5sOeTvza9pmKKXKqcvPFbwgF496dZmAu6xtVC+6pa8hOXJW YlC0xn/xXnTFAgMBAAGjUzBRMB0GA1UdDgQWBBRdN8nNGCxpxe0zHXz3BrrtlYvV LjAfBgNVHSMEGDAWgBRdN8nNGCxpxe0zHXz3BrrtlYvVLjAPBgNVHRMBAf8EBTAD AQH/MA0GCSqGSIb3DQEBCwUAA4ICAQB6jtlLzWd6yjbye2SsB04ns6B6WskdOAkk pjGz7MyARCEvgfHh5HtMzBi9l5mxXjMfYuQx3ag75lTSaA/OUgGCQOQygwD6qUXX QKslqCh1EEbNfDUuBt31OhAFECkKl194euhuIjUugyL+D07Oscg+k77WDEesBif0 R8ei+j+AX/sK4RFacFMgAAWHaI3chGu2qrnFHoKEB/R9OUieEb6c8CbVEXyOzCbW xerP1sxPBuqvw5/UMwdafXlVmPfC/7C1dJzdw5/yAE6gwEB0ztaaEMsA22smd8dk NDugbmY9yTLRWFN2XIs9jgCaDM0hZOFDPbxkX7oD30z3FVkbuSII3EK0GAqHYy15 ZLD5xaxolyKOvQwXYoHVJD95KX1OVuNcILsd2iVGAKpI8IWOu2A1Kvq/Kr5qtxRW hcP+nL5XVu/mGP/GABI/zggORdjfAezb9mWi2ozfmSHyJsN8qfVOvK4urDj2YdbR tMybK+X7KpN947oZQwJ8WgfO3mTt4jkYPEFgUyVDFRuMcx25ewxy/5+HcpZvgmKd esPTYnR/q+kdQ+IO2OrOoBGUJ8F7bmiAKVThBWZKUn9jGAym+A4CEMrklCYwqZT5 AuA0rI1AjitrP74YqylXtmP2IUJkxCOXBthnlt1oC2UPYXyACPdp5K4+KZbK/63B WbrO/ELdag== -----END CERTIFICATE----- ------------XnJLe9ZIbbGUYtzPQJ16u1--
{- "data": {
- "id": "remote_system.crt",
- "type": "certificate",
- "attributes": {
- "filename": "remote_system.crt",
- "content": "-----BEGIN CERTIFICATE-----\nMIIFQzCCAyugAwIBAgIUeNS0f9lqaJhC2apc91FbPRBVPNwwDQYJKoZIhvcNAQEL\nBQAwMTEQMA4GA1UEAwwHUm9vdCBDQTEdMBsGA1UECgwUTGltZVBvaW50RW5naW5l\nZXJpbmcwHhcNMjUwNDI5MDA0NzAxWhcNMzAwNDI5MDA0NzAxWjAxMRAwDgYDVQQD\nDAdSb290IENBMR0wGwYDVQQKDBRMaW1lUG9pbnRFbmdpbmVlcmluZzCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJoUxJkyK3VKbBhVwQPRmA9MqUOocn16\nSOZm5KVPVyR2F9OZ4xIyZTkUalUFGrguoDAyvKAI+AgGRhNJG+kKQ7PLAAEbSWBE\ngdXNNtSAj4Yvo0Bw3XbxqZM7kBO7GfysKMjqKsEeR0wiwshAQPsBjAYa78ayDRC5\nRqN1jR9al65UdLcE5yDbbpMd7GwR3b9ythahsox8PfHL60sZf7NfI4q+SkgbOVzt\ndxppCZqwZRuMVWdvvQk069UkOYoRXniQEIFU6Ugd8FWIIzleHyKEodTsRhhXUjBS\nGbA3v+x66mS87r6bE6ffFwLO0reFgfx4a7dMmhd5djrOfZtZ0L8zizXwsyee5j6v\niNokciyLHgRfWYHsYZ3OgHC8p7i02Xd9vcCsaPuoGopo0G/+wog289ObTqGbxu28\nX8Bk5/kIVkn79LDA4zWz7VwYY0uoK0TxWpdMg2yuvE5nH94qGlnJisopxVhrZ7qH\nE+QEqUYhelJNCi62Z8gmT0z3d7lmsq9gH23o1Zngdhnygdrm3rh404bjK/xFL6Hf\n0YmiYhQw8ydHKGWY8rfhjL8eXl1gURZTqLTZC6J3sF3SAS1hj2nrePsPGt7S1OqI\ndjd/vGLSLz/SGyE9d5sOeTvza9pmKKXKqcvPFbwgF496dZmAu6xtVC+6pa8hOXJW\nYlC0xn/xXnTFAgMBAAGjUzBRMB0GA1UdDgQWBBRdN8nNGCxpxe0zHXz3BrrtlYvV\nLjAfBgNVHSMEGDAWgBRdN8nNGCxpxe0zHXz3BrrtlYvVLjAPBgNVHRMBAf8EBTAD\nAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQB6jtlLzWd6yjbye2SsB04ns6B6WskdOAkk\npjGz7MyARCEvgfHh5HtMzBi9l5mxXjMfYuQx3ag75lTSaA/OUgGCQOQygwD6qUXX\nQKslqCh1EEbNfDUuBt31OhAFECkKl194euhuIjUugyL+D07Oscg+k77WDEesBif0\nR8ei+j+AX/sK4RFacFMgAAWHaI3chGu2qrnFHoKEB/R9OUieEb6c8CbVEXyOzCbW\nxerP1sxPBuqvw5/UMwdafXlVmPfC/7C1dJzdw5/yAE6gwEB0ztaaEMsA22smd8dk\nNDugbmY9yTLRWFN2XIs9jgCaDM0hZOFDPbxkX7oD30z3FVkbuSII3EK0GAqHYy15\nZLD5xaxolyKOvQwXYoHVJD95KX1OVuNcILsd2iVGAKpI8IWOu2A1Kvq/Kr5qtxRW\nhcP+nL5XVu/mGP/GABI/zggORdjfAezb9mWi2ozfmSHyJsN8qfVOvK4urDj2YdbR\ntMybK+X7KpN947oZQwJ8WgfO3mTt4jkYPEFgUyVDFRuMcx25ewxy/5+HcpZvgmKd\nesPTYnR/q+kdQ+IO2OrOoBGUJ8F7bmiAKVThBWZKUn9jGAym+A4CEMrklCYwqZT5\nAuA0rI1AjitrP74YqylXtmP2IUJkxCOXBthnlt1oC2UPYXyACPdp5K4+KZbK/63B\nWbrO/ELdag==\n-----END CERTIFICATE-----\n",
- "description": "Updated certificate description",
- "created_at": "2026-09-14T10:29:21.711354Z",
- "updated_at": "2026-09-14T10:29:21.711354Z"
}, - "links": {
- "self": "/api/trust_store/remote_system.crt"
}
}
}Updates the system licence.
| licence | string |
------------XnJLe9ZIbbGUYtzPQJ16u1 content-disposition: form-data; name="licence"; filename="expired_opschain.licence" content-type: application/json content-length: 924 {"data":{"license_issuer":"LimePoint Pty Ltd","license_issuer_contact":"support@limepoint.com","license_version":"1","customer_identifier":"Engineering","start_date":"2023-11-14T00:00:00Z","end_date":"2024-02-14T00:00:00Z"},"signature":"m/hevqjjrYYjOS8ZtgVGGerm028UpKWw/I1cGB4vcJCwI805OtAo1PmszCxWQGOXilgAqyLERLluimRBckFYVL8yx7+rTFxF4D13FqwbwRL5HcKKkV1wwGgzuMpaGE8JGpAq/CkBq6l3xL+jPv/CSYaEyE55+20UdmkZdkvR2vKoJtqDzA1q/4T9tiPA0YIKDjjxSasLBpqokl0iUuaDWksaIhXjdsKmj0FSPfVD2VyPyrBSc1sv0pR+qz98Ny9ef7t6/pIaphLo8Yaa2dnJykeXtAWiaLe+25/OWxEHZoZBvKjentD5dzvqiA8Xo1qhm/tMurTQq4BGJvWYK70LQY9EXlxd+1XLbFX0qdNBNFnzf+rjbGfrLIMw2NFhsODDordSh5P3xNGGG4JyXrwXVRPUaw30celB+uYK3vvDzis0DSBXSA+D9JV3E9YxbI4xuT9Kf+bl0+cr/BajEBhuzATk30a8y5Zqn2MfCBmMb1iLkoFWWvFA+cfUsKsWk3O4YDmR3paOz+HVrSA5HlwaOMOU/P15/q5YFfN6ZEz4DW28I+lfFE3PtgkCsjcPCd99Ca4ZSmiok/l55zRxxrYl6Xc1TNOuq58yp05U798VaEEvmCaVvp5Fk/+TrbGMWKUlPPvc86RzsOlI8Qkdn75SJM3WMEl931m4A52g6jF6+T0="} ------------XnJLe9ZIbbGUYtzPQJ16u1--
{- "data": {
- "id": "expired_opschain.licence",
- "type": "licence",
- "attributes": {
- "licence": "licence data"
}
}
}Shows the current system configuration node.
| include | string Example: include=settings Include the settings in the response |
| fields[<resource_type>] |
{- "data": {
- "id": "01a09f76-bbb1-78d4-a313-59fdf6dfeb11",
- "type": "system_configuration",
- "attributes": {
- "code": "system",
- "name": "System Configuration",
- "description": "System configuration node"
}, - "relationships": {
- "settings": {
- "data": {
- "id": "01a09f76-bbbb-750d-b2cb-9367758c6620",
- "type": "settings"
}, - "links": {
- "related": "/api/settings/01a09f76-bbbb-750d-b2cb-9367758c6620"
}
}, - "properties": {
- "data": {
- "id": "01a09f76-bbb5-7d5a-a057-5f4a022fc3aa",
- "type": "properties"
}, - "links": {
- "related": "/api/properties/01a09f76-bbb5-7d5a-a057-5f4a022fc3aa"
}
}
}, - "links": {
- "self": "/api/system_configuration",
- "settings": "/api/settings/01a09f76-bbbb-750d-b2cb-9367758c6620",
- "properties": "/api/properties/01a09f76-bbb5-7d5a-a057-5f4a022fc3aa"
}, - "meta": {
- "can_have_changes": false,
- "can_have_children": false,
- "can_have_properties": true,
- "can_have_settings": true,
- "can_have_templates": false,
- "requires_template": false,
- "child_node_types": [ ],
- "can_have_workflows": false,
- "can_have_actions": false,
- "authorisations": {
- "properties": {
- "read": true,
- "update": true
}, - "settings": {
- "read": true,
- "update": true
}, - "secrets": {
- "settings": true
}, - "self": {
- "update": true
}
}
}
}, - "included": [
- {
- "id": "01a09f76-bbbb-750d-b2cb-9367758c6620",
- "type": "settings",
- "attributes": {
- "data": {
- "allow_parallel": {
- "changes": true,
- "runs_of_same_change": false,
- "runs_of_same_workflow": false
}, - "auth_strategy": "ldap",
- "enable_basic_auth": true,
- "token": {
- "secret_key": "{AES2}bRVGJzywdkfNSoIZCdu+zQ=={/IV}UAMy1BCVPCYlUkVaWSH9auIVlvmOm688U1V6Ewir2WwtUgKloa0VWvGW5e+hp0Sns7xLsPplc9c+bC3AVGOuDbkLLTSTScxT3HehM7i3qp5JDU6s3EFuQnyFaHKyQXgKxYOFPx4C9R/aB4kaopE2tkMmuAGdwSIrigr4xtNNVdpSXL023G12DpG1wMOmxoIzU",
- "access_expiry": 240,
- "refresh_expiry": 10080,
- "enable_cookies": true
}, - "product_name": "OpsChain",
- "api_autoscaler": {
- "mode": "active",
- "min_workers": 3,
- "max_workers": 10
}, - "build_service": {
- "max_image_build_retries": 3,
- "max_concurrent_image_builds": 8,
- "image_build_throttle_delay": 2
}, - "concurrent": {
- "refresh_limit": 5,
- "runner_limit": 15,
- "mintmodel_limit": 10
}, - "git_remote": {
- "fetch_lock_timeout": 300,
- "fetch_stale_threshold": 3,
- "periodic_fetch_interval": 900,
- "periodic_fetch_summary": {
- "enabled": true,
- "interval": 86400
}, - "mountable": null,
- "ssh": {
- "connect_timeout": 10,
- "server_alive_interval": 30,
- "server_alive_count_max": 3
}
}, - "log_step_pod_events": false,
- "agent": {
- "repository": "limepoint",
- "name": "opschain-runner-enterprise",
- "image_tag": "local",
- "script_path": "/opt/opschain/agent.sh",
- "disable_host_alias": false
}, - "runner": {
- "repository": "limepoint",
- "name": "opschain-runner-enterprise",
- "image_tag": "local",
- "node_selector": "{}",
- "reuse_actions_rb": true,
- "use_fork_for_mintpress_ctl_rb": true
}, - "parallel_change_worker_steps": 10,
- "image_reuse": {
- "enabled": true,
- "ttl_days": 7,
- "build_relies_on_parents": false
}, - "ldap": {
- "cache_ttl": 60,
- "refresh_interval": 14400,
- "search_timeout": 30,
- "refresh_search_timeout": 300,
- "hc_user": "{AES2}CVyBowHi+FJNQQBmh1e2tw=={/IV}UfK+nFf6i38NxOdS8Ke8fBA==",
- "enable_ssl": false,
- "host": "opschain-ldap",
- "port": 389,
- "password": "{AES2}gtezTijQ3s3yfHxD5caJAg=={/IV}UX4+xDd1Ah9L44oWRIfz3PQ==",
- "mail_attribute": "mail",
- "use_admin_to_bind": true,
- "groups_filter": "(objectClass=groupOfNames)",
- "users_filter": "(objectClass=inetOrgPerson)",
- "new_group_object_class": [
- "groupOfNames"
], - "new_user_object_class": [
- "inetOrgPerson",
- "top"
], - "new_org_unit_object_class": [
- "organizationalUnit",
- "top"
], - "logging_enabled": true,
- "admin": "cn=admin,dc=opschain,dc=io",
- "base_dn": "dc=opschain,dc=io",
- "group_attribute": "member",
- "group_base": "ou=groups,dc=opschain,dc=io",
- "user_attribute": "uid",
- "user_base": "ou=test,dc=opschain,dc=io"
}, - "licence": "",
- "maintenance_mode": false,
- "log_aggregator_additional_output_settings": "",
- "log_email_events": false,
- "known_hosts": [ ],
- "include_git_history": false,
- "mintmodel_render_timeout": 300,
- "pod_per_change_step": false,
- "repo_folder": ".opschain",
- "pod_templates": {
- "mintmodel_api": {
- "resources": {
- "requests": {
- "memory": "256Mi"
}, - "limits": {
- "memory": "2Gi"
}
}
}
}, - "requires_approval_from": [ ],
- "vault": { },
- "version": "local"
}, - "version": 1,
- "created_at": "2026-09-14T10:29:13.786707Z"
}, - "relationships": {
- "owner": {
- "links": {
- "owner": "/api/system_configuration"
}
}
}, - "links": {
- "self": "/api/settings/01a09f76-bbbb-750d-b2cb-9367758c6620",
- "current_version": "/api/settings/01a09f76-bbbb-750d-b2cb-9367758c6620/versions/1",
- "versions": "/api/settings/01a09f76-bbbb-750d-b2cb-9367758c6620/versions"
}
}
]
}Returns every database cluster that has registered itself, whether its workers are currently running work and how its copy of the database is keeping up. The replication status is either primary, streaming (up to date), lagging (behind and still catching up), disconnected (a replication slot exists but nothing is attached to it) or lost (too far behind to catch up, so its copy has to be rebuilt). It is only reported for what the primary database can see, so it is absent for a database cluster that streams from another replica rather than from the primary.
{- "data": [
- {
- "id": "opschain-db",
- "type": "cluster",
- "attributes": {
- "name": "opschain-db",
- "role": "primary",
- "consuming_work": true,
- "replication_status": "primary",
- "replication_lag_seconds": null,
- "last_worker_seen_at": "2026-09-14T10:27:43.007964Z",
- "api_started_at": "2026-09-14T10:27:43.006578Z"
}
}
]
}Returns status information about the OpsChain database.
{- "data": [
- {
- "id": "0",
- "type": "database_status",
- "attributes": {
- "version": "18.6",
- "uptime": 1532,
- "database_size": "14 MB",
- "connections": {
- "active": 1,
- "idle": 3,
- "max_configured": 100
}, - "connection_settings": {
- "pgdb": "opschain",
- "pghost": "opschain-db",
- "pgport": 5432
}, - "table_sizes": [
- {
- "name": "changes",
- "size": "224 kB"
}, - {
- "name": "workflow_steps",
- "size": "208 kB"
}, - {
- "name": "nodes",
- "size": "200 kB"
}, - {
- "name": "node_background_tasks",
- "size": "184 kB"
}, - {
- "name": "steps",
- "size": "152 kB"
}, - {
- "name": "que_job_history",
- "size": "144 kB"
}, - {
- "name": "policy_assignments",
- "size": "128 kB"
}, - {
- "name": "template_versions",
- "size": "120 kB"
}, - {
- "name": "template_version_history",
- "size": "112 kB"
}, - {
- "name": "templates",
- "size": "112 kB"
}, - {
- "name": "workflow_runs",
- "size": "112 kB"
}, - {
- "name": "workflows",
- "size": "112 kB"
}, - {
- "name": "schema_migrations",
- "size": "104 kB"
}, - {
- "name": "authorisation_rules",
- "size": "104 kB"
}, - {
- "name": "policy_rules",
- "size": "104 kB"
}, - {
- "name": "que_jobs",
- "size": "96 kB"
}, - {
- "name": "users",
- "size": "96 kB"
}, - {
- "name": "workflow_versions",
- "size": "96 kB"
}, - {
- "name": "mintmodel_history",
- "size": "96 kB"
}, - {
- "name": "solid_cache_entries",
- "size": "80 kB"
}, - {
- "name": "bookmarks",
- "size": "80 kB"
}, - {
- "name": "authorisation_policies",
- "size": "80 kB"
}, - {
- "name": "scheduled_activities",
- "size": "72 kB"
}, - {
- "name": "step_properties_versions",
- "size": "72 kB"
}, - {
- "name": "events",
- "size": "72 kB"
}, - {
- "name": "commits",
- "size": "64 kB"
}, - {
- "name": "settings",
- "size": "64 kB"
}, - {
- "name": "notification_channels",
- "size": "48 kB"
}, - {
- "name": "settings_versions",
- "size": "48 kB"
}, - {
- "name": "ldap_directory_entries",
- "size": "48 kB"
}, - {
- "name": "properties",
- "size": "48 kB"
}, - {
- "name": "log_lines",
- "size": "48 kB"
}, - {
- "name": "asset_mintmodel_actions",
- "size": "48 kB"
}, - {
- "name": "properties_versions",
- "size": "48 kB"
}, - {
- "name": "git_remotes",
- "size": "48 kB"
}, - {
- "name": "cluster_registrations",
- "size": "48 kB"
}, - {
- "name": "mintmodels",
- "size": "48 kB"
}, - {
- "name": "agent_statuses",
- "size": "40 kB"
}, - {
- "name": "base_event_subscribers",
- "size": "40 kB"
}, - {
- "name": "que_scheduler_audit_enqueued",
- "size": "40 kB"
}, - {
- "name": "ar_internal_metadata",
- "size": "32 kB"
}, - {
- "name": "base_event_filters",
- "size": "32 kB"
}, - {
- "name": "certificates",
- "size": "32 kB"
}, - {
- "name": "git_remote_cluster_fetches",
- "size": "32 kB"
}, - {
- "name": "que_job_worker_hostname",
- "size": "32 kB"
}, - {
- "name": "pod_cap_claims",
- "size": "32 kB"
}, - {
- "name": "notification_jobs",
- "size": "32 kB"
}, - {
- "name": "que_lockers",
- "size": "32 kB"
}, - {
- "name": "reusable_runner_images",
- "size": "32 kB"
}, - {
- "name": "resource_slots",
- "size": "32 kB"
}, - {
- "name": "background_schema_migrations",
- "size": "24 kB"
}, - {
- "name": "background_data_migrations",
- "size": "24 kB"
}, - {
- "name": "user_preferences",
- "size": "24 kB"
}, - {
- "name": "data_cleanup_definitions",
- "size": "24 kB"
}, - {
- "name": "step_status_events",
- "size": "24 kB"
}, - {
- "name": "rule_change_matches",
- "size": "24 kB"
}, - {
- "name": "rule_workflow_matches",
- "size": "16 kB"
}, - {
- "name": "que_values",
- "size": "16 kB"
}, - {
- "name": "authentication_tokens",
- "size": "16 kB"
}, - {
- "name": "rule_node_matches",
- "size": "16 kB"
}, - {
- "name": "que_scheduler_audit",
- "size": "8192 bytes"
}, - {
- "name": "change_activities",
- "size": "0 bytes"
}, - {
- "name": "queued_mintmodel_step_jobs",
- "size": "0 bytes"
}, - {
- "name": "change_parents",
- "size": "0 bytes"
}, - {
- "name": "workflow_run_activities",
- "size": "0 bytes"
}, - {
- "name": "scheduled_activity_que_jobs",
- "size": "0 bytes"
}, - {
- "name": "queued_step_jobs",
- "size": "0 bytes"
}, - {
- "name": "data_cleanup_definition_que_jobs",
- "size": "0 bytes"
}, - {
- "name": "queued_que_jobs",
- "size": "0 bytes"
}, - {
- "name": "log_lines_incoming",
- "size": "0 bytes"
}, - {
- "name": "que_live_jobs",
- "size": "0 bytes"
}, - {
- "name": "node_background_task_que_jobs",
- "size": "0 bytes"
}, - {
- "name": "jobs",
- "size": "0 bytes"
}
]
}, - "links": {
- "self": "/api/admin/database"
}
}
]
}Returns every node background task (generate actions requests, MintModel concretise tasks, agent image builds, agent start/stop tasks) that has not yet finished, across all nodes.
{- "data": [ ]
}{- "data": [
- {
- "id": "opschain.limepoint.engineering",
- "type": "node_status",
- "attributes": {
- "name": "opschain.limepoint.engineering",
- "creation_timestamp": "2024-03-05T00:03:56Z",
- "kubelet_version": "v1.29.6+k3s2",
- "container_runtime_version": "docker://24.0.2",
- "os": "linux",
- "os_image": "Fedora Linux 36 (Server Edition)",
- "architecture": "amd64",
- "roles": [
- "control-plane",
- "master"
], - "metrics": {
- "cpu": "100m",
- "memory": "100Mi"
}, - "conditions": [
- {
- "type": "MemoryPressure",
- "status": "False",
- "reason": "KubeletHasSufficientMemory",
- "message": "kubelet has sufficient memory available",
- "last_heartbeat_time": "2025-01-01T00:00:00Z",
- "last_transition_time": "2024-09-30T12:00:00Z"
}, - {
- "type": "DiskPressure",
- "status": "False",
- "reason": "KubeletHasNoDiskPressure",
- "message": "kubelet has no disk pressure",
- "last_heartbeat_time": "2025-01-01T00:00:00Z",
- "last_transition_time": "2024-09-30T12:00:00Z"
}, - {
- "type": "PIDPressure",
- "status": "False",
- "reason": "KubeletHasSufficientPID",
- "message": "kubelet has sufficient PID available",
- "last_heartbeat_time": "2025-01-01T00:00:00Z",
- "last_transition_time": "2024-09-30T12:00:00Z"
}, - {
- "type": "Ready",
- "status": "True",
- "reason": "KubeletReady",
- "message": "kubelet is posting ready status",
- "last_heartbeat_time": "2025-01-01T00:00:00Z",
- "last_transition_time": "2024-09-30T12:00:00Z"
}
], - "capacity": {
- "cpu": "16",
- "memory": "131907404Ki",
- "pods": "110",
- "ephemeral_storage": "103757316Ki"
}, - "allocatable": {
- "cpu": "16",
- "memory": "131907404Ki",
- "pods": "110",
- "ephemeral_storage": "100935116926"
}, - "images": [
- {
- "names": [
- "registry.local.gd:3443/opschain/runner@sha256:256",
- "registry.local.gd:3443/opschain/runner:01234-id"
], - "size_bytes": 2615498231
}
]
}
}
]
}Returns the status of the OpsChain queues and details about their jobs. This covers the shared default queue and the per cluster queues, one for each cluster in the topology.
{- "data": [
- {
- "id": "default",
- "type": "queue_status",
- "attributes": {
- "name": "default",
- "summary": {
- "total": 10,
- "running": 2,
- "failed": 1,
- "scheduled": 3,
- "finished": 4,
- "pending": 1
}, - "jobs": [
- {
- "job_class": "ChangeJob",
- "total": 5,
- "running": 1,
- "failed": 1,
- "scheduled": 2,
- "finished": 3,
- "pending": 0,
- "next_run_at": "2026-09-14T21:27:44.057+10:00",
- "last_run_at": "2026-09-14T19:27:44.057+10:00",
- "highest_error_count": 2,
- "description": "Verifies if a change can be started based on its owner configuration and, if so, starts it."
}, - {
- "job_class": "DataCleanupJob",
- "total": 5,
- "running": 0,
- "failed": 0,
- "scheduled": 0,
- "finished": 0,
- "pending": 0,
- "next_run_at": "2026-09-14T21:27:44.057+10:00",
- "last_run_at": "2026-09-14T18:27:44.057+10:00",
- "highest_error_count": 0,
- "description": "Cleans up data based on a data cleanup definition."
}
]
}
}
]
}Returns the status of the actions_refresh, runner, mintmodel_concretise, and image_build slot pools, including per-slot occupancy.
{- "data": [
- {
- "id": "runner",
- "type": "resource_slot_pool",
- "attributes": {
- "pool": "runner",
- "configured_limit": 15,
- "row_count": 15,
- "claimed_count": 1,
- "free_count": 14,
- "slots": [
- {
- "slot_number": 1,
- "claimed_kind": "step_runner",
- "claimed_by_resource_id": "2808e2ab-0bee-4e8d-8568-11556cb46761",
- "claimed_at": "2026-09-14T20:22:44.162+10:00",
- "node_path": "/projects/opc/environments/dev/assets/env_soa",
- "stale": false,
- "eligible": true
}, - {
- "slot_number": 2,
- "claimed_kind": null,
- "claimed_by_resource_id": null,
- "claimed_at": null,
- "node_path": null,
- "stale": null,
- "eligible": true
}
]
}
}
]
}Returns the status of all the OpsChain API workers in the configured namespace.
{- "data": [
- {
- "id": "opschain-api-worker-1",
- "type": "worker",
- "attributes": {
- "namespace": "opschain",
- "node": "node-1",
- "host_ip": "192.168.1.1",
- "pod_ip": "192.168.1.2",
- "start_time": "2021-01-01T00:00:00Z",
- "state": "Running",
- "image": "opschain-api-worker-image",
- "restart_count": 0,
- "uid": "b2c3d4e5-6f70-4a8b-9c0d-1e2f3a4b5c6d",
- "containers": [
- "opschain-api-worker"
], - "controlled_by": "ReplicaSet/opschain-api-worker-7d9f8b6c5d",
- "labels": {
- "app": "opschain-api-worker"
}
}, - "links": {
- "logs": "/api/admin/pods/opschain-api-worker-1/logs"
}
}
]
}Returns every deployment in the OpsChain Kubernetes namespace, including its replica counts, rollout status and the time it was last restarted.
Notes:
meta.max_replicas.meta.max_replicas is greater than 1 - carries a scale link. A client should use the presence of the link to decide whether to offer scaling, rather than matching on the deployment name.meta.authorisations.restart and meta.authorisations.scale report whether the user may perform those operations, allowing a client to hide the controls it cannot use.{- "data": [
- {
- "id": "opschain-api",
- "type": "deployment",
- "attributes": {
- "namespace": "opschain",
- "uid": "c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
- "creation_timestamp": "2021-01-01T00:00:00Z",
- "generation": 3,
- "replicas": 2,
- "strategy": "RollingUpdate",
- "current_replicas": 2,
- "ready_replicas": 2,
- "available_replicas": 2,
- "updated_replicas": 2,
- "observed_generation": 3,
- "revision": "2",
- "restarted_at": "2021-01-02T00:00:00.000Z",
- "labels": {
- "app": "opschain-api"
}, - "selector": {
- "app": "opschain-api"
}, - "containers": [
- {
- "name": "opschain-api",
- "image": "opschain-api-image"
}
], - "conditions": [
- {
- "type": "Available",
- "status": "True",
- "reason": "MinimumReplicasAvailable",
- "message": "Deployment has minimum availability.",
- "last_transition_time": "2021-01-01T00:00:00Z",
- "last_update_time": "2021-01-01T00:00:00Z"
}, - {
- "type": "Progressing",
- "status": "True",
- "reason": "NewReplicaSetAvailable",
- "message": "ReplicaSet \"opschain-api-7d4b9c\" has successfully progressed.",
- "last_transition_time": "2021-01-02T00:00:00Z",
- "last_update_time": "2021-01-02T00:00:00Z"
}
]
}, - "links": { },
- "meta": {
- "max_replicas": 1
}
}, - {
- "id": "opschain-api-worker",
- "type": "deployment",
- "attributes": {
- "namespace": "opschain",
- "uid": "c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
- "creation_timestamp": "2021-01-01T00:00:00Z",
- "generation": 3,
- "replicas": 3,
- "strategy": "RollingUpdate",
- "current_replicas": 2,
- "ready_replicas": 2,
- "available_replicas": 2,
- "updated_replicas": 2,
- "observed_generation": 3,
- "revision": "2",
- "restarted_at": "2021-01-02T00:00:00.000Z",
- "labels": {
- "app": "opschain-api"
}, - "selector": {
- "app": "opschain-api"
}, - "containers": [
- {
- "name": "opschain-api",
- "image": "opschain-api-image"
}
], - "conditions": [
- {
- "type": "Available",
- "status": "True",
- "reason": "MinimumReplicasAvailable",
- "message": "Deployment has minimum availability.",
- "last_transition_time": "2021-01-01T00:00:00Z",
- "last_update_time": "2021-01-01T00:00:00Z"
}, - {
- "type": "Progressing",
- "status": "True",
- "reason": "NewReplicaSetAvailable",
- "message": "ReplicaSet \"opschain-api-7d4b9c\" has successfully progressed.",
- "last_transition_time": "2021-01-02T00:00:00Z",
- "last_update_time": "2021-01-02T00:00:00Z"
}
]
}, - "links": {
- "scale": "/api/admin/deployments/opschain-api-worker/scale"
}, - "meta": {
- "max_replicas": 10
}
}
], - "meta": {
- "authorisations": {
- "restart": true,
- "scale": true
}
}
}Performs a rolling restart of a deployment in the OpsChain Kubernetes namespace, replacing each of its pods without changing the deployment configuration.
Notes:
updatable permission on the /admin/deployments/restart authorisation path. A rule on a parent path (e.g. /admin) grants it, and a rule on the restart path itself overrides that parent rule.| name required | string Example: opschain-api deployment name |
{- "data": {
- "id": "opschain-api",
- "type": "deployment",
- "attributes": {
- "namespace": "opschain",
- "uid": "c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
- "creation_timestamp": "2021-01-01T00:00:00Z",
- "generation": 3,
- "replicas": 2,
- "strategy": "RollingUpdate",
- "current_replicas": 2,
- "ready_replicas": 2,
- "available_replicas": 2,
- "updated_replicas": 2,
- "observed_generation": 3,
- "revision": "2",
- "restarted_at": "2021-01-02T00:00:00.000Z",
- "labels": {
- "app": "opschain-api"
}, - "selector": {
- "app": "opschain-api"
}, - "containers": [
- {
- "name": "opschain-api",
- "image": "opschain-api-image"
}
], - "conditions": [
- {
- "type": "Available",
- "status": "True",
- "reason": "MinimumReplicasAvailable",
- "message": "Deployment has minimum availability.",
- "last_transition_time": "2021-01-01T00:00:00Z",
- "last_update_time": "2021-01-01T00:00:00Z"
}, - {
- "type": "Progressing",
- "status": "True",
- "reason": "NewReplicaSetAvailable",
- "message": "ReplicaSet \"opschain-api-7d4b9c\" has successfully progressed.",
- "last_transition_time": "2021-01-02T00:00:00Z",
- "last_update_time": "2021-01-02T00:00:00Z"
}
]
}, - "links": { },
- "meta": {
- "max_replicas": 1
}
}
}Sets the number of replicas of a deployment in the OpsChain Kubernetes namespace.
Notes:
updatable permission on the /admin/deployments/scale authorisation path. A rule on a parent path (e.g. /admin) grants it, and a rule on the scale path itself overrides that parent rule.opschain-api-worker, opschain-mintmodel-steps-api deployments can be scaled - every other deployment runs at a single replica and scaling it is rejected.replicas must be a whole number between 0 and the deployment's own maximum, which the list and scale responses report as meta.max_replicas.| name required | string Example: opschain-api-worker deployment name |
required | object |
{- "data": {
- "attributes": {
- "replicas": 3
}
}
}{- "data": {
- "id": "opschain-api-worker",
- "type": "deployment",
- "attributes": {
- "namespace": "opschain",
- "uid": "c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
- "creation_timestamp": "2021-01-01T00:00:00Z",
- "generation": 3,
- "replicas": 3,
- "strategy": "RollingUpdate",
- "current_replicas": 2,
- "ready_replicas": 2,
- "available_replicas": 2,
- "updated_replicas": 2,
- "observed_generation": 3,
- "revision": "2",
- "restarted_at": "2021-01-02T00:00:00.000Z",
- "labels": {
- "app": "opschain-api"
}, - "selector": {
- "app": "opschain-api"
}, - "containers": [
- {
- "name": "opschain-api",
- "image": "opschain-api-image"
}
], - "conditions": [
- {
- "type": "Available",
- "status": "True",
- "reason": "MinimumReplicasAvailable",
- "message": "Deployment has minimum availability.",
- "last_transition_time": "2021-01-01T00:00:00Z",
- "last_update_time": "2021-01-01T00:00:00Z"
}, - {
- "type": "Progressing",
- "status": "True",
- "reason": "NewReplicaSetAvailable",
- "message": "ReplicaSet \"opschain-api-7d4b9c\" has successfully progressed.",
- "last_transition_time": "2021-01-02T00:00:00Z",
- "last_update_time": "2021-01-02T00:00:00Z"
}
]
}, - "links": {
- "scale": "/api/admin/deployments/opschain-api-worker/scale"
}, - "meta": {
- "max_replicas": 10
}
}
}Returns every pod in the OpsChain Kubernetes namespace, including the runner, MintModel and OpsChain API worker pods.
Notes:
meta.authorisations.read_logs reports whether the user may fetch the pod logs, allowing a client to hide the logs links it cannot follow.meta.authorisations.delete reports whether the user may delete pods, allowing a client to hide the delete control it cannot use.controlled_by names the Kubernetes controller managing the pod (e.g. ReplicaSet/opschain-api) and is null for the pods OpsChain creates itself.delete link is only present on the pods that can be deleted - see the delete pod endpoint.{- "data": [
- {
- "id": "change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7",
- "type": "pod",
- "attributes": {
- "namespace": "opschain",
- "node": "node-1",
- "host_ip": "192.168.1.1",
- "pod_ip": "10.42.0.17",
- "start_time": "2021-01-01T00:00:00Z",
- "state": "Running",
- "image": "opschain-runner-image",
- "restart_count": 0,
- "uid": "a1b2c3d4-5e6f-4a8b-9c0d-1e2f3a4b5c6d",
- "containers": [
- "opschain-runner",
- "opschain-log-forwarder"
], - "controlled_by": null,
- "labels": {
- "app": "opschain-runner"
}
}, - "links": {
- "logs": "/api/admin/pods/change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7/logs",
- "delete": "/api/admin/pods/change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7"
}
}, - {
- "id": "opschain-api-worker-1",
- "type": "pod",
- "attributes": {
- "namespace": "opschain",
- "node": "node-1",
- "host_ip": "192.168.1.1",
- "pod_ip": "192.168.1.2",
- "start_time": "2021-01-01T00:00:00Z",
- "state": "Running",
- "image": "opschain-api-worker-image",
- "restart_count": 0,
- "uid": "b2c3d4e5-6f70-4a8b-9c0d-1e2f3a4b5c6d",
- "containers": [
- "opschain-api-worker"
], - "controlled_by": "ReplicaSet/opschain-api-worker-7d9f8b6c5d",
- "labels": {
- "app": "opschain-api-worker"
}
}, - "links": {
- "logs": "/api/admin/pods/opschain-api-worker-1/logs"
}
}
], - "meta": {
- "authorisations": {
- "delete": true,
- "read_logs": true
}
}
}Returns the log for a pod in the OpsChain Kubernetes namespace.
Notes:
readable permission on the /admin/pods/logs authorisation path. A rule on a parent path (e.g. /admin) grants it, and a rule on the logs path itself overrides that parent rule.| name required | string Example: change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7 pod name |
| container | string Example: container=opschain-runner The container to fetch the log for. Defaults to the pod's first container. The valid values for a pod are listed in the |
| limit | integer [ 1 .. 10000 ] Default: 1000 Example: limit=1000 The maximum number of log lines to return. A 206 response and a |
| filter[logged_at_gt] | string Example: filter[logged_at_gt]=2021-01-01T00:00:01.123456Z-0 Only return log lines logged after this cursor. Supply the |
| download | string Example: download=pod.log Download the entire pod log with the specified file name. The |
{- "data": [
- {
- "id": "2021-01-01T00:00:01.123456Z-0",
- "type": "log_line",
- "attributes": {
- "message": "Starting the OpsChain step runner",
- "logged_at": "2021-01-01T00:00:01.123456Z"
}
}, - {
- "id": "2021-01-01T00:00:02.234567Z-0",
- "type": "log_line",
- "attributes": {
- "message": "Step completed successfully",
- "logged_at": "2021-01-01T00:00:02.234567Z"
}
}
], - "meta": {
- "authorisations": {
- "update": true
}, - "partial_response": false
}
}Force deletes a pod in the OpsChain Kubernetes namespace, without waiting out its termination grace period.
Notes:
delete link on a pod in the list pods response identifies the pods this endpoint accepts, so a client does not need its own copy of that rule.| name required | string Example: change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7 pod name |
{- "data": {
- "id": "change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7",
- "type": "pod",
- "attributes": {
- "namespace": "opschain",
- "node": "node-1",
- "host_ip": "192.168.1.1",
- "pod_ip": "10.42.0.17",
- "start_time": "2021-01-01T00:00:00Z",
- "state": "Running",
- "image": "opschain-runner-image",
- "restart_count": 0,
- "uid": "a1b2c3d4-5e6f-4a8b-9c0d-1e2f3a4b5c6d",
- "containers": [
- "opschain-runner",
- "opschain-log-forwarder"
], - "controlled_by": null,
- "labels": {
- "app": "opschain-runner"
}
}, - "links": {
- "logs": "/api/admin/pods/change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7/logs",
- "delete": "/api/admin/pods/change-3ecf1a2b-4d5e-4f60-8a71-92b3c4d5e6f7"
}
}
}Lists all data cleanup definitions.
| filter[<query/sort filter>]= | string Example: filter[<query/sort filter>]==> filter[name_eq]=test API filtering guide. Named filters: |
{- "data": [
- {
- "id": "01a09f75-d385-70ad-a81b-2c3d79642712",
- "type": "data_cleanup_definition",
- "attributes": {
- "name": "feed",
- "enabled": false,
- "created_by": "ching_weimann-1034",
- "cron_schedule": "0 0 7,14,21,28 * *",
- "repeat": true,
- "maximum_run_count": null,
- "purge_activities": true,
- "purge_events": true,
- "purge_jobs": true,
- "purge_agent_images": false,
- "purge_node_background_tasks": true,
- "filters": {
- "changes": {
- "created_at_lt": "2026-09-07T10:28:14.334Z"
}
}, - "node_paths": [
- "/projects/opc/environments/dev"
], - "run_count": 0,
- "created_at": "2026-09-14T10:28:14.340015Z",
- "updated_at": "2026-09-14T10:28:14.343472Z",
- "next_run_at": null,
- "run_at": "2026-09-07T10:28:14.334401Z",
- "end_at": "2026-12-13T10:28:14.334429Z"
}, - "links": {
- "self": "/api/data_cleanup_definitions/01a09f75-d385-70ad-a81b-2c3d79642712"
}
}
], - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}, - "has_any": true
}
}Notes:
cron_schedule or run_at fields must be provided.filters field are changes, events, jobs, workflow_runs, and node_background_tasks. The agent image cleanup job accepts template_version_history and build_agent_image_tasks. Each of these can have ransack filters for the specific type they refer to.
IMPORTANT: If no filters are provided for a data type, the cleanup will remove all data that matches the node paths.node_paths field is an array of strings. Each string is a path to a node. The path must start with /projects and only contain forward slashes, lowercase letters, numbers and underscores, and optionally a single "%" at the end.
Use the % wildcard to include all nodes under a specific node or node-type, note that this will apply the cleanup to all nodes that are yet to be created, as long as they match the path.purge_node_background_tasks field removes finished node background tasks, along with their log lines and run API key tokens, once a newer task of the same type exists for the template version history.
The latest successful and latest non cancelled generate actions requests, a mintmodel concretise task referenced by any generate actions request, tasks referenced by a change or an agent status, and build agent image tasks whose image has not yet been purged are always retained.required | object |
{- "data": {
- "attributes": {
- "name": "system",
- "enabled": true,
- "node_paths": [ ],
- "filters": { },
- "purge_activities": false,
- "purge_events": false,
- "purge_jobs": true,
- "cron_schedule": "0 0 * * *",
- "run_at": null,
- "end_at": null,
- "maximum_run_count": null,
- "repeat": true,
- "purge_agent_images": false,
- "purge_node_background_tasks": false
}
}
}{- "data": {
- "id": "01a09f75-dbc2-7f1d-9819-860a6e80ee80",
- "type": "data_cleanup_definition",
- "attributes": {
- "name": "array",
- "enabled": true,
- "created_by": "logged_in_user",
- "cron_schedule": "42 22 28 5 6",
- "repeat": true,
- "maximum_run_count": null,
- "purge_activities": false,
- "purge_events": true,
- "purge_jobs": false,
- "purge_agent_images": false,
- "purge_node_background_tasks": true,
- "filters": {
- "build_agent_image_tasks": {
- "created_at_days_ago_lteq": 30
}, - "node_background_tasks": {
- "created_at_days_ago_lteq": 90
}
}, - "node_paths": [
- "/projects%"
], - "run_count": 0,
- "created_at": "2026-09-14T10:28:16.449464Z",
- "updated_at": "2026-09-14T10:28:16.449464Z",
- "next_run_at": "2027-05-01T12:42:00.000000Z",
- "run_at": null,
- "end_at": null
}, - "links": {
- "self": "/api/data_cleanup_definitions/01a09f75-dbc2-7f1d-9819-860a6e80ee80"
}
}, - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Shows a data cleanup definition.
| data_cleanup_definition_id required | string Example: 01a09f75-3421-7afe-befd-cc6f10f49563 data cleanup definition id |
{- "data": {
- "id": "01a09f75-dd77-70ea-b101-8e788f01faa4",
- "type": "data_cleanup_definition",
- "attributes": {
- "name": "card",
- "enabled": false,
- "created_by": "daniele-1079",
- "cron_schedule": "0 0 7,14,21,28 * *",
- "repeat": true,
- "maximum_run_count": null,
- "purge_activities": false,
- "purge_events": false,
- "purge_jobs": false,
- "purge_agent_images": false,
- "purge_node_background_tasks": true,
- "filters": {
- "changes": {
- "created_at_lt": "2026-09-07T10:28:16.881Z"
}
}, - "node_paths": [
- "/projects/opc/environments/dev"
], - "run_count": 0,
- "created_at": "2026-09-14T10:28:16.886284Z",
- "updated_at": "2026-09-14T10:28:16.888285Z",
- "next_run_at": null,
- "run_at": "2026-09-07T10:28:16.881377Z",
- "end_at": "2026-12-13T10:28:16.881394Z"
}, - "links": {
- "self": "/api/data_cleanup_definitions/01a09f75-dd77-70ea-b101-8e788f01faa4"
}
}, - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Updates a data cleanup definition.
Notes:
| data_cleanup_definition_id required | string Example: 01a09f75-3421-7afe-befd-cc6f10f49563 data cleanup definition id |
required | object |
{- "data": {
- "attributes": {
- "name": "new_name",
- "run_at": null,
- "end_at": null
}
}
}{- "data": {
- "id": "01a09f75-df04-70aa-8016-f11ccb7482bd",
- "type": "data_cleanup_definition",
- "attributes": {
- "name": "new_name",
- "enabled": false,
- "created_by": "edgardo_koch-1089",
- "cron_schedule": "0 0 7,14,21,28 * *",
- "repeat": true,
- "maximum_run_count": 5,
- "purge_activities": false,
- "purge_events": true,
- "purge_jobs": true,
- "purge_agent_images": false,
- "purge_node_background_tasks": false,
- "filters": {
- "changes": {
- "created_at_lt": "2026-09-07T10:28:17.278Z"
}
}, - "node_paths": [
- "/projects/opc/environments/dev"
], - "run_count": 0,
- "created_at": "2026-09-14T10:28:17.283190Z",
- "updated_at": "2026-09-14T10:28:17.301445Z",
- "next_run_at": null,
- "run_at": "2026-09-07T10:28:17.278332Z",
- "end_at": "2026-12-13T10:28:17.278350Z"
}, - "links": {
- "self": "/api/data_cleanup_definitions/01a09f75-df04-70aa-8016-f11ccb7482bd"
}
}, - "meta": {
- "authorisations": {
- "update": true,
- "delete": true
}
}
}Extracts the converged properties, converged settings, and relevant asset MintModel for the two nodes supplied. Also includes environments and assets summaries, and most recent change for each node.
required | object |
{- "data": {
- "attributes": {
- "node_path_a": "/projects/opc/environments/dev/assets/env_soa",
- "node_path_b": "/projects/opc/assets/prj_soa"
}
}
}{- "data": {
- "id": "env_soa:prj_soa",
- "type": "node_comparison",
- "attributes": {
- "nodes": {
- "node_a": {
- "name": "Environment asset (env_soa)",
- "path": "/projects/opc/environments/dev/assets/env_soa",
- "created_at": "2026-09-14T10:28:13.365130Z",
- "updated_at": "2026-09-14T10:28:13.365130Z",
- "properties": {
- "updated_at": "2026-09-14T10:28:13.369396Z",
- "version": 1
}, - "settings": {
- "updated_at": "2026-09-14T10:28:13.377855Z",
- "version": 1
}, - "mintmodel": {
- "filename": "soa.json.erb",
- "valid?": true
}, - "latest_change": null,
- "parent": "Development (dev)"
}, - "node_b": {
- "name": "Project asset (prj_soa)",
- "path": "/projects/opc/assets/prj_soa",
- "created_at": "2026-09-14T10:28:13.442140Z",
- "updated_at": "2026-09-14T10:28:13.442140Z",
- "properties": {
- "updated_at": "2026-09-14T10:28:13.447363Z",
- "version": 1
}, - "settings": {
- "updated_at": "2026-09-14T10:28:13.456920Z",
- "version": 1
}, - "mintmodel": {
- "filename": "soa.json.erb",
- "valid?": true
}, - "latest_change": null,
- "parent": "OpsChain (opc)"
}
}, - "properties": {
- "node_a": {
- "data": {
- "example_property": "value_a"
}, - "sources": {
- "example_property": "Development (dev)"
}
}, - "node_b": {
- "data": {
- "example_property": "value_b",
- "another_property": "extra"
}, - "sources": {
- "example_property": "OpsChain (opc)",
- "another_property": "OpsChain (opc)"
}
}
}, - "settings": {
- "node_a": {
- "data": {
- "example_setting": "value_a"
}, - "sources": null
}, - "node_b": {
- "data": {
- "example_setting": "value_b"
}, - "sources": null
}
}, - "mintmodel": {
- "node_a": {
- "complex": {
- "json": {
- "mintmodel": "data"
}
}
}, - "node_b": {
- "complex": {
- "json": {
- "mintmodel": "data"
}
}
}, - "diff": { }
}, - "environments": {
- "node_a": null,
- "node_b": null
}, - "assets": {
- "node_a": null,
- "node_b": null
}, - "agents": {
- "node_a": null,
- "node_b": null
}
}
}
}