Appmixer Public Files API

Public files are files that are available at the root location of your Appmixer tenant API endpoint. For example, uploading `verify.html` makes the file available at `API_URL/verify.html`. All Public Files endpoints require the `admin` scope.

Operations 3

GET /public-files Get public files #
POST /public-files Upload a public file #
DELETE /public-files/{filename} Remove a public file #

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-public-files-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-public-files-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Appmixer REST Public Files 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: Public Files
  description: 'Public files are files that are available at the root location of your Appmixer tenant API

    endpoint. For example, uploading `verify.html` makes the file available at `API_URL/verify.html`.

    All Public Files endpoints require the `admin` scope.'
paths:
  /public-files:
    get:
      tags:
      - Public Files
      summary: Get public files
      operationId: getPublicFiles
      description: 'Returns a list of the public files. The list does not contain the contents of the files.

        Requires the `admin` scope.'
      responses:
        '200':
          description: List of public files.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicFile'
              example:
              - filename: test.txt
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      tags:
      - Public Files
      summary: Upload a public file
      operationId: uploadPublicFile
      description: 'Uploads a public file. The file becomes available at the root of the tenant API URL under the

        given `filename`. Maximum size is 16 MB. Requires the `admin` scope.


        ```

        curl ''[TENANT_API_URL]/public-files'' \

        --header ''Authorization: Bearer [ADMIN_TOKEN]'' \

        --form ''file=@"/tmp/icon.png"'' \

        --form ''filename="icon.png"''

        ```'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PublicFileUpload'
          application/json:
            schema:
              type: object
              description: Text content can also be sent as a JSON string.
              properties:
                filename:
                  type: string
                  description: The name for the file.
                file:
                  type: string
                  description: The text content of the file.
              required:
              - filename
              - file
      responses:
        '200':
          description: The file was uploaded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicFileOk'
              example:
                ok: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '413':
          description: The file is larger than 16 MB.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public-files/{filename}:
    delete:
      tags:
      - Public Files
      summary: Remove a public file
      operationId: deletePublicFile
      description: Removes a public file. Requires the `admin` scope.
      parameters:
      - name: filename
        in: path
        required: true
        description: The name of the file you want to remove.
        schema:
          type: string
      responses:
        '200':
          description: 'The file was removed. The code returns the MongoDB delete result

            (`acknowledged`, `deletedCount`), not `{ "ok": true }` as the docs state.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  acknowledged:
                    type: boolean
                  deletedCount:
                    type: integer
              example:
                acknowledged: true
                deletedCount: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    PublicFileOk:
      type: object
      properties:
        ok:
          type: boolean
    PublicFileUpload:
      type: object
      properties:
        filename:
          type: string
          description: The name for the file.
        file:
          type: string
          format: binary
          description: The file to be uploaded.
      required:
      - filename
      - file
    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
    PublicFile:
      type: object
      properties:
        filename:
          type: string
      required:
      - filename
  responses:
    Unauthorized:
      description: The access token is missing, invalid or expired.
      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'
  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)