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

# Generate Application

> Generates the application code for the specified application. The components generated (frontend, backend, or both)
are determined by the project's components configuration set at project creation. This cannot be overridden.
The application must already exist before calling this endpoint.




## OpenAPI

````yaml /openapi.yaml post /applications/{applicationId}/generate
openapi: 3.1.0
info:
  version: 0.0.5
  title: Sutro Public API
  description: >-
    The API through which apps can be generated, deployed, monitored and
    updated.
servers:
  - description: Production
    url: https://sapi.withsutro.com
security:
  - apiAuth: []
    builderAuth: []
    apiClientId: []
tags:
  - name: projects
    description: >
      Create and manage projects. Projects are the top-level container for all
      Sutro resources including applications,

      specifications, and team collaboration.
  - name: specifications
    description: >
      Generate and retrieve application specifications from attachments using
      AI. Specifications describe the data models,

      actions, and UI structure for your application.
  - name: applications
    description: >
      Generate applications, manage versions, and configure core settings.
      Applications are the executable implementations

      of your specifications.
  - name: attachments
    description: >
      Upload, manage, and delete file attachments for applications. Attachments
      can include Figma files,

      documents, and other assets used in application generation.
  - name: data-models
    description: >
      Define and manage data models and their fields. Models represent the
      entities in your application

      (e.g., Users, Products, Orders) and their properties.
  - name: actions-effects
    description: >
      Actions are things that your application can do, and an action is made up
      of effects.
  - name: triggers
    description: >
      Configure triggers that start workflows automatically based on events like
      schedules, webhooks, or data changes.
  - name: figma-integration
    description: >
      Import Figma designs and generate static code from frames. Connect your
      Figma files to automatically

      generate UI components.
  - name: deployments-assets
    description: >
      Deploy application versions and download generated code bundles. Manage
      your application releases

      and access generated artifacts.
  - name: secrets-configuration
    description: >
      Manage application secrets and environment variables securely. Secrets are
      encrypted and injected

      into your application at runtime.
  - name: ai-assistant
    description: >
      Assistant endpoints for making changes to an application using natural
      language.

      Messages are stored per project to maintain conversation history.
  - name: builders
    description: >
      Create and manage builders. Builders are end users or clients who build
      and run apps

      that integrate with Sutro.
  - name: storage
    description: >
      Upload, download, and manage files in object storage. Files are scoped to
      the authenticated

      customer and can optionally be associated with a builder.
paths:
  /applications/{applicationId}/generate:
    parameters:
      - name: applicationId
        in: path
        schema:
          type: string
          format: uuid
        required: true
    post:
      tags:
        - applications
      summary: Generate Application
      description: >
        Generates the application code for the specified application. The
        components generated (frontend, backend, or both)

        are determined by the project's components configuration set at project
        creation. This cannot be overridden.

        The application must already exist before calling this endpoint.
      operationId: generateApplication
      responses:
        '200':
          description: Application generation job enqueued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '404':
          description: Application not found
components:
  schemas:
    Job:
      type: object
      required:
        - id
        - implementationJobId
        - jobType
        - status
        - customerId
        - projectId
      properties:
        id:
          type: string
          format: uuid
          description: The job ID
        implementationJobId:
          type: string
          description: The implementation job ID
        jobType:
          type: string
          enum:
            - figma_code_generation
            - application_generation
            - follow_up_change
            - slang_edit
            - test
          description: The type of job
        status:
          type: string
          enum:
            - queued
            - active
            - completed
            - failed
            - cancelled
          description: The current status of the job
        customerId:
          type: string
          format: uuid
          description: The customer ID
        projectId:
          type: string
          format: uuid
          description: The project ID
        metadata:
          type: object
          description: Job-specific metadata (structure depends on jobType)
        errorMessage:
          oneOf:
            - type: string
            - type: 'null'
          description: Error message if the job failed
        errorStack:
          oneOf:
            - type: string
            - type: 'null'
          description: Error stack trace if the job failed
        startedAt:
          oneOf:
            - type: string
            - type: 'null'
          description: When the job started
        completedAt:
          oneOf:
            - type: string
            - type: 'null'
          description: When the job completed
  securitySchemes:
    apiAuth:
      description: >-
        Mutual TLS authentication using client certificates. Requires three
        certificate files from your security bundle: `ca.crt` (CA certificate to
        verify the server), `mtls.key` (client private key), and `mtls.crt`
        (client certificate). In curl, use: `--cacert ca.crt --key mtls.key
        --cert mtls.crt`
      type: mutualTLS
    builderAuth:
      description: Builder authentication and authorization
      type: http
      scheme: bearer
      bearerFormat: jwt
    apiClientId:
      description: A unique identifier for the API Client making a request
      type: apiKey
      in: header
      name: x-sutro-api-client

````