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

# Get remix requirements

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns what you need to know before you [remix an app](/api-reference/remix-an-app): its name and type, the secrets it uses, the ones the remix copies for you, and whether you can remix it with its chat history. The app must be in the workspace your personal access token is scoped to.

A successful response means you pass the remix permission checks on the app. The remix itself can still be refused, when the app's `app_type` can't be remixed, when your role or plan doesn't let you create another app in the workspace, or when the app is a `user_agent` app and Superagent is disabled in the workspace. Read-only tokens are refused here too, even though this endpoint doesn't change anything.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/remix/requirements
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/remix/requirements:
    get:
      summary: Get remix requirements
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns what you need to know before you [remix an
        app](/api-reference/remix-an-app): its name and type, the secrets it
        uses, the ones the remix copies for you, and whether you can remix it
        with its chat history. The app must be in the workspace your personal
        access token is scoped to.


        A successful response means you pass the remix permission checks on the
        app. The remix itself can still be refused, when the app's `app_type`
        can't be remixed, when your role or plan doesn't let you create another
        app in the workspace, or when the app is a `user_agent` app and
        Superagent is disabled in the workspace. Read-only tokens are refused
        here too, even though this endpoint doesn't change anything.
      operationId: remix_app_requirements_api_apps__app_id__remix_requirements_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app to remix.
            title: App Id
          description: ID of the app to remix.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: What remixing the app involves.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemixRequirements'
        '400':
          description: You can't remix the app.
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            Your token is read-only, or the app is a paid template you haven't
            bought.
        '404':
          description: >-
            The app doesn't exist, or it is outside the workspace or apps your
            token is scoped to.
components:
  schemas:
    RemixRequirements:
      properties:
        name:
          type: string
          title: Name
          description: >-
            Display name of the app. The remix is named after it with ` (Copy)`
            appended, except for an approved template, where it takes the name
            of the approved version.
          example: My CRM
        app_type:
          type: string
          title: App Type
          description: >-
            Type of the app. Only `slide`, `user_agent`, `user_app`, `user_game`
            apps can be remixed.
          example: user_app
        user_description:
          anyOf:
            - type: string
            - type: 'null'
          title: User Description
          description: Description of the app, or `null` if none was set.
          example: A CRM to track leads and deals
        requires_backend_functions:
          type: boolean
          title: Requires Backend Functions
          description: >-
            Whether the app has deployed backend functions, which the remix
            copies.
          example: false
        app_secret_names:
          items:
            type: string
          type: array
          title: App Secret Names
          description: >-
            Names of the secrets set on the app. The remix doesn't copy their
            values, except the ones in `shared_secrets`, so pass the rest in
            `secret_values`.
          example:
            - STRIPE_API_KEY
            - OPENAI_API_KEY
        shared_secrets:
          items:
            type: string
          type: array
          title: Shared Secrets
          description: >-
            Names of the secrets the remix copies automatically, values
            included. Only an approved workspace template shares secrets, and
            only with members who can edit in the workspace and aren't the app's
            owner, collaborators, or workspace admins. Empty otherwise.
          example:
            - OPENAI_API_KEY
        is_admin:
          type: boolean
          title: Is Admin
          description: >-
            Whether you are an editor-level collaborator on the app or an admin
            of its workspace. You can set `with_chat_history` when this is
            `true`, and also when you own the app.
          example: false
      type: object
      required:
        - name
        - app_type
        - user_description
        - requires_backend_functions
        - app_secret_names
        - shared_secrets
        - is_admin
      title: RemixRequirements
      description: What remixing an app involves, before you remix it.
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````