Stack Moxie How To: Integrate API
Use these calls to connect an Organization with Marketing/Sales technologies supported by Stack Moxie.
Use these calls to connect an Organization with Marketing/Sales technologies supported by Stack Moxie.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/stack-moxie:stack-moxie-how-to-integrate-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: '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.'
title: 'Stack Moxie REST How To: Integrate API'
x-logo:
url: https://app.stackmoxie.com/api/logo.png
altText": Stack Moxie Logo
servers:
- url: https://app.stackmoxie.com/api/
security:
- jwtBearerAuth: []
tags:
- name: 'How To: Integrate'
description: Use these calls to connect an Organization with Marketing/Sales technologies supported by Stack Moxie.
paths:
/v1/organizations/{org}/notification-groups:
get:
summary: List Notification Groups
description: Retrieves a list of Notification Groups that the Organization has set up.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
responses:
'200':
description: Returns a list of the Organization's Notification Groups.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationGroup'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: getV1OrganizationsByOrgNotificationGroups
x-operation-id-source: derived
/v1/organizations/{org}/notification-groups/{id}:
delete:
summary: Delete a Notification Group
description: Removes a Notification Group given its ID.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
- name: id
in: path
description: Notification Group's ID.
required: true
schema:
type: integer
responses:
'204':
description: Notification Group successfully removed.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: deleteV1OrganizationsByOrgNotificationGroupsById
x-operation-id-source: derived
/v1/organizations/{org}/connections:
get:
summary: List Connections
description: Retrieves a list of Connections that the Organization has configured with other platforms.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
responses:
'200':
description: Returns a list of the Organization's Connections.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Connection'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: getV1OrganizationsByOrgConnections
x-operation-id-source: derived
post:
summary: Create a Connection
description: Integrates Stack Moxie with another platform given a set of authentication details.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
responses:
'200':
description: Returns the Connection just created.
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Returned when the given `cog` is unknown.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Returned when a connection for this cog already exists for this org/profile.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Returned when the details provided on the `auth` key do not match the fields required to connect the given `cog`.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: postV1OrganizationsByOrgConnections
x-operation-id-source: derived
/v1/organizations/{org}/connections/{id}:
get:
summary: Get a Connection
description: Retrieves a single Connection given its ID.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
- name: id
in: path
description: Connection's ID.
required: true
schema:
type: integer
responses:
'200':
description: Returns the Connection.
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: getV1OrganizationsByOrgConnectionsById
x-operation-id-source: derived
patch:
summary: Update a Connection
description: Replaces a single Connection's authentication details given its ID.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
- name: id
in: path
description: Connection's ID.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
auth:
type: object
responses:
'200':
description: Returns the replaced Connection.
content:
application/json:
schema:
$ref: '#/components/schemas/Connection'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
description: Returned when the details provided on the `auth` key do not match the fields required to connect the given `cog`.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: patchV1OrganizationsByOrgConnectionsById
x-operation-id-source: derived
delete:
summary: Delete a Connection
description: Removes a Connection given its ID.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
- name: id
in: path
description: Connection's ID.
required: true
schema:
type: integer
responses:
'204':
description: Connection successfully removed.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: deleteV1OrganizationsByOrgConnectionsById
x-operation-id-source: derived
/v1/organizations/{org}/registry:
get:
summary: Get the Cog Registry
description: Retrieves a list of Crank Cog Registry entries corresponding to those the Organization has access to use.
tags:
- 'How To: Integrate'
parameters:
- $ref: '#/components/parameters/OrgPathParam'
responses:
'200':
description: Returns a list of Crank Cog Registry entries for the Organization.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RegistryEntry'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
operationId: getV1OrganizationsByOrgRegistry
x-operation-id-source: derived
components:
schemas:
RegistryEntry:
type: object
properties:
name:
type: string
description: The name of the Cog (e.g. `cog-vendor/system-name`)
label:
type: string
description: Human-readable name of the system.
version:
type: string
description: Cog Version.
homepage:
type: string
format: url
description: Cog homepage (for reporting bugs).
authHelpUrl:
type: string
format: url
description: URL to documentation outlining how to authenticate.
stepDefinitionsList:
type: array
items:
type: object
description: A list of step definitions (see https://crank.automatoninc.com)
authFieldsList:
type: array
items:
type: object
description: A list of authentication fields required by this Cog (see https://crank.automatoninc.com)
NotificationGroup:
description: Represents a notification group that can be notified during a scenario run.
required:
- name
type: object
properties:
name:
type: string
description: Notification Group name.
email:
type:
- string
- 'null'
description: The email alias of the notification group.
members:
description: The users that are members of this notification group.
type:
- array
- 'null'
items:
type: object
$ref: '#/components/schemas/User'
id:
type: integer
readOnly: true
description: A numeric identifier for this Notification Group.
uuid:
type: string
readOnly: true
description: An identifier for this Notification Group in the form of a UUID.
createdAt:
type: string
readOnly: true
description: Unix timestamp (ms) of this Notification Group's creation.
updatedAt:
type: string
readOnly: true
description: Unix timestamp (ms) of when this Notification Group was last modified.
createdBy:
readOnly: true
oneOf:
- type: integer
- $ref: '#/components/schemas/User'
description: The ID or User object who created this Notification Group.
User:
required:
- emailAddress
- fullName
- password
type: object
properties:
uuid:
type: string
emailAddress:
maxLength: 200
type: string
emailStatus:
type: string
emailChangeCandidate:
type: string
password:
type: string
fullName:
maxLength: 120
type: string
notificationSetting:
type: string
notificationOverride:
maxLength: 200
type: string
maxTrials:
type: string
isSuperAdmin:
type: boolean
passwordResetToken:
type: string
passwordResetTokenExpiresAt:
type: string
emailProofToken:
type: string
emailProofTokenExpiresAt:
type: string
tosAcceptedByIp:
type: string
lastSeenAt:
type: string
Error:
type: object
properties:
name:
type: string
message:
type: string
Connection:
description: Represents a connection between Stack Moxie and another platform.
required:
- cog
type: object
properties:
cog:
type: string
enum:
- automatoninc/dynamics
- automatoninc/eloqua
- stackmoxie/hubspot
- automatoninc/marketo
- automatoninc/pardot
- automatoninc/salesforce
description: 'Cog Name in the form`vendor/name` (see registry).
'
auth:
type: object
writeOnly: true
description: Authentication details required by the given Cog.
profile:
type: string
enum:
- default
default: default
description: Profile name.
isValid:
type: boolean
readOnly: true
description: Whether or not the Connection is valid (e.g. authentication details are still up-to-date).
id:
type: integer
readOnly: true
description: A numeric identifier for this Connection.
uuid:
type: string
readOnly: true
description: An identifier for this Connection in the form of a UUID.
createdAt:
type: string
readOnly: true
description: Unix timestamp (ms) of this Connection's creation.
updatedAt:
type: string
readOnly: true
description: Unix timestamp (ms) of when this Connection was last modified.
createdBy:
readOnly: true
oneOf:
- type: integer
- $ref: '#/components/schemas/User'
description: The ID or User object who created this Connection.
responses:
Unauthorized:
description: 'Returned when there may be a problem with your API token.
'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: 'Returned if the authenticated user isn''t allowed to perform this action.
'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
OrgPathParam:
name: org
in: path
description: Organization's UUID (to scope the API call).
required: true
schema:
type: string
format: uuid
securitySchemes:
jwtBearerAuth:
type: http
scheme: bearer
bearerFormat: JWT