> ## Documentation Index
> Fetch the complete documentation index at: https://assembly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve an app's operations

> Returns one app the caller may call with the operations the platform proxy serves for it: method, path and the label from its API description. Retrieve the app's contract for each operation's description, inputs and outputs. A workspace member also sees the operations the app's API registry declares, each with its description and input fields.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/apps/{appId}
openapi: 3.0.0
info:
  contact: {}
  title: Assembly API
  version: 0.0.1
servers:
  - url: https://api.assembly.com
security: []
paths:
  /v1/apps/{appId}:
    get:
      tags:
        - Apps
      summary: Retrieve an app's operations
      description: >-
        Returns one app the caller may call with the operations the platform
        proxy serves for it: method, path and the label from its API
        description. Retrieve the app's contract for each operation's
        description, inputs and outputs. A workspace member also sees the
        operations the app's API registry declares, each with its description
        and input fields.
      operationId: retrieve-app
      parameters:
        - description: The app's id
          in: path
          name: appId
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apps.AppDetail'
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: Missing or invalid credential
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: The credential is not an app's
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: app_not_found
      security:
        - APIKeyHeader: []
components:
  schemas:
    apps.AppDetail:
      properties:
        appId:
          example: 9f1c2d3e-4b5a-6789-0abc-def012345678
          type: string
        contractHash:
          example: 3b1f0c9e2a7d4b6f8e5c1a0d9b7f6e4c3a2b1d0e9f8c7b6a5d4e3f2a1b0c9d8e
          type: string
        name:
          example: Inventory
          type: string
        operations:
          description: Operations is empty for an app that has not published any.
          items:
            $ref: '#/components/schemas/apps.AppOperation'
          type: array
      type: object
    dispatcher.Error:
      properties:
        code:
          type: string
        data: {}
        message:
          type: string
      type: object
    apps.AppOperation:
      properties:
        description:
          description: |-
            Description is what the app's API registry says the operation does.
            Empty for an operation from the route scan.
          example: Start a timer
          type: string
        input:
          description: |-
            Input lists the request body fields the app's API registry declares.
            Empty for an operation from the route scan.
          items:
            $ref: '#/components/schemas/marketplace_application.RecordFieldDto'
          type: array
        method:
          description: >-
            Method is the HTTP method, or ANY for a handler that accepts every
            method.
          example: GET
          type: string
        operationId:
          description: >-
            OperationID is the label the app's API description gives this
            operation.

            Empty when the description does not cover it.
          example: getProject
          type: string
        origin:
          description: >-
            Origin is "scan" for a route found by the route scan alone,

            "scan+contract" when the app's API description also covers it, or

            "registry" for an operation only the app's API registry declares,
            which

            only a workspace member's token lists.
          example: scan+contract
          type: string
        path:
          description: Path is the route template under the app's /api mount.
          example: /projects/{projectId}
          type: string
      type: object
    marketplace_application.RecordFieldDto:
      properties:
        description:
          type: string
        fieldName:
          type: string
        fieldType:
          type: string
        isDate:
          type: boolean
        label:
          type: string
        optional:
          type: boolean
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-KEY
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.