Stack Moxie How To: Integrate API

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

Operations 8

GET /v1/organizations/{org}/notification-groups List Notification Groups
DELETE /v1/organizations/{org}/notification-groups/{id} Delete a Notification Group
GET /v1/organizations/{org}/connections List Connections
POST /v1/organizations/{org}/connections Create a Connection
GET /v1/organizations/{org}/connections/{id} Get a Connection
PATCH /v1/organizations/{org}/connections/{id} Update a Connection
DELETE /v1/organizations/{org}/connections/{id} Delete a Connection
GET /v1/organizations/{org}/registry Get the Cog Registry

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/stack-moxie-how-to-integrate-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

stack-moxie-how-to-integrate-api-openapi.yml Raw ↑
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](https://app.stackmoxie.com).


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


    <SecurityDefinitions />

    '
  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'
  /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'
  /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'
    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'
  /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'
    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'
    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'
  /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'
components:
  schemas:
    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.
    Error:
      type: object
      properties:
        name:
          type: string
        message:
          type: string
    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
    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.
  parameters:
    OrgPathParam:
      name: org
      in: path
      description: Organization's UUID (to scope the API call).
      required: true
      schema:
        type: string
        format: uuid
  responses:
    Forbidden:
      description: 'Returned if the authenticated user isn''t allowed to perform this action.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: 'Returned when there may be a problem with your API token.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    jwtBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT