Appmixer Unprocessed Messages API

When a message processing fails, even after a certain number of retries, Appmixer stops processing the message and archives it. You can fetch, delete, and even retry those messages programmatically.

Operations 4

GET /unprocessed-messages Get messages #
GET /unprocessed-messages/{messageId} Get message #
DELETE /unprocessed-messages/{messageId} Delete message #
POST /unprocessed-messages/{messageId}/retry Retry a message #

Documentation

Specifications

Schemas & Data

Other Resources

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/appmixer:appmixer-unprocessed-messages-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 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 Specification

appmixer-unprocessed-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Appmixer REST Unprocessed Messages API
  version: 6.5.5
  summary: REST API of the Appmixer workflow automation and embedded iPaaS platform.
  description: 'Appmixer offers a REST API that mirrors the functionality available in its UI. Use it for

    advanced customizations, additional automations and scripting.


    **Base URL.** The base URL depends on your Appmixer tenant, for example `https://api-acme.appmixer.ai`

    (newer hosted tenants), `https://api.acme.appmixer.cloud` (older hosted tenants), or the API URL of

    your Self-Managed installation.


    **Authentication.** Most endpoints require a user access token sent as `Authorization: Bearer `.

    Get a token by signing in with `POST /user/auth`. Some endpoints also require the user to have

    the `admin` scope; this is noted in their descriptions.


    **Errors.** Errors are returned as JSON objects with `statusCode`, `error` and `message` properties.'
  contact:
    name: Appmixer
    url: https://www.appmixer.com
servers:
- url: '{tenantApiUrl}'
  description: Your Appmixer tenant API
  variables:
    tenantApiUrl:
      default: https://api-acme.appmixer.ai
      description: API URL of your Appmixer tenant, e.g. https://api-acme.appmixer.ai or https://api.acme.appmixer.cloud.
security:
- bearerAuth: []
tags:
- name: Unprocessed Messages
  description: 'When a message processing fails, even after a certain number of retries, Appmixer stops

    processing the message and archives it. You can fetch, delete, and even retry those messages

    programmatically.'
paths:
  /unprocessed-messages:
    get:
      tags:
      - Unprocessed Messages
      summary: Get messages
      operationId: getUnprocessedMessages
      description: 'Get the list of the unprocessed messages for the current user (messages of the user''s own

        flows and flows shared with the user). Admin users get messages of all flows.'
      parameters:
      - name: flowId
        in: query
        description: Return only messages of the given flow(s). Can be repeated.
        schema:
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        style: form
        explode: true
      - name: correlationId
        in: query
        description: Return only messages with the given correlation ID.
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of messages returned.
        schema:
          type: integer
          default: 100
      - name: offset
        in: query
        description: Number of messages to skip.
        schema:
          type: integer
      - name: sort
        in: query
        description: Sorting in the `field:direction` format where direction is `1` (ascending) or `-1` (descending), e.g. `created:-1`.
        schema:
          type: string
        example: created:-1
      - name: filter
        in: query
        description: Filter in the `field:value` format. Multiple filters can be passed comma-separated.
        schema:
          type: string
      - name: projection
        in: query
        description: Comma-separated list of fields to include in (or, prefixed with `-`, exclude from) the returned objects.
        schema:
          type: string
      - name: fromId
        in: query
        description: Internal `_id` of the message from which the paging should start (exclusive).
        schema:
          type: string
      responses:
        '200':
          description: List of unprocessed messages.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UnprocessedMessage'
              example:
              - messageId: a9b78d3c-ec9a-4c0e-81c2-b1df12bd46d7
                flowId: 796d7b5c-bea0-4594-a9df-a8a0e3c4616e
                componentId: fdb29d7b-c6b7-423b-adb2-87b41289e925
                messages:
                  in:
                  - properties:
                      correlationId: 0dcb7b2a-5933-481a-bb9c-c08a865656c0
                      gridInstanceId: null
                      contentType: application/json
                      contentEncoding: utf8
                      sender:
                        componentId: 3961d498-83f8-4714-85ba-0539d3055892
                        type: appmixer.utils.controls.OnStart
                        outputPort: out
                      destination:
                        componentId: fdb29d7b-c6b7-423b-adb2-87b41289e925
                        inputPort: in
                      correlationInPort: null
                      componentHeaders: {}
                      flowId: 796d7b5c-bea0-4594-a9df-a8a0e3c4616e
                      messageId: 12374d7e-5c66-40d1-8772-37c424bd4182
                      flowRunId: 1603726768950
                    content:
                      key: hello
                    scope:
                      3961d498-83f8-4714-85ba-0539d3055892:
                        out:
                          started: 2020-10-26 15:39:29.003000+00:00
                    originalContent:
                      started: 2020-10-26 15:39:29.003000+00:00
                created: 2020-10-26 15:39:29.097000+00:00
                err: '{"message":"Component failed."}'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /unprocessed-messages/{messageId}:
    parameters:
    - $ref: '#/components/parameters/UnprocessedMessageIdParam'
    get:
      tags:
      - Unprocessed Messages
      summary: Get message
      operationId: getUnprocessedMessage
      description: Get a single unprocessed message.
      responses:
        '200':
          description: The unprocessed message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessedMessage'
              example:
                messageId: a9b78d3c-ec9a-4c0e-81c2-b1df12bd46d7
                flowId: 796d7b5c-bea0-4594-a9df-a8a0e3c4616e
                componentId: fdb29d7b-c6b7-423b-adb2-87b41289e925
                messages:
                  in:
                  - properties:
                      correlationId: 0dcb7b2a-5933-481a-bb9c-c08a865656c0
                      gridInstanceId: null
                      contentType: application/json
                      contentEncoding: utf8
                      sender:
                        componentId: 3961d498-83f8-4714-85ba-0539d3055892
                        type: appmixer.utils.controls.OnStart
                        outputPort: out
                      destination:
                        componentId: fdb29d7b-c6b7-423b-adb2-87b41289e925
                        inputPort: in
                      correlationInPort: null
                      componentHeaders: {}
                      flowId: 796d7b5c-bea0-4594-a9df-a8a0e3c4616e
                      messageId: 12374d7e-5c66-40d1-8772-37c424bd4182
                      flowRunId: 1603726768950
                    content:
                      key: hello
                    scope:
                      3961d498-83f8-4714-85ba-0539d3055892:
                        out:
                          started: 2020-10-26 15:39:29.003000+00:00
                    originalContent:
                      started: 2020-10-26 15:39:29.003000+00:00
                created: 2020-10-26 15:39:29.097000+00:00
                err: '{"message":"Component failed."}'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Unprocessed Messages
      summary: Delete message
      operationId: deleteUnprocessedMessage
      description: Delete an unprocessed message.
      responses:
        '200':
          description: The message was deleted.
          content:
            application/json:
              schema:
                type: object
              example: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /unprocessed-messages/{messageId}/retry:
    parameters:
    - $ref: '#/components/parameters/UnprocessedMessageIdParam'
    post:
      tags:
      - Unprocessed Messages
      summary: Retry a message
      operationId: retryUnprocessedMessage
      description: 'Put the message back into the Appmixer engine. The message is removed from the unprocessed

        messages once it has been re-queued.'
      responses:
        '200':
          description: The message was re-queued.
          content:
            application/json:
              schema:
                type: object
              example: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    UnprocessedMessageIdParam:
      name: messageId
      in: path
      required: true
      description: The message ID (`messageId` UUID; the internal `_id` is also accepted for backwards compatibility).
      schema:
        type: string
      example: a9b78d3c-ec9a-4c0e-81c2-b1df12bd46d7
  schemas:
    UnprocessedMessage:
      type: object
      additionalProperties: true
      properties:
        messageId:
          type: string
        flowId:
          type: string
        componentId:
          type: string
        correlationId:
          type: string
        messages:
          type: object
          additionalProperties: true
          description: The original message(s), keyed by input port name.
        created:
          type: string
          format: date-time
        err:
          description: Stringified error object.
        target:
          type: string
        options:
          type: object
          additionalProperties: true
        errorWhileParsing:
          type: string
          description: Present (list only) if the stored message could not be parsed.
    Error:
      type: object
      description: Error response.
      properties:
        statusCode:
          type: integer
          example: 404
        error:
          type: string
          example: Not Found
        message:
          type: string
          example: Flow not found.
      required:
      - statusCode
      - error
  responses:
    Unauthorized:
      description: The access token is missing, invalid or expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The user does not have the permission (or scope) required for this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request is invalid, for example it failed payload or query validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: User access token obtained from `POST /user/auth`.
externalDocs:
  description: Appmixer documentation
  url: https://docs.appmixer.com
x-provenance:
  method: harvested
  publisher: Appmixer
  source: https://4113719406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzU8KYStPfR8N1iZXsgad%2Fuploads%2Fgit-blob-6433572bd8011e652aa91642ad387d4ab08bc48b%2Fappmixer-openapi.yaml?alt=media
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)