> ## 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.

# Publish an application



## OpenAPI

````yaml /openapi.yaml post /applications/{applicationId}/publish
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}/publish:
    parameters:
      - name: applicationId
        in: path
        schema:
          type: string
          format: uuid
        required: true
    post:
      tags:
        - applications
      summary: Publish an application
      operationId: publishApplication
      requestBody:
        $ref: '#/components/requestBodies/PublishApplication'
      responses:
        '200':
          description: Application published successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishApplicationResponse'
        '404':
          description: Application not found
components:
  requestBodies:
    PublishApplication:
      content:
        application/json:
          schema:
            type: object
            properties:
              incrementClientVersion:
                type: boolean
              incrementServerVersion:
                type: boolean
              replacePublishedVersion:
                type: boolean
                default: false
                description: >-
                  When true, unpublishes the previously active server version
                  after the new version is published.
              versionType:
                type: string
                enum:
                  - major
                  - minor
                  - patch
  schemas:
    PublishApplicationResponse:
      type: object
      properties:
        success:
          type: boolean
        serverVersion:
          type: string
          description: The new server version after publishing
        publishedAt:
          type: string
          format: date-time
      required:
        - success
        - serverVersion
        - publishedAt
  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

````