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' sections: type: array items: $ref: '#/components/schemas/AiProjectSection' createdAt: format: date-time type: string updatedAt: format: date-time type: string required: - id - name - description - visibility - accountId - account - createdById - autonomyMode - agent - sections - createdAt - updatedAt CreatePromptDto: type: object properties: name: type: string promptText: type: string promptGroupId: type: string required: - name - promptText FunnelDeployment: type: object properties: id: type: string crmOrgId: type: string crmOrg: $ref: '#/components/schemas/CrmOrg' snapshotId: type: string snapshot: $ref: '#/components/schemas/FunnelSnapshot' deployedById: type: string deployedBy: $ref: '#/components/schemas/User' deployedAt: format: date-time type: string status: type: object required: - id - crmOrgId - crmOrg - snapshotId - snapshot - deployedById - deployedBy - deployedAt - status CreatePromptSectionDto: type: object properties: name: type: string prompts: type: array items: $ref: '#/components/schemas/CreatePromptDto' runMode: type: string enum: - individual - queue required: - name - prompts - runMode CrmOrg: type: object properties: id: type: string org: $ref: '#/components/schemas/Org' name: type: string platform: type: string instanceUrl: type: string isSandbox: type: boolean isMain: type: boolean isDemo: type: boolean isConnected: type: object default: false createdById: type: string createdBy: $ref: '#/components/schemas/User' fetchStatus: enum: - fetching - initial_fetching - error - fetched - invalid_credentials type: string lastSuccessfulFetchTs: type: number disconnectedAt: format: date-time type: - string - 'null' createdAt: format: date-time type: string updatedAt: format: date-time type: string accountId: type: string connectedUser: type: string account: $ref: '#/components/schemas/Account' deployments: type: array items: $ref: '#/components/schemas/FunnelDeployment' optMonitoring: type: boolean graphVersion: type: - string - 'null' graphDbReleaseChannel: enum: - stable - beta - shadow type: - string - 'null' tier: enum: - T0 - T1 type: string required: - id - org - name - platform - instanceUrl - isSandbox - isMain - isDemo - isConnected - createdById - createdBy - fetchStatus - lastSuccessfulFetchTs - disconnectedAt - createdAt - updatedAt - accountId - connectedUser - account - deployments - optMonitoring - graphVersion - graphDbReleaseChannel - tier Account: type: object properties: id: type: string name: type: string authZeroOrgId: type: string createdAt: format: date-time type: string updatedAt: format: date-time type: string deletedAt: format: date-time type: string onboardingStep: type: string enum: - ConnectOrg - Completed trialStartDate: format: date-time type: string trialEndDate: format: date-time type: string type: type: string enum: - Customer - POC - Inactive - SI - Free - Internal roleGroups: type: array items: $ref: '#/components/schemas/RoleGroup' users: type: array items: $ref: '#/components/schemas/User' disableAi: type: boolean isBuildModeEnabled: type: boolean lastSeen: format: date-time type: string allowedIpRanges: type: - array - 'null' items: type: string required: - id - name - authZeroOrgId - createdAt - updatedAt - deletedAt - onboardingStep - trialStartDate - trialEndDate - type - roleGroups - users - disableAi - isBuildModeEnabled - lastSeen - allowedIpRanges AiChat: type: object properties: id: type: string name: type: string aiChatDetails: type: object orgId: type: string org: $ref: '#/components/schemas/Org' accountId: type: string account: $ref: '#/components/schemas/Account' agentId: type: string agent: $ref: '#/components/schemas/AiAgent' createdAt: format: date-time type: string updatedAt: format: date-time type: string userId: type: - string - 'null' sfdcUserId: type: - string - 'null' isFavorite: type: boolean folderId: type: - string - 'null' folder: $ref: '#/components/schemas/AiChatFolder' chatContext: type: string chatSource: enum: - Sweep - Salesforce type: string required: - id - name - aiChatDetails - orgId - org - accountId - account - agentId - agent - createdAt - updatedAt - userId - sfdcUserId - isFavorite - folderId - folder - chatContext - chatSource UpdateProjectDto: type: object properties: name: type: string description: type: string visibility: type: string enum: - team - private autonomyMode: type: - string - 'null' enum: - guided - balanced - autonomous DuplicateProjectDto: type: object properties: name: type: string mode: type: string enum: - playbook_only - with_conversations targetOrgId: type: string required: - name - mode Org: type: object properties: id: type: string accountId: type: string account: $ref: '#/components/schemas/Account' required: - id - accountId - account SweepStage: type: object properties: stageName: type: string _stageId: type: string stageDescription: type: string _branchIndex: type: number _stageColumnIndex: type: number exitCriteria: type: array items: $ref: '#/components/schemas/SweepExitCriteria' assignmentRules: type: array items: $ref: '#/components/schemas/SweepAssignmentRule' _team: type: string stageType: type: string enum: - regular - lost - nurturing preventBackwardStages: type: boolean funnelLinks: type: array items: $ref: '#/components/schemas/FunnelLinkDto' additionalFields: default: [] type: array items: $ref: '#/components/schemas/SweepFieldReference' required: - stageName - _stageId - stageDescription - exitCriteria - assignmentRules RoleGroupOrgRole: type: object properties: role: type: object crmOrgId: type: string crmOrg: $ref: '#/components/schemas/CrmOrg' roleGroupId: type: string roleGroup: $ref: '#/components/schemas/RoleGroup' required: - role - crmOrgId - crmOrg - roleGroupId - roleGroup CreateTemplateFileRefDto: type: object properties: name: type: string extension: type: string enum: - txt - json - xml - csv - tsv - log - env - md - config - pdf - docx - png - jpg - jpeg - webp - avif fileName: type: string required: - name - extension - fileName AiProjectSectionItem: type: object properties: id: type: string sortOrder: type: number sectionId: type: string section: $ref: '#/components/schemas/AiProjectSection' promptId: type: - string - 'null' prompt: allOf: - $ref: '#/components/schemas/AiProjectPrompt' artifactId: type: - string - 'null' artifact: allOf: - $ref: '#/components/schemas/AiArtifact' tableArtifactId: type: - string - 'null' tableArtifact: allOf: - $ref: '#/components/schemas/AiTableArtifact' fileId: type: - string - 'null' file: allOf: - $ref: '#/components/schemas/AiAgentFile' required: - id - sortOrder - sectionId - section - promptId - prompt - artifactId - artifact - tableArtifactId - tableArtifact - fileId - file CreateProjectDto: type: object properties: name: type: string description: type: string promptSections: type: array items: $ref: '#/components/schemas/CreatePromptSectionDto' artifactSections: type: array items: $ref: '#/components/schemas/CreateArtifactSectionDto' fileSections: type: array items: $ref: '#/components/schemas/CreateFileSectionDto' autonomyMode: type: string enum: - guided - balanced - autonomous originTemplateId: 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 userInstructions: type: string systemInstructions: type: string required: - name AiAgentFileCache: type: object properties: contentHash: type: string name: type: string summary: type: string files: type: array items: $ref: '#/components/schemas/AiAgentFile' createdAt: format: date-time type: string updatedAt: format: date-time type: string required: - contentHash - name - summary - files - createdAt - updatedAt securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http