> ## 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 API description

> Returns the OpenAPI document the app published. The ETag is the contractHash from the apps list; send it back in If-None-Match to get a 304 when it has not changed.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/apps/{appId}/contract
openapi: 3.0.0
info:
  contact: {}
  title: Assembly API
  version: 0.0.1
servers:
  - url: https://api.assembly.com
security: []
paths:
  /v1/apps/{appId}/contract:
    get:
      tags:
        - Apps
      summary: Retrieve an app's API description
      description: >-
        Returns the OpenAPI document the app published. The ETag is the
        contractHash from the apps list; send it back in If-None-Match to get a
        304 when it has not changed.
      operationId: retrieve-app-contract
      parameters:
        - description: The app's id
          in: path
          name: appId
          required: true
          schema:
            type: string
        - description: ETag of a copy the caller already holds
          in: header
          name: If-None-Match
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
          description: OK
        '304':
          description: The description has not changed
        '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 or contract_not_found
      security:
        - APIKeyHeader: []
components:
  schemas:
    dispatcher.Error:
      properties:
        code:
          type: string
        data: {}
        message:
          type: string
      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.