# Sutro ## Docs - [Add an action to the application](https://docs.withsutro.com/api-reference/actions-effects/add-an-action-to-the-application.md) - [Get a list of Actions from an application](https://docs.withsutro.com/api-reference/actions-effects/get-a-list-of-actions-from-an-application.md) - [Get Action Effects](https://docs.withsutro.com/api-reference/actions-effects/get-action-effects.md) - [Get an action from the Application](https://docs.withsutro.com/api-reference/actions-effects/get-an-action-from-the-application.md) - [Get an effect from an Action in the Application](https://docs.withsutro.com/api-reference/actions-effects/get-an-effect-from-an-action-in-the-application.md) - [Modify Action Effects](https://docs.withsutro.com/api-reference/actions-effects/modify-action-effects.md) - [Remove an action from the Application](https://docs.withsutro.com/api-reference/actions-effects/remove-an-action-from-the-application.md) - [Remove an effect from an Action in the Application](https://docs.withsutro.com/api-reference/actions-effects/remove-an-effect-from-an-action-in-the-application.md) - [Update an action in the Application](https://docs.withsutro.com/api-reference/actions-effects/update-an-action-in-the-application.md) - [Update an Effect in an Action](https://docs.withsutro.com/api-reference/actions-effects/update-an-effect-in-an-action.md) - [Delete a message](https://docs.withsutro.com/api-reference/ai-assistant/delete-a-message.md): Soft deletes a message by setting its deleted_at timestamp - [Get a specific message](https://docs.withsutro.com/api-reference/ai-assistant/get-a-specific-message.md) - [Get all messages for a project](https://docs.withsutro.com/api-reference/ai-assistant/get-all-messages-for-a-project.md) - [Send a message to the assistant](https://docs.withsutro.com/api-reference/ai-assistant/send-a-message-to-the-assistant.md): Sends a user message to the assistant, which will process it asynchronously and may trigger changes to the application. The user message is stored in the conversation history. The response includes a job ID for tracking the processing status. The components that can be modified (frontend, backend, o… - [Create a new API Client](https://docs.withsutro.com/api-reference/api_clients/create-a-new-api-client.md) - [Delete an API Client](https://docs.withsutro.com/api-reference/api_clients/delete-an-api-client.md) - [Get a list of API Clients](https://docs.withsutro.com/api-reference/api_clients/get-a-list-of-api-clients.md): Returns a list of all of the API Clients defined for a Customer - [Get an API Client](https://docs.withsutro.com/api-reference/api_clients/get-an-api-client.md) - [Remove the mTLS certificate from an API Client](https://docs.withsutro.com/api-reference/api_clients/remove-the-mtls-certificate-from-an-api-client.md) - [Set the mTLS certificate for an API Client](https://docs.withsutro.com/api-reference/api_clients/set-the-mtls-certificate-for-an-api-client.md) - [Create a new application](https://docs.withsutro.com/api-reference/applications/create-a-new-application.md) - [Create a new version of this Application.](https://docs.withsutro.com/api-reference/applications/create-a-new-version-of-this-application.md): This approach generates a new version based on the previous version - [Edit an application using natural language](https://docs.withsutro.com/api-reference/applications/edit-an-application-using-natural-language.md) - [Generate Application](https://docs.withsutro.com/api-reference/applications/generate-application.md): 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. - [Get an application by ID](https://docs.withsutro.com/api-reference/applications/get-an-application-by-id.md) - [Get CORS configuration](https://docs.withsutro.com/api-reference/applications/get-cors-configuration.md): Returns the current CORS configuration for the application's backend API. - [Get information about a specific version of an application](https://docs.withsutro.com/api-reference/applications/get-information-about-a-specific-version-of-an-application.md) - [Get the OpenAPI spec for an application](https://docs.withsutro.com/api-reference/applications/get-the-openapi-spec-for-an-application.md) - [Gets the current status of the Application](https://docs.withsutro.com/api-reference/applications/gets-the-current-status-of-the-application.md) - [List application versions](https://docs.withsutro.com/api-reference/applications/list-application-versions.md) - [List applications for a project](https://docs.withsutro.com/api-reference/applications/list-applications-for-a-project.md) - [List applications for the authenticated customer](https://docs.withsutro.com/api-reference/applications/list-applications-for-the-authenticated-customer.md) - [Publish an application](https://docs.withsutro.com/api-reference/applications/publish-an-application.md) - [Unpublish an application](https://docs.withsutro.com/api-reference/applications/unpublish-an-application.md) - [Update an application through SLang](https://docs.withsutro.com/api-reference/applications/update-an-application-through-slang.md): Compiles SLang into SCode and updates the application. - [Update an application's SCode](https://docs.withsutro.com/api-reference/applications/update-an-applications-scode.md): Accepts a JSON SCode object only. - [Update CORS configuration](https://docs.withsutro.com/api-reference/applications/update-cors-configuration.md): Updates the CORS configuration for the application's backend API. This is required when self-hosting the frontend to allow cross-origin requests. - [Attach a file](https://docs.withsutro.com/api-reference/attachments/attach-a-file.md) - [Get an attachment by ID](https://docs.withsutro.com/api-reference/attachments/get-an-attachment-by-id.md) - [List Application's Attachments](https://docs.withsutro.com/api-reference/attachments/list-applications-attachments.md) - [Remove an attachment from a Project](https://docs.withsutro.com/api-reference/attachments/remove-an-attachment-from-a-project.md) - [Add a new Builder user](https://docs.withsutro.com/api-reference/builders/add-a-new-builder-user.md) - [Create a new builder](https://docs.withsutro.com/api-reference/builders/create-a-new-builder.md) - [Delete a builder](https://docs.withsutro.com/api-reference/builders/delete-a-builder.md) - [Get a builder by ID](https://docs.withsutro.com/api-reference/builders/get-a-builder-by-id.md) - [Get a list of Builder users](https://docs.withsutro.com/api-reference/builders/get-a-list-of-builder-users.md): Returns a list of all of the Builder users defined for a Customer - [Get info about a Builder](https://docs.withsutro.com/api-reference/builders/get-info-about-a-builder.md) - [List all builders for the authenticated customer](https://docs.withsutro.com/api-reference/builders/list-all-builders-for-the-authenticated-customer.md) - [Remove a Builder from the system](https://docs.withsutro.com/api-reference/builders/remove-a-builder-from-the-system.md) - [Add a new certificate](https://docs.withsutro.com/api-reference/certificates/add-a-new-certificate.md) - [Add an accepted token issuer](https://docs.withsutro.com/api-reference/certificates/add-an-accepted-token-issuer.md) - [Batch unassign JWT issuers from a certificate](https://docs.withsutro.com/api-reference/certificates/batch-unassign-jwt-issuers-from-a-certificate.md): Unassigns multiple JWT issuers from a certificate in a single batch operation. Validates that all issuer IDs exist and belong to the customer before performing unassignment. Only unassigns issuers that currently have this specific certificate assigned. - [Delete a Certificate](https://docs.withsutro.com/api-reference/certificates/delete-a-certificate.md): Deletes a certificate and automatically unassigns it from any API clients and JWT issuers. This is a soft delete operation. - [Download the Sutro root CA certificate](https://docs.withsutro.com/api-reference/certificates/download-the-sutro-root-ca-certificate.md): Downloads the PEM-encoded Sutro root CA certificate. This certificate can be used to verify certificates issued by Sutro. - [Get a Certificate's details](https://docs.withsutro.com/api-reference/certificates/get-a-certificates-details.md) - [Get a list of current Certificates](https://docs.withsutro.com/api-reference/certificates/get-a-list-of-current-certificates.md) - [Get the list of accepted token issuers](https://docs.withsutro.com/api-reference/certificates/get-the-list-of-accepted-token-issuers.md) - [Remove an accepted token issuer](https://docs.withsutro.com/api-reference/certificates/remove-an-accepted-token-issuer.md) - [Request a certificate](https://docs.withsutro.com/api-reference/certificates/request-a-certificate.md) - [Set the Certificate used for verifying tokens from the Customer](https://docs.withsutro.com/api-reference/certificates/set-the-certificate-used-for-verifying-tokens-from-the-customer.md) - [Perform initial setup of platform for your organization](https://docs.withsutro.com/api-reference/configuration/perform-initial-setup-of-platform-for-your-organization.md) - [Add a field to a model in the Application](https://docs.withsutro.com/api-reference/data-models/add-a-field-to-a-model-in-the-application.md) - [Add a model to the application](https://docs.withsutro.com/api-reference/data-models/add-a-model-to-the-application.md) - [Get a model from the Application](https://docs.withsutro.com/api-reference/data-models/get-a-model-from-the-application.md) - [Get all models for an application](https://docs.withsutro.com/api-reference/data-models/get-all-models-for-an-application.md) - [Join two models with a bidirectional relationship](https://docs.withsutro.com/api-reference/data-models/join-two-models-with-a-bidirectional-relationship.md): Creates a bidirectional relationship between two models in the application. The relationship type (one-to-one, one-to-many, or many-to-many) determines how records in the two models are associated. - [Remove a field from a model in the Application](https://docs.withsutro.com/api-reference/data-models/remove-a-field-from-a-model-in-the-application.md) - [Remove a model from the Application](https://docs.withsutro.com/api-reference/data-models/remove-a-model-from-the-application.md) - [Update a field in a model in the Application](https://docs.withsutro.com/api-reference/data-models/update-a-field-in-a-model-in-the-application.md) - [Update a model in the Application](https://docs.withsutro.com/api-reference/data-models/update-a-model-in-the-application.md) - [Download frontend bundle](https://docs.withsutro.com/api-reference/deployments-assets/download-frontend-bundle.md): Downloads a static zip bundle containing the built frontend assets. - [Add a Members domain](https://docs.withsutro.com/api-reference/domains/add-a-members-domain.md) - [Get a list of the currently registered domains](https://docs.withsutro.com/api-reference/domains/get-a-list-of-the-currently-registered-domains.md) - [Get details about a Members domain](https://docs.withsutro.com/api-reference/domains/get-details-about-a-members-domain.md) - [Remove a Members domain](https://docs.withsutro.com/api-reference/domains/remove-a-members-domain.md) - [Download web bundle (static files) for an application](https://docs.withsutro.com/api-reference/figma-integration/download-web-bundle-static-files-for-an-application.md): Downloads a zip bundle containing all Figma-generated static files (HTML, CSS, images, etc.) for this application. This endpoint returns 200 with the zip file when the application status is Active, or 404 if the generation has not completed yet. Check GET /applications/{applicationId}/status to moni… - [Generate static code from a Figma frame for an application](https://docs.withsutro.com/api-reference/figma-integration/generate-static-code-from-a-figma-frame-for-an-application.md): Enqueues a job to generate static HTML/CSS code from a Figma frame for this application. This is an async operation - use GET /applications/{applicationId}/status to check the generation status, and GET /applications/{applicationId}/webBundle to download the result when ready. - [Get Figma file structure (pages and frames) for an application](https://docs.withsutro.com/api-reference/figma-integration/get-figma-file-structure-pages-and-frames-for-an-application.md): Retrieves the structure of a Figma file including all pages and frames. Useful for letting users select which frame to generate code from. - [Get a list of Members](https://docs.withsutro.com/api-reference/members/get-a-list-of-members.md): Returns a list of all of the Members defined for a Customer - [Remove an invitation to a Member](https://docs.withsutro.com/api-reference/members/remove-an-invitation-to-a-member.md) - [Resend an invitation to a Member](https://docs.withsutro.com/api-reference/members/resend-an-invitation-to-a-member.md) - [Returns details of a single Member](https://docs.withsutro.com/api-reference/members/returns-details-of-a-single-member.md) - [Send a password reset email](https://docs.withsutro.com/api-reference/members/send-a-password-reset-email.md) - [Send a password reset email](https://docs.withsutro.com/api-reference/members/send-a-password-reset-email-1.md) - [Send a password reset email](https://docs.withsutro.com/api-reference/members/send-a-password-reset-email-2.md) - [Send an invitation to a Member](https://docs.withsutro.com/api-reference/members/send-an-invitation-to-a-member.md): Send an invitation email to a new Member. - [Test API connectivity](https://docs.withsutro.com/api-reference/onboarding/test-api-connectivity.md): Test endpoint to verify API connection and display builder info. Requires authentication but no specific permission. - [Add a member to a project](https://docs.withsutro.com/api-reference/projects/add-a-member-to-a-project.md) - [Create a new project](https://docs.withsutro.com/api-reference/projects/create-a-new-project.md) - [Delete a project](https://docs.withsutro.com/api-reference/projects/delete-a-project.md) - [Get a list of projects](https://docs.withsutro.com/api-reference/projects/get-a-list-of-projects.md) - [Get a list of projects with member counts](https://docs.withsutro.com/api-reference/projects/get-a-list-of-projects-with-member-counts.md) - [Get details about a specific project](https://docs.withsutro.com/api-reference/projects/get-details-about-a-specific-project.md) - [Get members of a project](https://docs.withsutro.com/api-reference/projects/get-members-of-a-project.md) - [Remove a member from a project](https://docs.withsutro.com/api-reference/projects/remove-a-member-from-a-project.md) - [Update a project's name](https://docs.withsutro.com/api-reference/projects/update-a-projects-name.md) - [Add a secret to the application](https://docs.withsutro.com/api-reference/secrets-configuration/add-a-secret-to-the-application.md) - [List secrets in the application](https://docs.withsutro.com/api-reference/secrets-configuration/list-secrets-in-the-application.md) - [Remove a secret from the Application](https://docs.withsutro.com/api-reference/secrets-configuration/remove-a-secret-from-the-application.md) - [Update a secret in the Application](https://docs.withsutro.com/api-reference/secrets-configuration/update-a-secret-in-the-application.md) - [Check if a file exists](https://docs.withsutro.com/api-reference/storage/check-if-a-file-exists.md): Check whether a stored file exists by its ID. - [Download a file](https://docs.withsutro.com/api-reference/storage/download-a-file.md): Download a stored file by its ID. Returns the file as a binary stream with Content-Type, Content-Disposition, and Content-Length headers. - [Get file metadata](https://docs.withsutro.com/api-reference/storage/get-file-metadata.md): Retrieve metadata for a stored file without downloading it. - [Upload a file](https://docs.withsutro.com/api-reference/storage/upload-a-file.md): Upload a file to object storage. The file is associated with the authenticated customer and can optionally be linked to a builder. - [Add a trigger to the application](https://docs.withsutro.com/api-reference/triggers/add-a-trigger-to-the-application.md): Adds a Trigger mapping to the Application. - [Get a trigger from the Application](https://docs.withsutro.com/api-reference/triggers/get-a-trigger-from-the-application.md) - [List triggers in the application](https://docs.withsutro.com/api-reference/triggers/list-triggers-in-the-application.md) - [Remove a trigger from the Application](https://docs.withsutro.com/api-reference/triggers/remove-a-trigger-from-the-application.md) - [Update a trigger in the Application](https://docs.withsutro.com/api-reference/triggers/update-a-trigger-in-the-application.md): Updates a trigger in the Application. Accepts a partial TriggerMapping object. - [Data models](https://docs.withsutro.com/docs/SLang/data-modeling.md): Defining your database schema with Entities and Relations. - [Introduction to SLang](https://docs.withsutro.com/docs/SLang/introduction.md): The programming language for defining Sutro backends. - [Logic & Actions](https://docs.withsutro.com/docs/SLang/logic.md): Writing business logic with Actions. - [Security & Auth](https://docs.withsutro.com/docs/SLang/security.md): Role-Based Access Control (RBAC) and Permissions. - [Sutro Generated App Security](https://docs.withsutro.com/docs/SLang/sutro-generated-app-security.md): How an SGA models security - [API & Triggers](https://docs.withsutro.com/docs/SLang/triggers.md): Exposing Actions via HTTP and Queues. - [Prompt to backend overview](https://docs.withsutro.com/docs/backend/overview.md): Generate, host and edit production-ready backends - [How-to: Prompt to backend](https://docs.withsutro.com/docs/backend/prompt-to-backend.md): Generate a backend API server using an LLM prompt - [Prompt to frontend overview](https://docs.withsutro.com/docs/frontend/overview.md): Generate, customize and publish production-ready web frontends - [How-to: Prompt to frontend](https://docs.withsutro.com/docs/frontend/prompt-to-frontend.md): Use prompts to modify and iterate on your frontend using natural language - [Introduction to the API](https://docs.withsutro.com/docs/getting-started/api.md): Learn about the Sutro API, authentication, requests, responses, and errors - [Builders](https://docs.withsutro.com/docs/getting-started/auth/builders.md): Configuring the system for Builders - [How to secure connections](https://docs.withsutro.com/docs/getting-started/auth/how-to-secure-connections.md): Authenticate as an organization member, initialize signing keys, create a Builder, and generate a Builder JWT to call the Frontend API. - [JSON Web Tokens (JWTs)](https://docs.withsutro.com/docs/getting-started/auth/jwts.md): Understanding how JWTs work in Sutro's authentication system - [Managing organization members](https://docs.withsutro.com/docs/getting-started/auth/members.md): How to invite, approve, and manage members in your Sutro organization. - [Mutual TLS (mTLS)](https://docs.withsutro.com/docs/getting-started/auth/mutual-tls.md): Understanding how mTLS works in Sutro's authentication system - [Authentication overview](https://docs.withsutro.com/docs/getting-started/auth/overview.md): Understand how Sutro authenticates Members and Builders using JWTs and mTLS, and learn how API requests are validated - [How-to: Prompt to full-stack](https://docs.withsutro.com/docs/getting-started/building-full-stack-apps.md): How to generate and publish a full-stack app from a prompt. - [Prompt to full-stack overview](https://docs.withsutro.com/docs/getting-started/prompt-to-full-stack-overview.md): Generate and publish complete full-stack applications from a single prompt - [Requests, responses & errors](https://docs.withsutro.com/docs/getting-started/requests-responses-errors.md): Request format, response handling, and error codes for the Sutro API. - [Quickstart](https://docs.withsutro.com/docs/getting-started/slang-quickstart.md): Get started with Sutro by creating your first backend using Studio or SLang - [Sutro Studio](https://docs.withsutro.com/docs/getting-started/studio.md): Use Sutro Studio to create and edit your backend in minutes - [Sutro Console](https://docs.withsutro.com/docs/getting-started/sutro-console.md): Access and manage your Sutro projects, applications, and resources through the web console - [Welcome to Sutro](https://docs.withsutro.com/docs/getting-started/welcome.md): An introduction to Sutro and its use cases - [How-to: Figma to code](https://docs.withsutro.com/docs/planning/figma-to-code.md): How to turn Figma files into static HTML and CSS bundles. - [Figma to code overview](https://docs.withsutro.com/docs/planning/figma-to-code-overview.md): Convert Figma designs into static HTML and CSS bundles ## OpenAPI Specs - [openapi](https://docs.withsutro.com/openapi.yaml) - [example](https://docs.withsutro.com/example.yaml) - [uapi](https://docs.withsutro.com/uapi.yaml)