Sweep Projects API

The projects API from Sweep — 17 operation(s) for projects.

Operations 22

POST /projects #
GET /projects #
GET /projects/agent-ids #
GET /projects/by-agent/{agentId} #
POST /projects/{projectId}/duplicate #
GET /projects/{projectId} #
PATCH /projects/{projectId} #
DELETE /projects/{projectId} #
PATCH /projects/{projectId}/prompts/reset #
PATCH /projects/{projectId}/sections/{sectionId}/prompts/reset #
PATCH /projects/{projectId}/prompts/{promptId}/complete #
GET /projects/{projectId}/prompts/{promptId}/chats #
PATCH /projects/{projectId}/sections/reorder #
POST /projects/{projectId}/sections #
PATCH /projects/{projectId}/sections/{sectionId} #
DELETE /projects/{projectId}/sections/{sectionId} #
POST /projects/{projectId}/sections/{sectionId}/items #
PATCH /projects/{projectId}/items/{itemId}/move #
PATCH /projects/{projectId}/items/{itemId} #
DELETE /projects/{projectId}/items/{itemId} #
PATCH /projects/{projectId}/sections/{sectionId}/items/reorder #
POST /projects/{projectId}/memory #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sweep-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sweep-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sweep Projects API
  description: This is a publicly available Sweep API.
  version: '0.1'
  contact: {}
servers:
- url: https://api.sweep.io
  description: Sweep production API — the host this document was harvested from (GET /api-json); /health responds here
tags:
- name: projects
paths:
  /projects:
    post:
      operationId: AiProjectsController_createProject
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiProject'
      security:
      - bearer: []
      tags:
      - projects
    get:
      operationId: AiProjectsController_listProjects
      parameters:
      - name: limit
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      security:
      - bearer: []
      tags:
      - projects
  /projects/agent-ids:
    get:
      operationId: AiProjectsController_listProjectAgentIds
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      security:
      - bearer: []
      tags:
      - projects
  /projects/by-agent/{agentId}:
    get:
      operationId: AiProjectsController_getProjectByAgent
      parameters:
      - name: agentId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiProject'
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/duplicate:
    post:
      operationId: AiProjectsController_duplicateProject
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DuplicateProjectDto'
      responses:
        '201':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}:
    get:
      operationId: AiProjectsController_getProject
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiProject'
      security:
      - bearer: []
      tags:
      - projects
    patch:
      operationId: AiProjectsController_updateProject
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiProject'
      security:
      - bearer: []
      tags:
      - projects
    delete:
      operationId: AiProjectsController_deleteProject
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/prompts/reset:
    patch:
      operationId: AiProjectsController_resetAllPrompts
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/sections/{sectionId}/prompts/reset:
    patch:
      operationId: AiProjectsController_resetSectionPrompts
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: sectionId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/prompts/{promptId}/complete:
    patch:
      operationId: AiProjectsController_completePrompt
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: promptId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/prompts/{promptId}/chats:
    get:
      operationId: AiProjectsController_getPromptHistory
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: promptId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/sections/reorder:
    patch:
      operationId: AiProjectsController_reorderSections
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderSectionsDto'
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/sections:
    post:
      operationId: AiProjectsController_addSection
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddSectionDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiProjectSection'
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/sections/{sectionId}:
    patch:
      operationId: AiProjectsController_updateSection
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: sectionId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSectionDto'
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
    delete:
      operationId: AiProjectsController_deleteSection
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: sectionId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/sections/{sectionId}/items:
    post:
      operationId: AiProjectsController_addSectionItem
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: sectionId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddSectionItemDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiProjectSectionItem'
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/items/{itemId}/move:
    patch:
      operationId: AiProjectsController_moveItem
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: itemId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveItemDto'
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/items/{itemId}:
    patch:
      operationId: AiProjectsController_updateSectionItem
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: itemId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSectionItemDto'
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
    delete:
      operationId: AiProjectsController_deleteSectionItem
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: itemId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/sections/{sectionId}/items/reorder:
    patch:
      operationId: AiProjectsController_reorderItems
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      - name: sectionId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderItemsDto'
      responses:
        '200':
          description: ''
      security:
      - bearer: []
      tags:
      - projects
  /projects/{projectId}/memory:
    post:
      operationId: AiProjectsController_addToMemory
      parameters:
      - name: projectId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddToMemoryDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiProjectSectionItem'
      security:
      - bearer: []
      tags:
      - projects
components:
  schemas:
    BestPractice:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        severity:
          type: object
        text:
          type: string
        isSystem:
          type: boolean
        applicableDomain:
          type: string
          enum:
          - MetadataMonitoring
          - BusinessProcess
        applicableResourceType:
          type: string
        accountId:
          type: string
        account:
          $ref: '#/components/schemas/Account'
        createdById:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        updatedById:
          type: string
        updatedBy:
          $ref: '#/components/schemas/User'
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - severity
      - text
      - isSystem
      - applicableDomain
      - applicableResourceType
      - accountId
      - account
      - createdById
      - createdBy
      - updatedById
      - updatedBy
      - createdAt
      - updatedAt
    SweepFieldReference:
      type: object
      properties:
        fieldIds:
          type: array
          items:
            type: string
        fieldSource:
          type: string
      required:
      - fieldIds
    FunnelDetailsDto:
      type: object
      properties:
        leadingObject:
          $ref: '#/components/schemas/LeadingObjectDto'
        stages:
          type: array
          items:
            $ref: '#/components/schemas/SweepStage'
        _firstStageId:
          type: string
        plugins:
          default: {}
          allOf:
          - $ref: '#/components/schemas/FunnelPluginsDto'
        funnelLinks:
          type: array
          items:
            $ref: '#/components/schemas/FunnelLinkDto'
        stageMetadata:
          type: array
          items:
            type: object
      required:
      - leadingObject
      - stages
      - plugins
    AiAgentBestPractice:
      type: object
      properties:
        aiAgentId:
          type: string
        bestPracticeId:
          type: string
        aiAgent:
          $ref: '#/components/schemas/AiAgent'
        bestPractice:
          $ref: '#/components/schemas/BestPractice'
        createdAt:
          format: date-time
          type: string
      required:
      - aiAgentId
      - bestPracticeId
      - aiAgent
      - bestPractice
      - createdAt
    AddSectionDto:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
          enum:
          - prompts
          - artifacts
          - files
        runMode:
          type: string
          enum:
          - individual
          - queue
      required:
      - name
      - type
      - runMode
    SweepAssignmentRule:
      type: object
      properties:
        assignmentId:
          type: string
        ruleName:
          type: string
        assignedTo:
          type: string
        assignedToType:
          type: string
        criteriaLogic:
          type: string
        criteria:
          type: array
          items:
            type: object
      required:
      - assignmentId
      - ruleName
      - assignedTo
      - assignedToType
      - criteriaLogic
      - criteria
    MoveItemDto:
      type: object
      properties:
        toSectionId:
          type: string
          format: uuid
        newIndex:
          type: number
          minimum: 0
      required:
      - toSectionId
      - newIndex
    User:
      type: object
      properties:
        id:
          type: string
        sub:
          type: string
        email:
          type: string
        account:
          $ref: '#/components/schemas/Account'
        preferences:
          type: object
        name:
          type: string
        emoji:
          type: string
        imageUrl:
          type: string
        jobTitle:
          type: string
        roleGroup:
          $ref: '#/components/schemas/RoleGroup'
        roleGroupId:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
        deletedAt:
          format: date-time
          type: string
        lastSeen:
          format: date-time
          type: string
      required:
      - id
      - sub
      - email
      - account
      - preferences
      - name
      - emoji
      - imageUrl
      - jobTitle
      - roleGroup
      - roleGroupId
      - createdAt
      - updatedAt
    SweepExitCriteria:
      type: object
      properties:
        _exitCriteriaId:
          type: string
        _nextStageId:
          type: string
        isAutoMoveToNextStage:
          type: boolean
        guidance:
          type: string
        criteria:
          type: array
          items:
            type: object
        criteriaLogic:
          type: string
      required:
      - _exitCriteriaId
      - criteria
      - criteriaLogic
    AiProjectPrompt:
      type: object
      properties:
        id:
          type: string
        promptTitle:
          type: string
        promptText:
          type: string
        mode:
          type: string
          enum:
          - none
          - researchMode
          - buildMode
          - multiOrgMode
          - artifactMode
        isCompleted:
          type: boolean
        completedById:
          type:
          - string
          - 'null'
        completedAt:
          format: date-time
          type:
          - string
          - 'null'
        projectId:
          type: string
        project:
          $ref: '#/components/schemas/AiProject'
      required:
      - id
      - promptTitle
      - promptText
      - mode
      - isCompleted
      - completedById
      - completedAt
      - projectId
      - project
    ReorderItemsDto:
      type: object
      properties:
        itemIds:
          maxItems: 500
          type: array
          items:
            type: string
            format: uuid
      required:
      - itemIds
    FunnelLinkDto:
      type: object
      properties:
        _id:
          type: string
        _type:
          type: string
          enum:
          - salesforce
          - thirdParty
          - recordType
          - hubspot
          - metadataElement
        funnelId:
          type: string
        stageId:
          type: string
      required:
      - _id
      - _type
      - funnelId
    AiAgent:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          enum:
          - Documentation
          - Process Optimization
          - MonitoringV2
          - Permissions
          - Support
          type: string
        contextComponents:
          type: object
        userInstructions:
          type: string
        systemInstructions:
          type: string
        projectId:
          type:
          - string
          - 'null'
        project:
          allOf:
          - $ref: '#/components/schemas/AiProject'
        orgId:
          type: string
        org:
          $ref: '#/components/schemas/Org'
        files:
          type: array
          items:
            $ref: '#/components/schemas/AiAgentFile'
        bestPractices:
          type: array
          items:
            $ref: '#/components/schemas/AiAgentBestPractice'
        metadataElements:
          type: array
          items:
            $ref: '#/components/schemas/AiAgentMetadataElement'
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - type
      - contextComponents
      - userInstructions
      - systemInstructions
      - projectId
      - project
      - orgId
      - org
      - files
      - bestPractices
      - metadataElements
      - createdAt
      - updatedAt
    FunnelSnapshot:
      type: object
      properties:
        id:
          type: string
        ord:
          type: number
        createdById:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        apiName:
          type: string
        accountId:
          type: string
        account:
          $ref: '#/components/schemas/Account'
        name:
          type: string
        funnelName:
          type: string
        description:
          type: string
        recordTypeName:
          type: string
        restoredFromSnapshot:
          type: number
        funnelDetails:
          $ref: '#/components/schemas/FunnelDetailsDto'
        deployments:
          type: array
          items:
            $ref: '#/components/schemas/FunnelDeployment'
        createdAt:
          format: date-time
          type: string
      required:
      - id
      - ord
      - createdById
      - createdBy
      - apiName
      - accountId
      - account
      - name
      - funnelName
      - description
      - recordTypeName
      - restoredFromSnapshot
      - funnelDetails
      - deployments
      - createdAt
    AiAgentFile:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          enum:
          - txt
          - json
          - xml
          - csv
          - tsv
          - log
          - env
          - md
          - config
          - pdf
          - docx
          - png
          - jpg
          - jpeg
          - webp
          - avif
          type: string
        agentId:
          type: string
        agent:
          $ref: '#/components/schemas/AiAgent'
        createdById:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        createdAt:
          format: date-time
          type: string
        summary:
          type: string
        contentHash:
          type:
          - string
          - 'null'
          description: 'Null until the shared summary row exists. MySQL permits this because a composite

            foreign key with a null part is not checked.'
        fileCache:
          allOf:
          - $ref: '#/components/schemas/AiAgentFileCache'
        status:
          enum:
          - processing
          - completed
          - failed
          type: string
      required:
      - id
      - name
      - type
      - agentId
      - agent
      - createdById
      - createdBy
      - createdAt
      - summary
      - contentHash
      - fileCache
      - status
    FunnelPluginsDto:
      type: object
      properties: {}
    RoleGroup:
      type: object
      properties:
        id:
          type: string
        accountId:
          type: string
        account:
          $ref: '#/components/schemas/Account'
        type:
          type: string
          enum:
          - SYSTEM
          - USER_CREATED
        accountRoles:
          type: array
          items:
            $ref: '#/components/schemas/RoleGroupAccountRole'
        orgRoles:
          type: array
          items:
            $ref: '#/components/schemas/RoleGroupOrgRole'
        createdById:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        createdAt:
          format: date-time
          type: string
        updatedById:
          type: string
        updatedBy:
          $ref: '#/components/schemas/User'
        updatedAt:
          format: date-time
          type: string
        name:
          type: string
        description:
          type: string
      required:
      - id
      - accountId
      - account
      - type
      - accountRoles
      - orgRoles
      - createdById
      - createdBy
      - createdAt
      - updatedById
      - updatedBy
      - updatedAt
      - name
    AiChatFolder:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        createdById:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        agentId:
          type: string
        agent:
          $ref: '#/components/schemas/AiAgent'
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - name
      - createdById
      - createdBy
      - agentId
      - agent
      - createdAt
      - updatedAt
    AiTableArtifact:
      type: object
      properties:
        id:
          type: string
        chatId:
          type: string
        chat:
          $ref: '#/components/schemas/AiChat'
        accountId:
          type: string
        account:
          $ref: '#/components/schemas/Account'
        createdById:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        title:
          type: string
        markdown:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - chatId
      - chat
      - accountId
      - account
      - createdById
      - createdBy
      - title
      - markdown
      - createdAt
      - updatedAt
    CreateArtifactSectionDto:
      type: object
      properties:
        name:
          type: string
      required:
      - name
    LeadingObjectDto:
      type: object
      properties:
        objectName:
          type: string
        fieldName:
          type: string
        _leadingFieldLabels:
          type: array
          items:
            type: string
        _leadingFieldId:
          type: string
      required:
      - objectName
      - fieldName
      - _leadingFieldId
    UpdateSectionDto:
      type: object
      properties:
        name:
          type: string
        runMode:
          type: string
          enum:
          - individual
          - queue
    AiProjectSection:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        sortOrder:
          type: number
        type:
          enum:
          - prompts
          - artifacts
          - files
          type: string
        isDefault:
          type: boolean
          description: 'When true, this section is the auto-placement target for new artifacts

            produced by `processFinalResult()`. Only one default section per project

            (only applicable when `type = artifacts`).

            A default section can be renamed; it can be deleted only when empty.

            If deleted and new artifacts arrive, it is re-created automatically.'
        runMode:
          description: 'How "Run section" executes prompts. Only applicable when `type = prompts`.

            - `individual`: each prompt creates its own chat (default)

            - `queue`: one chat, prompts run as sequential messages'
          enum:
          - individual
          - queue
          type: string
        projectId:
          type: string
        project:
          $ref: '#/components/schemas/AiProject'
        items:
          type: array
          items:
            $ref: '#/components/schemas/AiProjectSectionItem'
      required:
      - id
      - name
      - sortOrder
      - type
      - isDefault
      - runMode
      - projectId
      - project
      - items
    AiProjectOriginTemplate:
      type: object
      properties:
        projectId:
          type: string
        project:
          $ref: '#/components/schemas/AiProject'
        originTemplateExternalId:
          type: string
          enum:
          - blank
          - cpq-agentforce-revenue-management
          - process-builder-to-flow
          - profiles-permission-set-groups-migration
          - visualforce-aura-lwc-modernization
          - field-cleanup-hygiene
          - salesforce-winter-27-release-prep
          - ai-security-risk-remediation
          - product-catalog-rationalization
          - agentforce-readiness
      required:
      - projectId
      - project
      - originTemplateExternalId
    AiAgentMetadataElement:
      type: object
      properties:
        aiAgentId:
          type: string
        name:
          type: string
        type:
          type: string
        aiAgent:
          $ref: '#/components/schemas/AiAgent'
        createdAt:
          format: date-time
          type: string
      required:
      - aiAgentId
      - name
      - type
      - aiAgent
      - createdAt
    ReorderSectionsDto:
      type: object
      properties:
        type:
          type: string
          enum:
          - prompts
          - artifacts
          - files
        sectionIds:
          maxItems: 100
          type: array
          items:
            type: string
            format: uuid
      required:
      - type
      - sectionIds
    AiArtifact:
      type: object
      properties:
        id:
          type: string
        artifactId:
          type: string
        chatId:
          type: string
        chat:
          $ref: '#/components/schemas/AiChat'
        accountId:
          type: string
        account:
          $ref: '#/components/schemas/Account'
        createdById:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        title:
          type: string
        code:
          type: string
        version:
          type: number
        isShared:
          type: boolean
        isPublic:
          type: boolean
        toolResults:
          type:
          - object
          - 'null'
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - id
      - artifactId
      - chatId
      - chat
      - accountId
      - account
      - createdById
      - createdBy
      - title
      - code
      - version
      - isShared
      - isPublic
      - toolResults
      - createdAt
      - updatedAt
    CreateFileSectionDto:
      type: object
      properties:
        name:
          type: string
        files:
          maxItems: 20
          type: array
          items:
            $ref: '#/components/schemas/CreateTemplateFileRefDto'
      required:
      - name
    AddSectionItemDto:
      type: object
      properties:
        promptTitle:
          type: string
        promptText:
          type: string
        mode:
          type: string
          enum:
          - none
          - artifactMode
          - researchMode
          - buildMode
        fileId:
          type: string
          format: uuid
    AddToMemoryDto:
      type: object
      properties:
        fileId:
          type: string
          format: uuid
      required:
      - fileId
    RoleGroupAccountRole:
      type: object
      properties:
        role:
          type: object
        roleGroupId:
          type: string
        roleGroup:
          $ref: '#/components/schemas/RoleGroup'
      required:
      - role
      - roleGroupId
      - roleGroup
    UpdateSectionItemDto:
      type: object
      properties:
        promptTitle:
          type: string
        promptText:
          type: string
        mode:
          type: string
          enum:
          - none
          - artifactMode
          - researchMode
          - buildMode
    AiProject:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type:
          - string
          - 'null'
        visibility:
          enum:
          - team
          - private
          type: string
        accountId:
          type: string
        account:
          $ref: '#/components/schemas/Account'
        createdById:
          type: string
        autonomyMode:
          enum:
          - guided
          - balanced
          - autonomous
          type:
          - string
          - 'null'
        originTemplateId:
          description: 'API-facing origin template id. Not a DB column — populated from

            `originTemplate.originTemplateExternalId` when that relation is loaded.'
          enum:
          - blank
          - cpq-agentforce-revenue-management
          - process-builder-to-flow
          - profiles-permission-set-groups-migration
          - visualforce-aura-lwc-modernization
          - field-cleanup-hygiene
          - salesforce-winter-27-release-prep
          - ai-security-risk-remediation
          - product-catalog-rationalization
          - agentforce-readiness
          type:
          - string
          - 'null'
        originTemplate:
          allOf:
          - $ref: '#/components/schemas/AiProjectOriginTemplate'
        agent:
          $ref: '#/components/schemas/AiAgent'
     

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sweep/refs/heads/main/openapi/sweep-projects-api-openapi.yml