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

# Commit Project Files

> Write and delete files in one commit on the default branch; the push deploys to dev.

For agents with no git, such as Claude or ChatGPT chat. Send each file's full new text.



## OpenAPI

````yaml https://api.getfloo.com/openapi.json post /v1/projects/{app_id}/commits
openapi: 3.1.0
info:
  title: floo API
  version: 0.1.0
servers:
  - url: https://api.getfloo.com
security: []
paths:
  /v1/projects/{app_id}/commits:
    post:
      tags:
        - projects
      summary: Commit Project Files
      description: >-
        Write and delete files in one commit on the default branch; the push
        deploys to dev.


        For agents with no git, such as Claude or ChatGPT chat. Send each file's
        full new text.
      operationId: projects_commit_project_files
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: App Id
        - $ref: '#/components/parameters/X-Floo-Org-Id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommitRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitResult'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  parameters:
    X-Floo-Org-Id:
      name: X-Floo-Org-Id
      in: header
      required: false
      schema:
        type: string
        format: uuid
      description: Organization to act in; defaults to the one joined most recently.
  schemas:
    CommitRequest:
      properties:
        message:
          type: string
          maxLength: 2000
          minLength: 1
          title: Message
        files:
          items:
            $ref: '#/components/schemas/FileWrite'
          type: array
          maxItems: 100
          title: Files
        delete:
          items:
            type: string
          type: array
          maxItems: 100
          title: Delete
        base_sha:
          anyOf:
            - type: string
              pattern: ^[0-9a-f]{40}$
            - type: 'null'
          title: Base Sha
          description: >-
            Commit the files were read at; refused if the branch has moved
            since.
      type: object
      required:
        - message
      title: CommitRequest
      description: >-
        Every write and delete lands in one commit, so the app never deploys
        half a change.
    CommitResult:
      properties:
        commit_sha:
          type: string
          title: Commit Sha
        next_step:
          type: string
          title: Next Step
      type: object
      required:
        - commit_sha
        - next_step
      title: CommitResult
      description: The new head commit; the push it makes starts the dev deploy.
    ErrorResponse:
      properties:
        detail:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
        - detail
      title: ErrorResponse
      description: Body of every error response except request validation (422).
    FileWrite:
      properties:
        path:
          type: string
          title: Path
        content:
          type: string
          title: Content
      type: object
      required:
        - path
        - content
      title: FileWrite
      description: One file's full new text.
    ErrorDetail:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
      additionalProperties: true
      type: object
      required:
        - code
        - message
      title: ErrorDetail
      description: Standard error envelope with operation-specific JSON context.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A `floo_` API key.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.