Nevercode App Previews API

REST API endpoints for app previews.

Operations 6

POST /api/v3/builds/{build_id}/preview Start an app preview #
GET /api/v3/teams/{team_id}/previews List app previews for the team #
GET /api/v3/previews/{preview_id} Get app preview information #
DELETE /api/v3/previews/{preview_id} Stop an app preview #
POST /api/v3/previews/{preview_id}/share Share an app preview #
GET /api/v3/shared-previews/{shared_preview_id} Get shared app preview information #

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/nevercode-app-previews-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

nevercode-app-previews-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Codemagic App Previews API
  version: v3.0
  description: '# ℹ️ Overview


    Welcome to the Codemagic REST API.'
servers:
- url: https://codemagic.io/
  x-internal: false
security:
- api_key: []
tags:
- name: App Previews
  description: REST API endpoints for app previews.
  external_docs: null
paths:
  /api/v3/builds/{build_id}/preview:
    post:
      tags:
      - App Previews
      summary: Start an app preview
      operationId: ApiV3BuildsBuildIdPreviewStartPreview
      parameters:
      - name: build_id
        in: path
        schema:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        required: true
        deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartPreviewSchema'
        required: true
      responses:
        '201':
          description: Document created, URL follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoPagination_api.routes.builds.schemas.StartedAppPreviewSchema_'
        '402':
          description: The maximum number of preview sessions has been reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequiredSchema'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
  /api/v3/teams/{team_id}/previews:
    get:
      tags:
      - App Previews
      summary: List app previews for the team
      operationId: ApiV3TeamsTeamIdPreviewsListTeamPreviews
      parameters:
      - name: page_size
        in: query
        schema:
          type: integer
          maximum: 100.0
          minimum: 1.0
          description: The maximum number of results per page.
          default: 30
        description: The maximum number of results per page.
        required: false
        deprecated: false
        allowEmptyValue: false
        allowReserved: false
      - name: page
        in: query
        schema:
          type: integer
          minimum: 1.0
          description: The page number of the results to fetch.
          default: 1
        description: The page number of the results to fetch.
        required: false
        deprecated: false
        allowEmptyValue: false
        allowReserved: false
      - name: team_id
        in: path
        schema:
          type: string
        required: true
        deprecated: false
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassicPagination_api.routes.team_previews.schemas.AppPreviewSchema_'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
  /api/v3/previews/{preview_id}:
    get:
      tags:
      - App Previews
      summary: Get app preview information
      operationId: ApiV3PreviewsPreviewIdGetPreviewInformation
      parameters:
      - name: preview_id
        in: path
        schema:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        required: true
        deprecated: false
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoPagination_api.routes.previews.schemas.AppPreviewSchema_'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
    delete:
      tags:
      - App Previews
      summary: Stop an app preview
      operationId: ApiV3PreviewsPreviewIdStopPreview
      parameters:
      - name: preview_id
        in: path
        schema:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        required: true
        deprecated: false
      responses:
        '204':
          description: Request fulfilled, nothing follows
          headers: {}
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
  /api/v3/previews/{preview_id}/share:
    post:
      tags:
      - App Previews
      summary: Share an app preview
      description: Create a public ID that can be used to retrieve app preview without authentication, see `GET /shared-previews/{shared_preview_id}`.
      operationId: ApiV3PreviewsPreviewIdShareSharePreview
      parameters:
      - name: preview_id
        in: path
        schema:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        required: true
        deprecated: false
      responses:
        '201':
          description: Document created, URL follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoPagination_api.routes.previews.schemas.SharedAppPreviewSchema_'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
  /api/v3/shared-previews/{shared_preview_id}:
    get:
      tags:
      - App Previews
      summary: Get shared app preview information
      description: Get details of a publicly shared app preview. Does not require user authentication. See `POST /previews/{preview_id}/share` for app preview sharing.
      operationId: ApiV3SharedPreviewsSharedPreviewIdGetSharedPreview
      parameters:
      - name: shared_preview_id
        in: path
        schema:
          type: string
        required: true
        deprecated: false
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoPagination_api.routes.shared_previews.schemas.SharedAppPreviewDetailsSchema_'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
      security:
      - {}
components:
  schemas:
    team_previews_schemas_ReleaseNoteSchema:
      properties:
        language:
          type: string
        text:
          type: string
      type: object
      required:
      - language
      - text
      title: ReleaseNoteSchema
    team_previews_schemas_BuildSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        release_notes:
          items:
            $ref: '#/components/schemas/team_previews_schemas_ReleaseNoteSchema'
          type: array
        labels:
          items:
            type: string
          type: array
      type: object
      required:
      - id
      - labels
      - release_notes
      title: BuildSchema
    StartedAppPreviewSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        expires_at:
          type: string
          format: date-time
      type: object
      required:
      - expires_at
      - id
      title: StartedAppPreviewSchema
    team_previews_schemas_ArtifactSchema:
      properties:
        name:
          type: string
        path:
          type: string
        version_code:
          oneOf:
          - type: string
          - type: 'null'
        version_name:
          oneOf:
          - type: string
          - type: 'null'
      type: object
      required:
      - name
      - path
      title: ArtifactSchema
    ClassicPagination_api.routes.team_previews.schemas.AppPreviewSchema_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/team_previews_schemas_AppPreviewSchema'
          type: array
        page_size:
          type: integer
        current_page:
          type: integer
        total_pages:
          type: integer
      type: object
      required:
      - current_page
      - data
      - page_size
      - total_pages
      title: ClassicPagination[AppPreviewSchema]
    SharedAppPreviewSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        shared_preview_id:
          type: string
      type: object
      required:
      - id
      - shared_preview_id
      title: SharedAppPreviewSchema
    NoPagination_api.routes.previews.schemas.AppPreviewSchema_:
      properties:
        data:
          $ref: '#/components/schemas/previews_schemas_AppPreviewSchema'
      type: object
      required:
      - data
      title: NoPagination[AppPreviewSchema]
    previews_schemas_BuildSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        release_notes:
          items:
            $ref: '#/components/schemas/previews_schemas_ReleaseNoteSchema'
          type: array
        labels:
          items:
            type: string
          type: array
      type: object
      required:
      - id
      - labels
      - release_notes
      title: BuildSchema
    NoPagination_api.routes.previews.schemas.SharedAppPreviewSchema_:
      properties:
        data:
          $ref: '#/components/schemas/SharedAppPreviewSchema'
      type: object
      required:
      - data
      title: NoPagination[SharedAppPreviewSchema]
    PaymentRequiredSchema:
      properties:
        status_code:
          type: integer
        detail:
          type: string
        extra:
          $ref: '#/components/schemas/ExtraSchema'
      type: object
      required:
      - detail
      - extra
      - status_code
      title: PaymentRequiredSchema
    previews_schemas_ReleaseNoteSchema:
      properties:
        language:
          type: string
        text:
          type: string
      type: object
      required:
      - language
      - text
      title: ReleaseNoteSchema
    previews_schemas_AppPreviewSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        streaming_public_key:
          type: string
        app:
          $ref: '#/components/schemas/previews_schemas_AppSchema'
        build:
          $ref: '#/components/schemas/previews_schemas_BuildSchema'
        artifact:
          $ref: '#/components/schemas/previews_schemas_ArtifactSchema'
        created_at:
          type: string
          format: date-time
        expires_at:
          type: string
          format: date-time
        deleted_at:
          oneOf:
          - type: string
            format: date-time
          - type: 'null'
      type: object
      required:
      - app
      - artifact
      - build
      - created_at
      - expires_at
      - id
      - streaming_public_key
      title: AppPreviewSchema
    StartPreviewSchema:
      properties:
        artifact_path:
          type: string
      type: object
      required:
      - artifact_path
      title: StartPreviewSchema
    NoPagination_api.routes.builds.schemas.StartedAppPreviewSchema_:
      properties:
        data:
          $ref: '#/components/schemas/StartedAppPreviewSchema'
      type: object
      required:
      - data
      title: NoPagination[StartedAppPreviewSchema]
    previews_schemas_AppSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        name:
          type: string
        icon_url:
          oneOf:
          - type: string
          - type: 'null'
      type: object
      required:
      - id
      - name
      title: AppSchema
    NoPagination_api.routes.shared_previews.schemas.SharedAppPreviewDetailsSchema_:
      properties:
        data:
          $ref: '#/components/schemas/SharedAppPreviewDetailsSchema'
      type: object
      required:
      - data
      title: NoPagination[SharedAppPreviewDetailsSchema]
    previews_schemas_ArtifactSchema:
      properties:
        name:
          type: string
        path:
          type: string
        version_code:
          oneOf:
          - type: string
          - type: 'null'
        version_name:
          oneOf:
          - type: string
          - type: 'null'
      type: object
      required:
      - name
      - path
      title: ArtifactSchema
    AppPreviewApplicationSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        name:
          type: string
        icon_url:
          oneOf:
          - type: string
          - type: 'null'
      type: object
      required:
      - id
      - name
      title: AppPreviewApplicationSchema
    SharedAppPreviewDetailsSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        streaming_public_key:
          type: string
        expires_at:
          type: string
          format: date-time
      type: object
      required:
      - expires_at
      - id
      - streaming_public_key
      title: SharedAppPreviewDetailsSchema
    team_previews_schemas_AppPreviewSchema:
      properties:
        id:
          type: string
          examples:
          - 60a0b1c2d3e4f56789abcdef
        streaming_public_key:
          type: string
        app:
          $ref: '#/components/schemas/AppPreviewApplicationSchema'
        build:
          $ref: '#/components/schemas/team_previews_schemas_BuildSchema'
        artifact:
          $ref: '#/components/schemas/team_previews_schemas_ArtifactSchema'
        created_at:
          type: string
          format: date-time
        expires_at:
          type: string
          format: date-time
        deleted_at:
          oneOf:
          - type: string
            format: date-time
          - type: 'null'
      type: object
      required:
      - app
      - artifact
      - build
      - created_at
      - expires_at
      - id
      - streaming_public_key
      title: AppPreviewSchema
    ExtraSchema:
      properties:
        limit:
          type: integer
      type: object
      required:
      - limit
      title: ExtraSchema
  securitySchemes:
    api_key:
      type: apiKey
      name: x-auth-token
      in: header