Unisson apps API

The apps API from Unisson — 7 operation(s) for apps.

Operations 9

GET /api/v1/apps/templates List Templates #
GET /api/v1/apps List Apps #
GET /api/v1/apps/{app_id} Get App #
PATCH /api/v1/apps/{app_id} Update App #
DELETE /api/v1/apps/{app_id} Delete App #
GET /api/v1/apps/{app_id}/readme Get App Readme #
GET /api/v1/apps/{app_id}/versions List App Versions #
GET /api/v1/apps/{app_id}/versions/{version_number} Get App Version #
POST /api/v1/apps/{app_id}/versions/{version_number}/restore Restore App Version #

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/unisson-apps-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

unisson-apps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unisson agent-evals Apps API
  version: 1.0.0
servers:
- url: https://api.unisson.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: apps
paths:
  /api/v1/apps/templates:
    get:
      tags:
      - apps
      summary: List Templates
      operationId: list_templates_api_v1_apps_templates_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AppTemplateResponse'
                type: array
                title: Response List Templates Api V1 Apps Templates Get
      security:
      - HTTPBearer: []
  /api/v1/apps:
    get:
      tags:
      - apps
      summary: List Apps
      operationId: list_apps_api_v1_apps_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MiniAppListResponse'
      security:
      - HTTPBearer: []
  /api/v1/apps/{app_id}:
    get:
      tags:
      - apps
      summary: Get App
      operationId: get_app_api_v1_apps__app_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: App Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MiniAppDetailResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - apps
      summary: Update App
      operationId: update_app_api_v1_apps__app_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: App Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MiniAppUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MiniAppResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - apps
      summary: Delete App
      operationId: delete_app_api_v1_apps__app_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: App Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/apps/{app_id}/readme:
    get:
      tags:
      - apps
      summary: Get App Readme
      description: 'The app''s markdown README only — avoids the heavyweight detail endpoint

        (which image-inlines the full html) just to render the README modal.'
      operationId: get_app_readme_api_v1_apps__app_id__readme_get
      security:
      - HTTPBearer: []
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: App Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MiniAppReadmeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/apps/{app_id}/versions:
    get:
      tags:
      - apps
      summary: List App Versions
      description: 'Newest-first list of an app''s versions — the agent-written change

        summaries users review instead of raw source diffs. Visibility follows the

        app itself (``fetch_app_for_caller`` 404s an unshared app for guests).'
      operationId: list_app_versions_api_v1_apps__app_id__versions_get
      security:
      - HTTPBearer: []
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: App Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MiniAppVersionListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/apps/{app_id}/versions/{version_number}:
    get:
      tags:
      - apps
      summary: Get App Version
      description: 'Full detail (image-inlined html + readme) of ONE past version, for

        previewing a snapshot in the AppFrame before deciding whether to restore.'
      operationId: get_app_version_api_v1_apps__app_id__versions__version_number__get
      security:
      - HTTPBearer: []
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: App Id
      - name: version_number
        in: path
        required: true
        schema:
          type: integer
          title: Version Number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MiniAppDetailResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/apps/{app_id}/versions/{version_number}/restore:
    post:
      tags:
      - apps
      summary: Restore App Version
      description: 'Revert the live app to a past snapshot. History stays append-only: the

        restore is recorded as a NEW version (so it can itself be undone). Guests are

        blocked at the router level (guest_write_guard); any member may restore.'
      operationId: restore_app_version_api_v1_apps__app_id__versions__version_number__restore_post
      security:
      - HTTPBearer: []
      parameters:
      - name: app_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: App Id
      - name: version_number
        in: path
        required: true
        schema:
          type: integer
          title: Version Number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MiniAppResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    MiniAppVersionListResponse:
      properties:
        versions:
          items:
            $ref: '#/components/schemas/MiniAppVersionResponse'
          type: array
          title: Versions
      type: object
      required:
      - versions
      title: MiniAppVersionListResponse
    MiniAppUpdate:
      properties:
        name:
          anyOf:
          - type: string
            maxLength: 200
            minLength: 1
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        guest_access:
          anyOf:
          - type: string
            pattern: ^(none|view|interact)$
          - type: 'null'
          title: Guest Access
      type: object
      title: MiniAppUpdate
      description: 'PATCH semantics — only provided fields change. (App html is updated

        by the agent via update_app, not over this API.)'
    MiniAppDetailResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        customer_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Customer Id
        customer_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Customer Name
        guest_access:
          type: string
          title: Guest Access
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        can_write:
          type: boolean
          title: Can Write
          default: true
        html:
          type: string
          title: Html
        readme:
          anyOf:
          - type: string
          - type: 'null'
          title: Readme
        assets:
          additionalProperties:
            type: string
          type: object
          title: Assets
      type: object
      required:
      - id
      - name
      - guest_access
      - html
      title: MiniAppDetailResponse
    MiniAppReadmeResponse:
      properties:
        readme:
          anyOf:
          - type: string
          - type: 'null'
          title: Readme
      type: object
      title: MiniAppReadmeResponse
      description: 'Just the app''s markdown README — a light endpoint so the "View README"

        modal doesn''t fetch the full (image-inlined, up-to-2MB) app detail.'
    AppTemplateResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        icon:
          type: string
          title: Icon
        description:
          type: string
          title: Description
        prompt:
          type: string
          title: Prompt
      type: object
      required:
      - id
      - name
      - icon
      - description
      - prompt
      title: AppTemplateResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    MiniAppListResponse:
      properties:
        apps:
          items:
            $ref: '#/components/schemas/MiniAppResponse'
          type: array
          title: Apps
      type: object
      required:
      - apps
      title: MiniAppListResponse
    MiniAppResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        customer_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Customer Id
        customer_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Customer Name
        guest_access:
          type: string
          title: Guest Access
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        can_write:
          type: boolean
          title: Can Write
          default: true
      type: object
      required:
      - id
      - name
      - guest_access
      title: MiniAppResponse
    MiniAppVersionResponse:
      properties:
        version_number:
          type: integer
          title: Version Number
        change_summary:
          type: string
          title: Change Summary
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        created_by_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By Name
      type: object
      required:
      - version_number
      - change_summary
      title: MiniAppVersionResponse
      description: 'One entry in an app''s version history — the agent-written change summary

        users review instead of raw source diffs. ``html`` is omitted from the list;

        fetch a single version''s detail to preview it.'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer