Skip to main content

Playbooks

SDK methods for the Playbooks module, accessed via soat.playbooks. See the Playbooks module docs for permissions and data model, and each method's REST page for the full request/response schema.

soat.playbooks.listPlaybooks()​

List playbooks

  • Method: GET
  • Path: /api/v1/playbooks
await soat.playbooks.listPlaybooks({
query: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.createPlaybook()​

Create a playbook

  • Method: POST
  • Path: /api/v1/playbooks
await soat.playbooks.createPlaybook({
body: { name, definition, /* + optional */ },
});

→ Request & response schema

soat.playbooks.validatePlaybook()​

Validate a playbook definition

  • Method: POST
  • Path: /api/v1/playbooks/validate
await soat.playbooks.validatePlaybook({
body: { definition },
});

→ Request & response schema

soat.playbooks.getPlaybook()​

Get a playbook

  • Method: GET
  • Path: /api/v1/playbooks/{playbook_id}
await soat.playbooks.getPlaybook({
path: { playbook_id },
});

→ Request & response schema

soat.playbooks.updatePlaybook()​

Update a playbook

  • Method: PATCH
  • Path: /api/v1/playbooks/{playbook_id}
await soat.playbooks.updatePlaybook({
path: { playbook_id },
body: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.deletePlaybook()​

Delete a playbook

  • Method: DELETE
  • Path: /api/v1/playbooks/{playbook_id}
await soat.playbooks.deletePlaybook({
path: { playbook_id },
});

→ Request & response schema

soat.playbooks.listPlaybookVersions()​

List a playbook's versions

  • Method: GET
  • Path: /api/v1/playbooks/{playbook_id}/versions
await soat.playbooks.listPlaybookVersions({
path: { playbook_id },
});

→ Request & response schema

soat.playbooks.getPlaybookVersion()​

Fetch an archived playbook version

  • Method: GET
  • Path: /api/v1/playbooks/{playbook_id}/versions/{version}
await soat.playbooks.getPlaybookVersion({
path: { playbook_id, version },
});

→ Request & response schema

soat.playbooks.restorePlaybookVersion()​

Restore an archived playbook version

  • Method: POST
  • Path: /api/v1/playbooks/{playbook_id}/versions/{version}/restore
await soat.playbooks.restorePlaybookVersion({
path: { playbook_id, version },
body: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.createPlaybookCase()​

Create a case

  • Method: POST
  • Path: /api/v1/playbooks/{playbook_id}/cases
await soat.playbooks.createPlaybookCase({
path: { playbook_id },
body: { subject },
});

→ Request & response schema

soat.playbooks.listPlaybookCases()​

List playbook cases

  • Method: GET
  • Path: /api/v1/playbook-cases
await soat.playbooks.listPlaybookCases({
query: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.getPlaybookCase()​

Get a case

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}
await soat.playbooks.getPlaybookCase({
path: { case_id },
});

→ Request & response schema

soat.playbooks.deletePlaybookCase()​

Delete a case

  • Method: DELETE
  • Path: /api/v1/playbook-cases/{case_id}
await soat.playbooks.deletePlaybookCase({
path: { case_id },
});

→ Request & response schema

soat.playbooks.writePlaybookCaseInputs()​

Write a case's inputs

  • Method: POST
  • Path: /api/v1/playbook-cases/{case_id}/inputs
await soat.playbooks.writePlaybookCaseInputs({
path: { case_id },
body: { inputs, /* + optional */ },
});

→ Request & response schema

soat.playbooks.getPlaybookCaseMissing()​

List what a node still needs

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}/missing
await soat.playbooks.getPlaybookCaseMissing({
path: { case_id },
query: { node_id },
});

→ Request & response schema

soat.playbooks.listPlaybookCaseEntries()​

List a case's entries

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}/entries
await soat.playbooks.listPlaybookCaseEntries({
path: { case_id },
query: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.runPlaybookCaseNode()​

Run a node of a case

  • Method: POST
  • Path: /api/v1/playbook-cases/{case_id}/nodes/{node}/run
await soat.playbooks.runPlaybookCaseNode({
path: { case_id, node },
body: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.listPlaybookCaseExecutions()​

List a case's executions

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}/executions
await soat.playbooks.listPlaybookCaseExecutions({
path: { case_id },
query: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.getPlaybookCaseExecution()​

Get an execution

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}/executions/{execution_id}
await soat.playbooks.getPlaybookCaseExecution({
path: { case_id, execution_id },
});

→ Request & response schema

soat.playbooks.exportPlaybookCaseNode()​

Export a final node

  • Method: POST
  • Path: /api/v1/playbook-cases/{case_id}/nodes/{node}/exports
await soat.playbooks.exportPlaybookCaseNode({
path: { case_id, node },
body: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.listPlaybookCaseExports()​

List a case's exports

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}/exports
await soat.playbooks.listPlaybookCaseExports({
path: { case_id },
query: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.getPlaybookCaseExport()​

Get an export

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}/exports/{export_id}
await soat.playbooks.getPlaybookCaseExport({
path: { case_id, export_id },
});

→ Request & response schema

soat.playbooks.upgradePlaybookCase()​

Upgrade a case

  • Method: POST
  • Path: /api/v1/playbook-cases/{case_id}/upgrade
await soat.playbooks.upgradePlaybookCase({
path: { case_id },
body: { /* + optional */ },
});

→ Request & response schema

soat.playbooks.listPlaybookCaseUpgrades()​

List a case's upgrades

  • Method: GET
  • Path: /api/v1/playbook-cases/{case_id}/upgrades
await soat.playbooks.listPlaybookCaseUpgrades({
path: { case_id },
});

→ Request & response schema

soat.playbooks.pausePlaybookCase()​

Pause a case

  • Method: POST
  • Path: /api/v1/playbook-cases/{case_id}/pause
await soat.playbooks.pausePlaybookCase({
path: { case_id },
});

→ Request & response schema

soat.playbooks.resumePlaybookCase()​

Resume a case

  • Method: POST
  • Path: /api/v1/playbook-cases/{case_id}/resume
await soat.playbooks.resumePlaybookCase({
path: { case_id },
});

→ Request & response schema

soat.playbooks.confirmPlaybookCaseNode()​

Confirm a node of a case

  • Method: POST
  • Path: /api/v1/playbook-cases/{case_id}/nodes/{node}/confirmation
await soat.playbooks.confirmPlaybookCaseNode({
path: { case_id, node },
body: { decision, expected_revisions, /* + optional */ },
});

→ Request & response schema