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

# Create app

> Create a new hosted app



## OpenAPI

````yaml https://api.getcargo.io/openapi.json post /hosting/apps
openapi: 3.1.0
info:
  title: Cargo API
  version: 1.0.0
  description: Cargo Platform API v1
servers:
  - url: https://api.getcargo.io/v1
    description: Cargo API
security:
  - bearerAuth: []
paths:
  /hosting/apps:
    post:
      tags:
        - Hosting - Apps
      summary: Create app
      description: Create a new hosted app
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  title: Name
                  description: App name.
                slug:
                  type: string
                  title: Slug
                  description: App URL slug.
                folderUuid:
                  title: Folder UUID
                  description: Folder identifier for the app.
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$
                description:
                  title: Description
                  description: App description.
                  type: string
              required:
                - name
                - slug
              additionalProperties: false
              title: Request body
              description: Request body schema.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  app:
                    type: object
                    properties:
                      uuid:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      workspaceUuid:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      name:
                        type: string
                      description:
                        anyOf:
                          - type: string
                          - type: 'null'
                      slug:
                        type: string
                      url:
                        type: string
                      userUuid:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      folderUuid:
                        anyOf:
                          - type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          - type: 'null'
                      promotedDeployment:
                        anyOf:
                          - type: object
                            properties:
                              uuid:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              workspaceUuid:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              sourceS3Path:
                                type: string
                              bundleS3Path:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              status:
                                type: string
                                enum:
                                  - pending
                                  - building
                                  - success
                                  - error
                                  - cancelled
                              buildLogS3Filename:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              errorMessage:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              url:
                                type: string
                              userUuid:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              promotedAt:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              promotedByUserUuid:
                                anyOf:
                                  - type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  - type: 'null'
                              finishedAt:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              temporalWorkflowId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                              kind:
                                type: string
                                const: app
                              appUuid:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              meta:
                                type: object
                                properties: {}
                                additionalProperties: false
                            required:
                              - uuid
                              - workspaceUuid
                              - sourceS3Path
                              - bundleS3Path
                              - status
                              - buildLogS3Filename
                              - errorMessage
                              - url
                              - userUuid
                              - promotedAt
                              - promotedByUserUuid
                              - finishedAt
                              - temporalWorkflowId
                              - createdAt
                              - updatedAt
                              - kind
                              - appUuid
                              - meta
                            additionalProperties: false
                          - type: 'null'
                      chargedUntil:
                        type: string
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                      deletedAt:
                        anyOf:
                          - type: string
                          - type: 'null'
                    required:
                      - uuid
                      - workspaceUuid
                      - name
                      - description
                      - slug
                      - url
                      - userUuid
                      - folderUuid
                      - promotedDeployment
                      - chargedUntil
                      - createdAt
                      - updatedAt
                      - deletedAt
                    additionalProperties: false
                    title: App
                    description: Created app details.
                required:
                  - app
                additionalProperties: false
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '500':
          description: Internal server error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````