Stack Moxie REST API

Stack Moxie is a QA Automation platform for Marketing, Sales, and Enterprise Business technologists.

This REST API can be used by developers like you to further automate, extend, and integrate quality into the workflows that matter most to you.

Don't have an account? Sign up here.

Authentication

The Stack Moxie REST API uses HTTP Bearer Authentication, in the form of a JWT token, across all endpoints for authentication. You can manage your API tokens on your account settings page.

jwtBearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

How To: Integrate

Use these calls to connect an Organization with Marketing/Sales technologies supported by Stack Moxie.

List Notification Groups

get/v1/organizations/{org}/notification-groups
https://app.stackmoxie.com/api/v1/organizations/{org}/notification-groups

Retrieves a list of Notification Groups that the Organization has set up.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of the Organization's Notification Groups.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Delete a Notification Group

delete/v1/organizations/{org}/notification-groups/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/notification-groups/{id}

Removes a Notification Group given its ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Notification Group's ID.

Responses

204

Notification Group successfully removed.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "message": "string"
}

List Connections

get/v1/organizations/{org}/connections
https://app.stackmoxie.com/api/v1/organizations/{org}/connections

Retrieves a list of Connections that the Organization has configured with other platforms.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of the Organization's Connections.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a Connection

post/v1/organizations/{org}/connections
https://app.stackmoxie.com/api/v1/organizations/{org}/connections

Integrates Stack Moxie with another platform given a set of authentication details.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
cog
required
string
Enum: "automatoninc/dynamics" "automatoninc/eloqua" "stackmoxie/hubspot" "automatoninc/marketo" "automatoninc/pardot" "automatoninc/salesforce"

Cog Name in the formvendor/name (see registry).

auth
object

Authentication details required by the given Cog.

profile
string
Default: "default"
Value: "default"

Profile name.

Responses

200

Returns the Connection just created.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

404

Returned when the given cog is unknown.

409

Returned when a connection for this cog already exists for this org/profile.

422

Returned when the details provided on the auth key do not match the fields required to connect the given cog.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cog": "automatoninc/dynamics",
  • "auth": { },
  • "profile": "default",
  • "createdBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cog": "automatoninc/dynamics",
  • "profile": "default",
  • "isValid": true,
  • "id": 0,
  • "uuid": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}

Get a Connection

get/v1/organizations/{org}/connections/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/connections/{id}

Retrieves a single Connection given its ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Connection's ID.

Responses

200

Returns the Connection.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cog": "automatoninc/dynamics",
  • "profile": "default",
  • "isValid": true,
  • "id": 0,
  • "uuid": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}

Update a Connection

patch/v1/organizations/{org}/connections/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/connections/{id}

Replaces a single Connection's authentication details given its ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Connection's ID.

Request Body schema: application/json
auth
object

Responses

200

Returns the replaced Connection.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

422

Returned when the details provided on the auth key do not match the fields required to connect the given cog.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "auth": { }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cog": "automatoninc/dynamics",
  • "profile": "default",
  • "isValid": true,
  • "id": 0,
  • "uuid": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}

Delete a Connection

delete/v1/organizations/{org}/connections/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/connections/{id}

Removes a Connection given its ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Connection's ID.

Responses

204

Connection successfully removed.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "message": "string"
}

Get the Cog Registry

get/v1/organizations/{org}/registry
https://app.stackmoxie.com/api/v1/organizations/{org}/registry

Retrieves a list of Crank Cog Registry entries corresponding to those the Organization has access to use.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of Crank Cog Registry entries for the Organization.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

How To: Test

Use these calls to define test Scenarios, Run them, and retrieve their results.

List Scenarios

get/v1/organizations/{org}/scenarios
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios

Retrieve the list of test Scenarios for the given Organization.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of the Organization's test Scenarios.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a Scenario

post/v1/organizations/{org}/scenarios
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios

Creates a test Scenario for the given Organization.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
definition
required
object (ScenarioDefinition)
name
required
string

The name of the Scenario.

description
string

A brief description of the Scenario.

type
string
Enum: "default" "template" "from-template"

The type of scenario. Determines how the scenario will be used and how it is handled in the UI.

severity
integer
Enum: 1 2 3 4

Issue severity status of the scenario, 1 being the most severe and 4 being the least.

dashboardSetting
string
Enum: "default" "include" "exclude"

Value that indicates whether to include this scenario in the Status Dashboard or not.

feature
integer or Folder (object) Nullable

The ID or Folder object under which this Scenario lives (if any).

schedule
integer or Folder (object) Nullable

The ID or Schedule object associated with this Scenario (if any).

notificationGroups
Array of objects (NotificationGroup) Nullable

The Notification Groups that will be notified for scenario run results.

instructions
string

For templates only. Additional guidelines on how to work with this scenarios.

exposedToApis
boolean

For templates only. Value that indicates whether to include this scenario when querying the exposedTemplates endpoint.

isLinkable
boolean

For templates only. Indicates whether this scenario can be chained onto other scenarios.

Responses

200

Returns the test Scenario just created.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

422

Returned if the provided scenario definition is malformed.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "definition":
    {
    },
  • "type": "default",
  • "severity": 1,
  • "dashboardSetting": "default",
  • "feature": 0,
  • "schedule": 0,
  • "notificationGroups":
    [
    ],
  • "instructions": "string",
  • "exposedToApis": true,
  • "isLinkable": true,
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "definition":
    {
    },
  • "type": "default",
  • "severity": 1,
  • "dashboardSetting": "default",
  • "feature": 0,
  • "schedule": 0,
  • "notificationGroups":
    [
    ],
  • "instructions": "string",
  • "exposedToApis": true,
  • "isLinkable": true,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "updatedAt": 0,
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Get a Scenario

get/v1/organizations/{org}/scenarios/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{id}

Retrieves an individual test Scenario by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

The Scenario's ID.

Responses

200

Returns the test Scenario.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "definition":
    {
    },
  • "type": "default",
  • "severity": 1,
  • "dashboardSetting": "default",
  • "feature": 0,
  • "schedule": 0,
  • "notificationGroups":
    [
    ],
  • "instructions": "string",
  • "exposedToApis": true,
  • "isLinkable": true,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "updatedAt": 0,
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Update a Scenario

patch/v1/organizations/{org}/scenarios/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{id}

Updates an individual test Scenario by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

The Scenario's ID.

Request Body schema: application/json
definition
required
object (ScenarioDefinition)
name
required
string

The name of the Scenario.

description
string

A brief description of the Scenario.

type
string
Enum: "default" "template" "from-template"

The type of scenario. Determines how the scenario will be used and how it is handled in the UI.

severity
integer
Enum: 1 2 3 4

Issue severity status of the scenario, 1 being the most severe and 4 being the least.

dashboardSetting
string
Enum: "default" "include" "exclude"

Value that indicates whether to include this scenario in the Status Dashboard or not.

feature
integer or Folder (object) Nullable

The ID or Folder object under which this Scenario lives (if any).

schedule
integer or Folder (object) Nullable

The ID or Schedule object associated with this Scenario (if any).

notificationGroups
Array of objects (NotificationGroup) Nullable

The Notification Groups that will be notified for scenario run results.

instructions
string

For templates only. Additional guidelines on how to work with this scenarios.

exposedToApis
boolean

For templates only. Value that indicates whether to include this scenario when querying the exposedTemplates endpoint.

isLinkable
boolean

For templates only. Indicates whether this scenario can be chained onto other scenarios.

Responses

200

Returns the updated test Scenario.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

422

Returned if the provided scenario definition is malformed.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "definition":
    {
    },
  • "type": "default",
  • "severity": 1,
  • "dashboardSetting": "default",
  • "feature": 0,
  • "schedule": 0,
  • "notificationGroups":
    [
    ],
  • "instructions": "string",
  • "exposedToApis": true,
  • "isLinkable": true,
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "definition":
    {
    },
  • "type": "default",
  • "severity": 1,
  • "dashboardSetting": "default",
  • "feature": 0,
  • "schedule": 0,
  • "notificationGroups":
    [
    ],
  • "instructions": "string",
  • "exposedToApis": true,
  • "isLinkable": true,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "updatedAt": 0,
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Delete a Scenario

delete/v1/organizations/{org}/scenarios/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{id}

Deletes an individual test scenario by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

The Scenario's ID.

Responses

204

Scenario successfully deleted.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "message": "string"
}

Create an Async Scenario

post/v1/organizations/{org}/asyncScenario
https://app.stackmoxie.com/api/v1/organizations/{org}/asyncScenario

Creates a Scenario Asynchronously.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
definition
required
object (ScenarioDefinition)
name
required
string

The name of the Scenario.

description
string

A brief description of the Scenario.

type
string
Enum: "default" "template" "from-template"

The type of scenario. Determines how the scenario will be used and how it is handled in the UI.

severity
integer
Enum: 1 2 3 4

Issue severity status of the scenario, 1 being the most severe and 4 being the least.

dashboardSetting
string
Enum: "default" "include" "exclude"

Value that indicates whether to include this scenario in the Status Dashboard or not.

feature
integer or Folder (object) Nullable

The ID or Folder object under which this Scenario lives (if any).

schedule
integer or Folder (object) Nullable

The ID or Schedule object associated with this Scenario (if any).

notificationGroups
Array of objects (NotificationGroup) Nullable

The Notification Groups that will be notified for scenario run results.

instructions
string

For templates only. Additional guidelines on how to work with this scenarios.

exposedToApis
boolean

For templates only. Value that indicates whether to include this scenario when querying the exposedTemplates endpoint.

isLinkable
boolean

For templates only. Indicates whether this scenario can be chained onto other scenarios.

Responses

200

Returns an async job.

400

Returned if the provided scenario definition does not match async requirements.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "definition":
    {
    },
  • "type": "default",
  • "severity": 1,
  • "dashboardSetting": "default",
  • "feature": 0,
  • "schedule": 0,
  • "notificationGroups":
    [
    ],
  • "instructions": "string",
  • "exposedToApis": true,
  • "isLinkable": true,
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "jobId": "string"
}

Get Async Job Status

get/v1/organizations/{org}/job/{jobId}
https://app.stackmoxie.com/api/v1/organizations/{org}/job/{jobId}

Retrieves the status of an async job, including the created scenario if finished.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

jobId
required
string <uuid>

This Job's UUID.

Responses

200

Returns the job status, including the created scenario if finished.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "createdAt": 0,
  • "updatedAt": 0,
  • "id": 0,
  • "jobId": "string",
  • "status": "Processing",
  • "type": "Scenario",
  • "data": "string"
}

List Templates

get/v1/organizations/{org}/scenarios/allTemplates
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/allTemplates

Retrieve the list of all Template Scenarios for the given Organization.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of the Organization's Template Scenarios.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

List Linkable Templates

get/v1/organizations/{org}/scenarios/linkableTemplates
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/linkableTemplates

Retrieve the list of all Linkable Template Scenarios for the given Organization.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of the Organization's Linkable Template Scenarios.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

List Exposed Templates

get/v1/organizations/{org}/scenarios/exposedTemplates
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/exposedTemplates

Retrieve the list of all Template Scenarios that are exposed to external APIs.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of all Template Scenarios that are exposed to external APIs.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

List Scenario Runs

get/v1/organizations/{org}/scenarios/{id}/runs
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{id}/runs

Retrieves a list of Runs for the given Scenario ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Scenario's ID.

query Parameters
page
integer

This helps with pagination and when the limit is known

outcome
integer

Used for filtering scenario runs by outcome by passing in comma-delimited values. e.g. ?outcome=Passed,Failed

ranAfter
integer

Used to filter scenario runs that ran after the specified date. e.g. ?ranAfter=1591702698140

ranBefore
integer

Used to filter scenario runs that ran before the specified date. e.g. ?ranBefore=1591702698140

Responses

200

Returns a list of the Scenario's Runs.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a Scenario Run

post/v1/organizations/{org}/scenarios/{id}/runs
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{id}/runs

Creates a Run for the given scenario given an optional set of token replacements.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Scenario's ID.

Request Body schema: application/json
tokens
object
notify
string
Default: "me"
Enum: "me" "team"

Determines who receives notifications. The default me means notifications are only sent to the authenticated user initiating the run creation request, while team will send to any associated Notification Group(s) or the Organization's global notification alias.

Responses

200

Returns the Run just created.

400

Returns when notify value is invalid.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tokens": { },
  • "notify": "me"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "outcome": "Created",
  • "duration": 0,
  • "scenario": 0,
  • "id": 0,
  • "uuid": "string",
  • "log": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}

Get a Scenario Run

get/v1/organizations/{org}/scenarios/{scenarioId}/runs/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{scenarioId}/runs/{id}

Retrieves an individual Run by its ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

scenarioId
required
integer

Scenario's ID.

id
required
integer

Run's ID.

Responses

200

Returns the Run.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "outcome": "Created",
  • "duration": 0,
  • "scenario": 0,
  • "id": 0,
  • "uuid": "string",
  • "log": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}

Get a Scenario's Most Recent Run

get/v1/organizations/{org}/scenarios/{scenarioId}/mostRecentRun
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{scenarioId}/mostRecentRun

Retrieves the most recent Run of the given Scenario.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

scenarioId
required
integer

Scenario's ID.

Responses

200

Returns the Run.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "outcome": "Created",
  • "duration": 0,
  • "scenario": 0,
  • "id": 0,
  • "uuid": "string",
  • "log": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}

Get a Scenario Run Log

get/v1/organizations/{org}/scenarios/{scenarioId}/runs/{runId}/log/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/scenarios/{scenarioId}/runs/{runId}/log/{id}

Retrieves an individual Run Log given its ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

scenarioId
required
integer

Scenario's ID.

runId
required
integer

Run's ID.

id
required
integer

Run Log's ID.

Responses

200

Returns the Run Log.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": 0,
  • "uuid": "string",
  • "createdAt": 0,
  • "updatedAt": 0,
  • "body":
    [
    ]
}

How To: Automate

Use these calls to Schedule Scenario runs.

List Schedules

get/v1/organizations/{org}/schedules
https://app.stackmoxie.com/api/v1/organizations/{org}/schedules

Retrieves a list of this Organization's Schedules.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of the Organization's Schedules.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a Schedule

post/v1/organizations/{org}/schedules
https://app.stackmoxie.com/api/v1/organizations/{org}/schedules

Creates a Schedule.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
interval
required
integer

Frequency (in seconds) at which this Schedule runs.

scheduledModel
required
string
Value: "scenario"

The type of object to be scheduled. Currently, only Scenarios are supported.

scheduledScenario
required
integer or Scenario (object)

If scheduledModel is set to Scenario, this is the ID or Scenario object to be run on the given interval.

Responses

200

Returns the Schedule just created.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "interval": 0,
  • "scheduledModel": "scenario",
  • "scheduledScenario": 0,
  • "createdBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "interval": 0,
  • "scheduledModel": "scenario",
  • "scheduledScenario": 0,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "updatedAt": 0,
  • "lastRanAt": 0,
  • "createdBy": 0
}

Get a Schedule

get/v1/organizations/{org}/schedules/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/schedules/{id}

Retrieves an individual Schedule by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Schedule's ID.

Responses

200

Returns the Schedule.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "interval": 0,
  • "scheduledModel": "scenario",
  • "scheduledScenario": 0,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "updatedAt": 0,
  • "lastRanAt": 0,
  • "createdBy": 0
}

Update a Schedule

patch/v1/organizations/{org}/schedules/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/schedules/{id}

Updates an individual Schedule by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Schedule's ID.

Request Body schema: application/json
interval
required
integer

Frequency (in seconds) at which this Schedule runs.

scheduledModel
required
string
Value: "scenario"

The type of object to be scheduled. Currently, only Scenarios are supported.

scheduledScenario
required
integer or Scenario (object)

If scheduledModel is set to Scenario, this is the ID or Scenario object to be run on the given interval.

Responses

200

Returns the updated Schedule.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "interval": 0,
  • "scheduledModel": "scenario",
  • "scheduledScenario": 0,
  • "createdBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "interval": 0,
  • "scheduledModel": "scenario",
  • "scheduledScenario": 0,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "updatedAt": 0,
  • "lastRanAt": 0,
  • "createdBy": 0
}

Delete a Schedule

delete/v1/organizations/{org}/schedules/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/schedules/{id}

Deletes an individual Schedule by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Schedule's ID.

Responses

204

Schedule successfully deleted.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "message": "string"
}

How To: Organize

Use these calls to organize your test Scenarios into Folders.

List Folders

get/v1/organizations/{org}/folders
https://app.stackmoxie.com/api/v1/organizations/{org}/folders

Retrieves a list of this Organization's Folders.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns a list of the Organization's Folders.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a Folder

post/v1/organizations/{org}/folders
https://app.stackmoxie.com/api/v1/organizations/{org}/folders

Creates a Folder.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
name
required
string

Folder Name

description
string

Brief description of the Folder's purpose or intention.

Responses

200

Returns the Folder just created.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "uuid": "string",
  • "id": 0,
  • "createdBy": 0,
  • "lastUpdatedBy": 0,
  • "createdAt": 0,
  • "updatedAt": 0
}

Get a Folder

get/v1/organizations/{org}/folders/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/folders/{id}

Retrieves an individual Folder by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Folder's ID.

Responses

200

Returns the Folder.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "uuid": "string",
  • "id": 0,
  • "createdBy": 0,
  • "lastUpdatedBy": 0,
  • "createdAt": 0,
  • "updatedAt": 0
}

Update a Folder

patch/v1/organizations/{org}/folders/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/folders/{id}

Updates an individual Folder by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Folder's ID.

Request Body schema: application/json
name
required
string

Folder Name

description
string

Brief description of the Folder's purpose or intention.

Responses

200

Returns the updated Folder.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "createdBy": 0,
  • "lastUpdatedBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "uuid": "string",
  • "id": 0,
  • "createdBy": 0,
  • "lastUpdatedBy": 0,
  • "createdAt": 0,
  • "updatedAt": 0
}

Delete a Folder

delete/v1/organizations/{org}/folders/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/folders/{id}
Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Folder's ID.

Responses

204

Folder successfully deleted.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "message": "string"
}

How To: Administer

Use these calls to provision Organizations (e.g. for your own clients/customers), and automatically grant them (or your own team members) access.

Create an Organization

post/v1/organizations
https://app.stackmoxie.com/api/v1/organizations

Creates an Organization under which Credentials, Scenarios, Schedules, and Runs can be created. The user making the call becomes the admin member of this organization.

Authorizations:
Request Body schema: application/json
name
required
string

The Organization's name.

statusPageIsPublic
boolean
Default: false

Whether or not the Organization's status dashboard can be viewed by unauthenticated users.

Responses

200

Returns the Organization just created.

401

Returned when there may be a problem with your API token.

403

Returned if the currently authenticated user has exceeded the maximum number of trial organizations.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "statusPageIsPublic": false,
  • "createdBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "statusPageIsPublic": false,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "plan": "string",
  • "urlSlug": "string",
  • "maxRunsPerPeriod": 0,
  • "scheduleIntervalLowerBound": 0,
  • "createdBy": 0
}

Update an Organization

patch/v1/organizations/{org}
https://app.stackmoxie.com/api/v1/organizations/{org}

Updates a given Organization and its details.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
name
string

The Organization's name.

statusPageIsPublic
boolean

Whether or not the Organization's status dashboard can be viewed by unauthenticated users.

notificationEmailAddress
string <email>

The email address (most likely a group alias) where Run notifcations should be sent for Scheduled runs.

notificationSetting
string
Enum: "never" "change" "every fail" "every error" "every run"

Responses

200

Returns the updated Organization.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "statusPageIsPublic": true,
  • "notificationEmailAddress": "user@example.com",
  • "notificationSetting": "never"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "statusPageIsPublic": false,
  • "uuid": "string",
  • "id": 0,
  • "createdAt": 0,
  • "plan": "string",
  • "urlSlug": "string",
  • "maxRunsPerPeriod": 0,
  • "scheduleIntervalLowerBound": 0,
  • "createdBy": 0
}

List Team Members

get/v1/organizations/{org}/members
https://app.stackmoxie.com/api/v1/organizations/{org}/members

Retrieves the list of team members who have access to the given Organization.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Responses

200

Returns the list of team members in this Organization.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Invite a Team Member

post/v1/organizations/{org}/members
https://app.stackmoxie.com/api/v1/organizations/{org}/members

Invites a given person to join the Organization.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
email
string <email>
role
string
Enum: "org-admin" "org-creator"

Responses

200

Returns the team membership just created.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "email": "user@example.com",
  • "role": "org-admin"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "org-admin",
  • "id": 0,
  • "uuid": "string",
  • "createdAt": 0,
  • "updatedAt": 0,
  • "member": 0,
  • "organization": 0,
  • "createdBy": 0
}

Get a Team Member

get/v1/organizations/{org}/members/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/members/{id}

Retrieves an individual team membership by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Numeric team membership ID.

Responses

200

Returns the team membership.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "org-admin",
  • "id": 0,
  • "uuid": "string",
  • "createdAt": 0,
  • "updatedAt": 0,
  • "member": 0,
  • "organization": 0,
  • "createdBy": 0
}

Update a team Member

patch/v1/organizations/{org}/members/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/members/{id}

Updates an individual team membership by ID.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Numeric team membership ID.

Request Body schema: application/json
role
required
string
Enum: "org-admin" "org-creator"

The role this team member has in the Organization.

Responses

200

Returns the updated team membership.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "org-admin",
  • "member": 0,
  • "organization": 0,
  • "createdBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "role": "org-admin",
  • "id": 0,
  • "uuid": "string",
  • "createdAt": 0,
  • "updatedAt": 0,
  • "member": 0,
  • "organization": 0,
  • "createdBy": 0
}

Remove a Team Member

delete/v1/organizations/{org}/members/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/members/{id}

Removes the team member from the organization.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Numeric team membership ID.

Responses

204

Team member was successfully removed.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "message": "string"
}

Re-Send Invitation

post/v1/organizations/{org}/members/{id}/reinvite
https://app.stackmoxie.com/api/v1/organizations/{org}/members/{id}/reinvite

Re-sends the invitation to the given team member.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Numeric team membership ID.

Responses

200

Invitation successfully re-sent.

400

Invalid Action: can't re-send an invitation to a User who has already activated.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Create a Notification Group

post/v1/organizations/{org}/notification-groups
https://app.stackmoxie.com/api/v1/organizations/{org}/notification-groups

Creates a Notification Group.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

Request Body schema: application/json
name
required
string

Notification Group name.

email
string Nullable

The email alias of the notification group.

members
Array of objects (User) Nullable

The users that are members of this notification group.

Responses

200

Returns the Notification Group just created.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "email": "string",
  • "members":
    [
    ],
  • "createdBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "email": "string",
  • "members":
    [
    ],
  • "id": 0,
  • "uuid": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}

Update a Notification Group

patch/v1/organizations/{org}/notification-groups/{id}
https://app.stackmoxie.com/api/v1/organizations/{org}/notification-groups/{id}

Updates a Notification Group.

Authorizations:
path Parameters
org
required
string <uuid>

Organization's UUID (to scope the API call).

id
required
integer

Notification Group's ID.

Request Body schema: application/json
name
required
string

Notification Group name.

email
string Nullable

The email alias of the notification group.

members
Array of objects (User) Nullable

The users that are members of this notification group.

Responses

200

Returns the Notification Group just updated.

401

Returned when there may be a problem with your API token.

403

Returned if the authenticated user isn't allowed to perform this action.

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "email": "string",
  • "members":
    [
    ],
  • "createdBy": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "email": "string",
  • "members":
    [
    ],
  • "id": 0,
  • "uuid": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "createdBy": 0
}