OpsChain API (v1)

Download OpenAPI specification:Download

Introduction

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.

Projects

Endpoints to interact with projects.

Notes:

  • The 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.
  • The list, create, show, update and archive asset endpoints are available via the /<path/to/asset/owner>/assets path. The example endpoints in this section reflect assets owned by a project.

List projects

Lists all projects (including archived projects).

Each project in the response includes a link to:

  • the project's changes endpoint for managing changes belonging to this project. It acts like the changes endpoint.
  • the project's scheduled_activities endpoint for managing scheduled activities belonging to this project. It acts like a scheduled activities endpoint.
  • the project's bookmarks endpoint for managing the bookmarks belonging to this project. It acts like a bookmarks endpoint.
  • the project's mintmodels endpoint for managing the MintModels belonging to this project. It acts like a MintModels endpoint.
  • the project's mintmodel_history endpoint for viewing this project's MintModel history. It acts like a MintModel history endpoint.
  • the project's workflows endpoint for viewing this project's workflows. It acts like a Workflows endpoint. .
query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[code_eq]=opc
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create project

Creates a project.

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show project

Shows a project, including any direct children.

The response includes a link to:

  • the project's changes endpoint for managing changes belonging to this project. It acts like the changes endpoint.
  • the project's scheduled_activities endpoint for managing scheduled activities belonging to this project. It acts like a scheduled activities endpoint.
  • the project's bookmarks endpoint for managing the bookmarks belonging to this project. It acts like a bookmarks endpoint.
  • the project's mintmodels endpoint for managing the MintModels belonging to this project. It acts like a MintModels endpoint.
  • the project's mintmodel_history endpoint for viewing this project's MintModel history. It acts like a MintModel history endpoint.
  • the project's workflows endpoint for viewing this project's workflows. It acts like a Workflows endpoint. .
path Parameters
project_code
required
string
Example: opc

project code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [ ]
}

Update project

Updates a project.

path Parameters
project_code
required
string
Example: opc

project code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Archive project

Archives a project.

path Parameters
project_code
required
string
Example: opc

project code

Responses

Response samples

Content type
application/vnd.api+json
{ }

Environments

Endpoints to interact with environments.

Notes:

  • The 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.
  • The list, create, show, update and archive asset endpoints are available via the /<path/to/asset/owner>/assets path. The example endpoints in this section reflect assets owned by a project.

List environments

Lists all project environments (including archived environments).

Each environment in the response includes a link to:

  • the environment's changes endpoint for managing changes belonging to this environment. It acts like the changes endpoint.
  • the environment's scheduled_activities endpoint for managing scheduled activities belonging to this environment. It acts like a scheduled activities endpoint.
  • the environment's bookmarks endpoint for managing the bookmarks belonging to this environment. It acts like a bookmarks endpoint.
  • the environment's mintmodels endpoint for managing the MintModels belonging to this environment. It acts like a MintModels endpoint.
  • the environment's mintmodel_history endpoint for viewing this environment's MintModel history. It acts like a MintModel history endpoint.
  • the environment's workflows endpoint for viewing this environment's workflows. It acts like a Workflows endpoint. .
path Parameters
project_code
required
string
Example: opc

project code

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[name_eq]=Test
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create environment

Creates an environment.

path Parameters
project_code
required
string
Example: opc

project code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show environment

Shows an environment.

The response includes a link to:

  • the environment's changes endpoint for managing changes belonging to this environment. It acts like the changes endpoint.
  • the environment's scheduled_activities endpoint for managing scheduled activities belonging to this environment. It acts like a scheduled activities endpoint.
  • the environment's bookmarks endpoint for managing the bookmarks belonging to this environment. It acts like a bookmarks endpoint.
  • the environment's mintmodels endpoint for managing the MintModels belonging to this environment. It acts like a MintModels endpoint.
  • the environment's mintmodel_history endpoint for viewing this environment's MintModel history. It acts like a MintModel history endpoint.
  • the environment's workflows endpoint for viewing this environment's workflows. It acts like a Workflows endpoint. .
path Parameters
project_code
required
string
Example: opc

project code

environment_code
required
string
Example: dev

environment code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Update environment

Updates an environment.

path Parameters
project_code
required
string
Example: opc

project code

environment_code
required
string
Example: dev

environment code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Archive environment

Archives an environment.

path Parameters
project_code
required
string
Example: opc

project code

environment_code
required
string
Example: dev

environment code

Responses

Response samples

Content type
application/vnd.api+json
{ }

Assets

Endpoints to interact with assets.

Notes:

  • The 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.
  • The list, create, show, update and archive asset endpoints are available via the /<path/to/asset/owner>/assets path. The example endpoints in this section reflect assets owned by a project.

List generate actions request log lines

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.

path Parameters
generate_actions_request_id
required
string
Example: f49f0469-11fd-4a47-b4e3-7392a0ca08f1
query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[message_cont]=dolorem
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create generate actions request

Create a request to refresh the actions list for an asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

List generate actions requests

Lists all generate actions requests made for the asset's current template version.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show generate actions request

Show a specific actions generation request.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

generate_actions_request_id
required
string
Example: f49f0469-11fd-4a47-b4e3-7392a0ca08f1

generate actions request id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Cancel generate actions request

Cancels the generate actions request.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

generate_actions_request_id
required
string
Example: f49f0469-11fd-4a47-b4e3-7392a0ca08f1

generate actions request id

Responses

Response samples

Content type
application/vnd.api+json
{ }

List assets

Lists all assets (including archived assets) that belong to the project.

Each asset in the response includes a link to:

  • the asset's changes endpoint for managing changes belonging to this asset. It acts like the changes endpoint.
  • the asset's scheduled_activities endpoint for managing scheduled activities belonging to this asset. It acts like a scheduled activities endpoint.
  • the asset's bookmarks endpoint for managing the bookmarks belonging to this asset. It acts like a bookmarks endpoint.
  • the asset's mintmodels endpoint for managing the MintModels belonging to this asset. It acts like a MintModels endpoint.
  • the asset's mintmodel_history endpoint for viewing this asset's MintModel history. It acts like a MintModel history endpoint.
  • the asset's workflows endpoint for viewing this asset's workflows. It acts like a Workflows endpoint. .
path Parameters
project_code
required
string
Example: opc

project code

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[name_eq]=Test
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create asset

Creates an asset belonging to the project.

path Parameters
project_code
required
string
Example: opc

project code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show asset

Shows an asset belonging to a project.

The response includes a link to:

  • the asset's changes endpoint for managing changes belonging to this asset. It acts like the changes endpoint.
  • the asset's scheduled_activities endpoint for managing scheduled activities belonging to this asset. It acts like a scheduled activities endpoint.
  • the asset's bookmarks endpoint for managing the bookmarks belonging to this asset. It acts like a bookmarks endpoint.
  • the asset's mintmodels endpoint for managing the MintModels belonging to this asset. It acts like a MintModels endpoint.
  • the asset's mintmodel_history endpoint for viewing this asset's MintModel history. It acts like a MintModel history endpoint.
  • the asset's workflows endpoint for viewing this asset's workflows. It acts like a Workflows endpoint. .
path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Update asset

Updates an asset belonging to a project.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Archive asset

Archives an asset belonging to a project.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{ }

Show converged properties

Show the converged properties as they will appear to actions run on this asset. i.e. the endpoint will

  1. merge any template (repository) properties from the asset's template (in the order described in the documentation)
  2. merge any project properties
  3. merge any properties assigned to the project asset

The API response will also include all the individual repository and database properties that were included in the result.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

query Parameters
template_version_id
string
Example: template_version_id=f6502748-48df-492e-bf7f-cdea890af2c5

Specify the id of a template versions previously assigned to the asset to source the repository properties from.

filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[action_eq]=Test

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

List template version history

Lists the template versions that have been assigned to the asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[name_eq]=Test

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show template version history

Shows a specific project asset's template version history record.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

id
required
string
Example: ca39be8f-a8f3-46e3-b309-4a73ca2cfb7e

version history id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Templates

Templates provide the available actions and a base set of repository properties that will be used to configure the asset.

List template versions

Lists all versions of a specific template.

path Parameters
project_code
required
string
Example: opc

project code

template_code
required
string
Example: soa

template code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create or update a template version

Create or update a template version.

path Parameters
project_code
required
string
Example: opc

project code

template_code
required
string
Example: soa

template code

version
required
string
Example: 2023_Q4_2

template version

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show template version

Shows a specific template version.

path Parameters
project_code
required
string
Example: opc

project code

template_code
required
string
Example: soa

template code

version
required
string
Example: 2023_Q4_2

template version

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk assign assets to template versions

Assign assets to the template version.

path Parameters
project_code
required
string
Example: opc

project code

template_code
required
string
Example: soa

template code

version
required
string
Example: 2023_Q4_2

template version

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create template

Create a template.

path Parameters
project_code
required
string
Example: opc

project code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

List templates

Lists all templates for a project.

path Parameters
project_code
required
string
Example: opc

project code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show template

Shows a project template.

path Parameters
project_code
required
string
Example: opc

project code

template_code
required
string
Example: soa

template code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Archive template

Archives/unarchives a template.

path Parameters
project_code
required
string
Example: opc

project code

code_to_archive
required
string
Example: soa

template code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update template

Update a templates details.

path Parameters
project_code
required
string
Example: opc

project code

code_to_update
required
string
Example: soa

template code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Git remotes

Endpoints to interact with git remotes.

Create Git remote

Create a project Git remote.

path Parameters
project_code
required
string
Example: opc

project code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

List Git remotes

Lists all Git remotes for a project.

path Parameters
project_code
required
string
Example: opc

project code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show Git remote

Shows a project Git remote.

Note: Git remote credentials are obfuscated for security reasons.

path Parameters
project_code
required
string
Example: opc

project code

remote_id
required
string
Example: 12bef629-cebb-40e6-a6fb-f7c62f3f5edd

remote id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Archive Git remote

Archives/unarchives a project Git remote.

path Parameters
project_code
required
string
Example: opc

project code

id_to_archive
required
string
Example: 12bef629-cebb-40e6-a6fb-f7c62f3f5edd

remote id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update Git remote credentials

Update the credentials of a project Git remote.

path Parameters
project_code
required
string
Example: opc

project code

id_to_update
required
string
Example: 12bef629-cebb-40e6-a6fb-f7c62f3f5edd

remote id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete Git remote

Deletes a project Git remote if it has no changes, otherwise it removes the credentials.

path Parameters
project_code
required
string
Example: opc

project code

id_to_delete
required
string
Example: 12bef629-cebb-40e6-a6fb-f7c62f3f5edd

remote id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bookmarks

Endpoints to interact with bookmarks.

Notes:

  • The list, create, show, update and delete bookmark endpoints are available via the /<path/to/bookmark/owner>/bookmarks path. The example endpoints in this section reflect bookmarks owned by a project asset.

Create bookmark

Create a bookmark for a specific project, environment or asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

List bookmarks

Lists all bookmarks for a specific project, environment or asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show bookmark

Show a bookmark for a specific project, environment or asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

bookmark_id
required
string
Example: 7e508a12-ee76-4358-8194-89215adf594c

bookmark id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update bookmark

Update a bookmark for a specific project, environment or asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

bookmark_id
required
string
Example: 7e508a12-ee76-4358-8194-89215adf594c

bookmark id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete bookmark

Delete a bookmark for a specific project, environment or asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

bookmark_id
required
string
Example: 7e508a12-ee76-4358-8194-89215adf594c

bookmark id

Responses

Response samples

Content type
application/vnd.api+json
{ }

MintModels

Endpoints to query and generate MintModels for assets.

Notes:

  • The list, show and generate MintModel endpoints are available for all assets, via the /<path/to/mintmodel/owner>/mintmodels path. The example endpoints in this section reflect MintModels owned by a project asset.
  • The list and show endpoints will display all MintModels for the asset, regardless whether they were applied successfully or not. Use the parent_mintmodel_history link in the API response to access the asset's MintModel history.

List MintModel history

Lists the asset's MintModel history.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show MintModel history

Shows an asset's MintModel history record.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

id
required
string
Example: 74d3143e-dfb9-4ab7-90ee-f34c2ef1f8c7

MintModel history id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Generate MintModel diff

Generate a MintModel of the differences between two existing MintModels.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

List MintModels

List all MintModels for an asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Show MintModel

Shows an asset MintModel.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

mintmodel_id
required
string
Example: 65f81e60-0ea8-46a8-925b-b0ac19678644

MintModel id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Generate MintModel

Generate the MintModel for this asset, using the latest properties and template version.

Note: The endpoint does not store the MintModel, rather it provides a point in time reference for the MintModel content that will be used by a change if one is executed for the asset.

path Parameters
project_code
required
string
Example: opc

project code

asset_code
required
string
Example: prj_soa

asset code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Workflows

Endpoints to interact with enterprise project workflows

List workflows

Lists all workflows for a project.

path Parameters
project_code
required
string
Example: opc

project code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create workflow

Create a workflow

path Parameters
project_code
required
string
Example: opc

project code

Request Body schema: application/vnd.api+json
required
object
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show workflow

Shows a workflow.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update workflow

Update a workflow.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

Request Body schema: application/vnd.api+json
required
object
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete workflow

Delete or archive a workflow.

  • If the workflow has not been run before, it will be deleted.
  • If the workflow has been run before, it will be archived.
path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

Responses

Response samples

Content type
application/vnd.api+json
{ }

Workflow versions

List workflow versions

Lists all versions for a workflow.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Delete draft workflow versions

Deletes all draft versions of a workflow.

Note: An exception will be raised if there are no published versions of the workflow.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

Responses

Response samples

Content type
application/vnd.api+json
{ }

Show workflow version

Shows a workflow version.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

version
required
string
Example: 1

version

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete workflow version

Delete or archive a workflow version.

  • If the workflow version has not been run before, it will be deleted.
  • If the workflow version has been run before, it will be archived.
path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

version
required
string
Example: 1

version

Responses

Response samples

Content type
application/vnd.api+json
{ }

Properties

Endpoints to interact with properties.

Show properties

Shows the current properties JSON and its version.

path Parameters
properties_id
required
string
Example: 7d3000d6-4fd8-417e-821b-91e98d72745c

properties id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update properties

Updates a properties JSON if the included version matches the current properties version.

path Parameters
id_to_update
required
string
Example: 7d3000d6-4fd8-417e-821b-91e98d72745c

properties id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update properties (unsafe)

Updates a properties JSON, without any version checking (always updates).

path Parameters
id_to_set
required
string
Example: 7d3000d6-4fd8-417e-821b-91e98d72745c

properties id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Properties versions

Endpoints to interact with the version history for properties.

List properties versions

Lists all versions of an OpsChain properties.

path Parameters
properties_id
required
string
Example: 7d3000d6-4fd8-417e-821b-91e98d72745c

properties id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Show properties version

Shows the properties JSON for this properties version.

path Parameters
properties_id
required
string
Example: 7d3000d6-4fd8-417e-821b-91e98d72745c

properties id

version_number
required
integer
Example: 1

version number

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Changes

Endpoints to interact with changes.

List changes

Lists all changes.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[environment_code_eq]=dev
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

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "included": [
    ],
  • "meta": {
    }
}

Create change

Creates a change in a specific project, environment or asset.

Notes:

  1. When creating changes via a project, environment or asset 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.
  2. When creating changes for assets (e.g. POST to /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.
Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Show change

Shows a change, including it's parent nodes.

path Parameters
change_id
required
string
Example: 1f5fefc2-0e89-4c85-865c-6c85758655c9

change id

query Parameters
include
string
Example: include=steps,parents

Include the change steps and parents in the response

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Cancel change

Cancels a change.

path Parameters
change_id
required
string
Example: 1f5fefc2-0e89-4c85-865c-6c85758655c9

change id

Responses

Response samples

Content type
application/vnd.api+json
{ }

Scheduled activities

List activities

Lists all scheduled activities.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[project_code_eq]=opc
include
string
Example: include=parents

Include the scheduled change parents in the response

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "included": [
    ],
  • "meta": {
    }
}

Create activities

Creates a scheduled activity in a specific project, environment or asset.

Notes:

  1. 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.

  2. 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.

  3. See the various payload examples to understand the required fields for each possible request to this endpoint.

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show activity

Shows a scheduled activity.

path Parameters
scheduled_change_id
required
string
Example: c7a42cfa-0c22-4981-8e25-e1b74d7dd04b

scheduled change id

query Parameters
include
string
Example: include=parents

Include the scheduled change parents in the response

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Update activity

Updates a scheduled activity in a specific project, environment or asset.

Notes:

  1. When updating 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.
  2. When updating 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.
  3. See the various payload examples to understand the attributes you can supply to this endpoint.
  4. The payload need only consist of the attributes you wish to modify. There is no need to supply the entire scheduled activity.
path Parameters
scheduled_change_id
required
string
Example: c7a42cfa-0c22-4981-8e25-e1b74d7dd04b

scheduled change id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete activity

Delete a scheduled activity.

path Parameters
scheduled_change_id
required
string
Example: c7a42cfa-0c22-4981-8e25-e1b74d7dd04b

scheduled change id

Responses

Response samples

Content type
application/vnd.api+json
{ }

Steps

Endpoints to interact with change steps.

List steps

Lists all steps.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[action_eq]=provision

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Show step

Shows a change step.

path Parameters
step_id
required
string
Example: c8955087-4632-4025-aac0-5454caadc2f1

step id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Update step

Update a step to flag it to be skipped on retry.

path Parameters
step_id
required
string
Example: c8955087-4632-4025-aac0-5454caadc2f1

step id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Continue step

Continues a "waiting" change step.

path Parameters
step_id
required
string
Example: 2808210b-d975-4104-ad6a-9942e8810872

step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Approve step

Approves a change step that needs approval.

path Parameters
step_id
required
string
Example: 2808210b-d975-4104-ad6a-9942e8810872

step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Reject step

Rejects a change step that needs approval.

path Parameters
step_id
required
string
Example: 2808210b-d975-4104-ad6a-9942e8810872

step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Log lines

Endpoints to query log lines for changes and individual change steps.

List change log lines

List the log lines for a change.

path Parameters
change_id
required
string
Example: 1f5fefc2-0e89-4c85-865c-6c85758655c9
query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[message_cont]=dolorem
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

List step log lines

List the log lines for a change step.

path Parameters
step_id
required
string
Example: c8955087-4632-4025-aac0-5454caadc2f1
query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[message_cont]=dolorem
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

List filtered log lines

List filtered log lines.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[message_cont]=dolorem
limit
integer [ 1 .. null ]
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

List workflow run log lines

List the workflow run log lines for a workflow run.

path Parameters
workflow_run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e
query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[message_cont]=dolorem
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

List workflow step log lines

List the log lines for a workflow step.

path Parameters
workflow_step_id
required
string
Example: 0d893218-0603-4b58-91eb-c5de77705d33
query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[message_cont]=dolorem
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

List filtered workflow run log lines

List filtered workflow run log lines.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[message_cont]=dolorem
limit
integer [ 1 .. null ]
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.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Workflow runs

Endpoints to interact with workflow runs

Notes:

  • The list and show endpoints are available via the following paths:
    1. /workflow_runs - will return all workflow runs accessible to the user.
    2. /project/{project_code}/workflow_runs - will return all workflow runs for all this project's workflows.
    3. /project/{project_code}/workflows/{workflow_code}/workflow_runs - will return all workflow runs this workflow.
    4. /<path/to/asset>/workflow_runs - will return all workflow runs that include a change for this asset.

List all workflow runs

Lists all workflow runs.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "included": [
    ],
  • "meta": {
    }
}

Run a workflow

Runs a pre-defined workflow

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Show workflow run

Shows a workflow run.

path Parameters
run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Cancel workflow run

Cancels a workflow run.

path Parameters
run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

Responses

Response samples

Content type
application/vnd.api+json
{ }

List workflow runs (workflow specific)

Lists all runs for a workflow.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "included": [
    ],
  • "meta": {
    }
}

Run a workflow (workflow specific)

Runs a pre-defined workflow

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Show workflow run (workflow specific)

Shows a workflow run.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Cancel workflow run (workflow specific)

Cancels a workflow run.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

Responses

Response samples

Content type
application/vnd.api+json
{ }

Workflow steps

Endpoints to interact with the steps in a workflow run

List all workflow steps

Lists all workflow steps.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show a workflow step

Shows a workflow step.

path Parameters
step_id
required
string
Example: 206ff9e6-0fa0-46ae-820e-06f584d7967c

workflow step id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a workflow step

Update a workflow step to flag it to be skipped on retry.

path Parameters
step_id
required
string
Example: 206ff9e6-0fa0-46ae-820e-06f584d7967c

workflow step id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Continue workflow step

Continues a "waiting" workflow step. To approve/reject a workflow step that needs approval see the approve workflow step API endpoint.

path Parameters
step_id
required
string
Example: 5bf32c97-0a94-498c-9241-ddf0fefd434e

workflow step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Approve workflow step

Approve a workflow step that requires approval. To continue a workflow step that does need approval see the continue workflow step API endpoint

path Parameters
step_id
required
string
Example: 5bf32c97-0a94-498c-9241-ddf0fefd434e

workflow step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Reject workflow step

Reject a workflow step that requires approval.

path Parameters
step_id
required
string
Example: 5bf32c97-0a94-498c-9241-ddf0fefd434e

workflow step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

List workflow steps (run specific)

Lists all steps in a workflow run.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Show workflow step (run specific)

Shows a step of a workflow run.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

step_id
required
string
Example: 206ff9e6-0fa0-46ae-820e-06f584d7967c

workflow step id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Continue workflow step (run specific)

Continues a "waiting" workflow step. To approve/reject a workflow step that needs approval see the approve workflow step API endpoint.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

step_id
required
string
Example: 5bf32c97-0a94-498c-9241-ddf0fefd434e

workflow step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Approve workflow step (run specific)

Approve a workflow step that requires approval. To continue a workflow step that does need approval see the continue workflow step API endpoint

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

step_id
required
string
Example: 5bf32c97-0a94-498c-9241-ddf0fefd434e

workflow step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Reject workflow step (run specific)

Reject a workflow step that requires approval.

path Parameters
project_code
required
string
Example: opc

project code

workflow_code
required
string
Example: assets

workflow code

run_id
required
string
Example: a3f7fb9d-5613-469f-b2f8-a5887f76a43e

workflow run id

step_id
required
string
Example: 5bf32c97-0a94-498c-9241-ddf0fefd434e

workflow step id

Request Body schema: application/vnd.api+json
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Events

Endpoints to interact with events.

List events

Lists all events.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[query_param_code_eq]=opc
limit
integer [ 1 .. 1000 ]
Default: 10
Example: limit=50

Limit the number of events returned

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create event

Creates an event.

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show event

Shows an event.

path Parameters
event_id
required
string
Example: d095ce58-f279-4619-ac19-e60de0fcab3e

event id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Jobs

Endpoint to fetch information about the jobs processed by the OpsChain.

Get information about the jobs that are being processed by the OpsChain

Returns information about the jobs that are being processed by the OpsChain.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[status_eq]=finished
limit
integer [ 1 .. 1000 ]
Default: 100
Example: limit=50

Limit the number of jobs returned

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Settings

Endpoints to interact with settings.

Show settings

Shows the current settings.

path Parameters
settings_id
required
string
Example: 436b9de3-f6ab-4060-8b6e-303415585a77

settings id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update settings

Updates a settings JSON if the included version matches the current settings version.

path Parameters
id_to_update
required
string
Example: 436b9de3-f6ab-4060-8b6e-303415585a77

settings id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update settings (unsafe)

Updates a settings JSON, without any version checking (always updates).

path Parameters
id_to_set
required
string
Example: 436b9de3-f6ab-4060-8b6e-303415585a77

settings id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Settings versions

Endpoints to interact with the version history for settings.

List settings versions

Lists all versions of an OpsChain settings.

path Parameters
settings_id
required
string
Example: 436b9de3-f6ab-4060-8b6e-303415585a77

settings id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Show settings version

Shows the settings values for this settings version.

path Parameters
settings_id
required
string
Example: 436b9de3-f6ab-4060-8b6e-303415585a77

settings id

version_number
required
integer
Example: 1

version number

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Authorisation rules

Endpoints to interact with authorisation rules.

List rules

Lists all authorisation rules.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[name]=rule_name

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create rule

Create an authorisation rule.

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show rule

Shows an authorisation rule.

path Parameters
authorisation_rule_id
required
string
Example: 3c0fa15a-2c29-49b5-9166-d6d7c93d3c12

authorisation rule id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update authorisation rule

Update an authorisation rule.

path Parameters
authorisation_rule_id
required
string
Example: 3c0fa15a-2c29-49b5-9166-d6d7c93d3c12

authorisation rule id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete rule

Delete an authorisation rule.

path Parameters
authorisation_rule_id
required
string
Example: 3c0fa15a-2c29-49b5-9166-d6d7c93d3c12

authorisation rule id

Responses

Response samples

Content type
application/vnd.api+json
{ }

Authorisation policies

Endpoints to interact with authorisation policies.

List policies

Lists all authorisation policies.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[name_eq]=secure

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create policy

Create an authorisation policy with a list of authorisation rules.

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Show policy

Shows an authorisation policy.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update authorisation policy and its rules

Update an authorisation policy and its authorisation rules. If no authorisation rules are provided, all associated rules will be removed from the policy.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete policy

Delete an authorisation policy.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

Responses

Response samples

Content type
application/vnd.api+json
{ }

Authorisation policy assignments

Endpoints to interact with authorisation policy assignments.

List policy assignments

Lists all policy assignments for a specific authorisation policy.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[username_eq]=opschain

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Assign a policy to users or groups

Assign an authorisation policy to one or more users and/or groups.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Authorisation policy rules

Endpoints to interact with authorisation policy rules.

List policy rules

Lists all policy rules for a specific authorisation policy.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[username_eq]=opschain

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create policy rule(s)

Add one or more authorisation rules to a specific authorisation policy.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Delete a policy rule

Remove an authorisation rule from a specific authorisation policy.

path Parameters
authorisation_policy_id
required
string
Example: 18d26635-055a-4a55-b73c-aa31446a265a

authorisation policy id

policy_rule_id
required
string
Example: 76c5d731-63f1-4dab-94eb-bffcfef84ee5

policy rule id

Responses

Response samples

Content type
application/vnd.api+json
{ }

Users

Endpoints to interact with the users in the system.

List users

Lists users in the system

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Groups

Endpoints to interact with the user LDAP groups.

Secrets

Endpoints to interact with looking up secrets from the vault or decrypting AES encrypted strings. When sending an AES encrypted string in the query params, please ensure that the string is URL encoded (e.g. replacing + with %2B). This endpoint applies to any node path hierarchy. The below requests are valid:

  • /api/projects/demo/secrets?secret_path={secret_path}
  • /api/projects/demo/environments/dev/secrets?secret_path={secret_path})

Lookup a secret

Returns the decrypted value of the supplied secret path or AES encrypted string

path Parameters
project_code
required
string
Example: opc

project code

environment_code
required
string
Example: dev

environment code

secret_path
required
string
Example: secret-vault://path/to/vault/vault_key

secret path

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Info

Get version and other information about the running OpsChain instance.

Get OpsChain server info

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

System configuration

Endpoint to fetch the current system configuration.

Get OpsChain system configuration

Shows the current system configuration node.

query Parameters
include
string
Example: include=settings

Include the settings in the response

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "included": [
    ]
}

Admin operations

Endpoints to monitor the status of your OpsChain instance.

Get status information about the OpsChain database

Returns status information about the OpsChain database.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Get the status of the OpsChain nodes

Returns the status of all the OpsChain nodes.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Get the status of the OpsChain queues

Returns the status of the OpsChain queues and details about their jobs.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Get the status of the OpsChain API workers

Returns the status of all the OpsChain API workers in the configured namespace.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Data cleanup definitions

Endpoints to interact with data cleanup definitions.

List data cleanup definitions

Lists all data cleanup definitions.

query Parameters
filter[<query/sort filter>]=
string
Example: filter[<query/sort filter>]==> filter[name_eq]=test

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create data cleanup definition

Notes:

  1. See the various payload examples to understand the required fields for each possible request to this endpoint.
  2. Either the cron_schedule or run_at fields must be provided.
  3. The keys accepted for the filters field are changes, events, jobs, and workflow_runs. 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.
  4. The 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.
Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "meta": {
    }
}

Show a data cleanup definition

Shows a data cleanup definition.

path Parameters
data_cleanup_definition_id
required
string
Example: 5e13b001-8cd8-437e-b20f-28bf5aa85926

data cleanup definition id

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "meta": {
    }
}

Update the data cleanup definition

Updates a data cleanup definition.

Notes:

  1. See the various payload examples in the create endpoint to understand the attributes you can supply to this endpoint.
  2. The payload need only consist of the attributes you wish to modify. There is no need to supply the entire data cleanup definition.
path Parameters
data_cleanup_definition_id
required
string
Example: 5e13b001-8cd8-437e-b20f-28bf5aa85926

data cleanup definition id

Request Body schema: application/vnd.api+json
required
object

Responses

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    },
  • "meta": {
    }
}

Delete the data cleanup definition

Delete a data cleanup definition.

path Parameters
data_cleanup_definition_id
required
string
Example: 5e13b001-8cd8-437e-b20f-28bf5aa85926

data cleanup definition id

Responses

Response samples

Content type
application/vnd.api+json
{ }