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

# Upload an Automation ZIP

> Uploads a ZIP source artifact for a later Automation create or redeploy request. Uploads expire one hour after creation and are scoped to the authenticated service account organization.



## OpenAPI

````yaml /openapi/platform-v1.yaml post /api/v1/automation-uploads
openapi: 3.0.1
info:
  title: CrewAI Platform API
  version: v1
  description: Supported public API for CrewAI Platform.
servers:
  - url: https://app.crewai.com
    description: Current CrewAI Platform host
security:
  - bearerAuth: []
tags:
  - name: Users
    description: Users in the organization.
  - name: Status
    description: Platform health and API availability.
  - name: Automations
    description: Automations and their source artifacts.
paths:
  /api/v1/automation-uploads:
    post:
      tags:
        - Automations
      summary: Upload an Automation ZIP
      description: >-
        Uploads a ZIP source artifact for a later Automation create or redeploy
        request. Uploads expire one hour after creation and are scoped to the
        authenticated service account organization.
      operationId: createAutomationUpload
      parameters: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: string
              format: binary
              description: ZIP source artifact no larger than 50 MB.
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              examples:
                created:
                  value:
                    data:
                      id: 4f6d0d9a-7b78-4c6a-b64f-2e2e3d2c8f9a
                      filename: customer-support.zip
                      byte_size: 1024
                      expires_at: '2026-07-24T13:00:00Z'
                      created_at: '2026-07-07T00:00:00Z'
                      updated_at: '2026-07-07T00:00:00Z'
                  summary: Automation upload created
              schema:
                type: object
                required:
                  - data
                additionalProperties: false
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - filename
                      - byte_size
                      - expires_at
                      - created_at
                      - updated_at
                    additionalProperties: false
                    properties:
                      id:
                        type: string
                        format: uuid
                        example: 4f6d0d9a-7b78-4c6a-b64f-2e2e3d2c8f9a
                      filename:
                        type: string
                        example: customer-support.zip
                      byte_size:
                        type: integer
                        example: 1024
                      expires_at:
                        type: string
                        format: date-time
                        example: '2026-07-07T00:00:00Z'
                      created_at:
                        type: string
                        format: date-time
                        example: '2026-07-07T00:00:00Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2026-07-07T00:00:00Z'
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                missing_file:
                  value:
                    errors:
                      - type: >-
                          https://docs-platform.crewai.com/api/problems/bad_request
                        code: bad_request
                        title: Bad request
                        status: 400
                        detail: The request is invalid.
                  summary: Missing file
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Unauthorized
          content:
            application/json:
              examples:
                unauthorized:
                  value:
                    errors:
                      - type: >-
                          https://docs-platform.crewai.com/api/problems/unauthorized
                        code: unauthorized
                        title: Unauthorized
                        status: 401
                        detail: Missing or invalid bearer token.
                  summary: Missing or invalid bearer token
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '403':
          description: Forbidden
          content:
            application/json:
              examples:
                zip_deployments_disabled:
                  value:
                    errors:
                      - type: >-
                          https://docs-platform.crewai.com/api/problems/forbidden
                        code: forbidden
                        title: Forbidden
                        status: 403
                        detail: Zip deployments are not enabled for your organization.
                  summary: ZIP deployments disabled
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              examples:
                invalid_file:
                  value:
                    errors:
                      - type: >-
                          https://docs-platform.crewai.com/api/problems/validation_error
                        code: validation_error
                        title: Validation error
                        status: 422
                        detail: File has an invalid content type
                  summary: Invalid file type
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
components:
  schemas:
    ErrorEnvelope:
      type: object
      required:
        - errors
      additionalProperties: false
      properties:
        errors:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Error'
    Error:
      type: object
      description: Public API error object.
      required:
        - type
        - code
        - title
        - status
        - detail
      additionalProperties: false
      properties:
        type:
          type: string
          format: uri
          enum:
            - https://docs-platform.crewai.com/api/problems/bad_request
            - https://docs-platform.crewai.com/api/problems/conflict
            - https://docs-platform.crewai.com/api/problems/forbidden
            - https://docs-platform.crewai.com/api/problems/internal_error
            - https://docs-platform.crewai.com/api/problems/not_found
            - https://docs-platform.crewai.com/api/problems/unauthorized
            - https://docs-platform.crewai.com/api/problems/validation_error
          example: https://docs-platform.crewai.com/api/problems/bad_request
        code:
          type: string
          enum:
            - bad_request
            - conflict
            - forbidden
            - internal_error
            - not_found
            - unauthorized
            - validation_error
          example: bad_request
        title:
          type: string
          enum:
            - Bad request
            - Conflict
            - Forbidden
            - Internal error
            - Not found
            - Unauthorized
            - Validation error
          example: Bad request
        status:
          type: integer
          enum:
            - 400
            - 401
            - 403
            - 404
            - 409
            - 422
            - 500
          example: 400
        detail:
          type: string
          example: The request is invalid.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: opaque

````