openapi: 3.2.0 info: description: Relevance AI Endpoints title: Relevance AI Endpoints Projects API version: latest contact: email: dev@tryrelevance.com servers: - url: /latest security: - AuthorizationHeader: - Authorization tags: - name: Projects paths: /projects/create: post: summary: CreateProject tags: - Projects description: 'Create a new Project that your user will have access to ### Required permissions > [ { "actions": [ "organizations:write" ], "organizations": [ { "body": "organization_id" } ] } ]' operationId: CreateProject parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProjectInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CreateProjectOutput' /projects/update: post: summary: UpdateProject tags: - Projects description: 'Update metadata of a Project ### Required permissions > [ { "actions": [ "admin" ] } ]' operationId: UpdateProject parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateProjectInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpdateProjectOutput' /projects/list: get: summary: ListProjects tags: - Projects description: 'List all projects and their metadata ### Required permissions > []' operationId: ListProjects parameters: - in: query name: page schema: type: number description: '' - in: query name: page_size schema: type: number description: '' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectsOutput' /projects/organization_info: get: summary: GetProjectsOrgInfo tags: - Projects description: '### Required permissions > [ { "actions": [ "datasets:write" ] } ]' operationId: GetProjectsOrgInfo parameters: [] responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetProjectsOrgInfoOutput' /projects/keys/list: get: summary: ListProjectKeys tags: - Projects description: 'List which keys exist for a project ### Required permissions > []' operationId: ListProjectKeys parameters: [] responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectKeysOutput' /projects/keys/availability: get: summary: ListProjectNativeApiKeysAvailability tags: - Projects description: 'List API key availability for a project including organization-level fallback keys. ### Required permissions > []' operationId: ListProjectNativeApiKeysAvailability parameters: [] responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectNativeApiKeysAvailabilityOutput' /projects/keys/types/list: get: summary: ListProjectKeyTypes tags: - Projects description: 'List all valid Project key types ### Required permissions > []' operationId: ListProjectKeyTypes parameters: - in: query name: tags schema: type: string description: Comma-separated list of tags to filter by description: Comma-separated list of tags to filter by - in: query name: include_tags schema: type: string enum: - 'true' - 'false' description: Set to 'true' to include tags in the response description: Set to 'true' to include tags in the response responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectKeyTypesOutput' /projects/keys/set: post: summary: SetProjectKey tags: - Projects description: 'Set a key for a project ### Required permissions > [ { "actions": [ "datasets:write" ], "datasets": [ { "raw": "*" } ] } ]' operationId: SetProjectKey parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/SetProjectKeyInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SetProjectKeyOutput' /projects/keys/delete: post: summary: DeleteProjectKey tags: - Projects description: 'Delete a key for a project ### Required permissions > [ { "actions": [ "datasets:write" ], "datasets": [ { "raw": "*" } ] } ]' operationId: DeleteProjectKey parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteProjectKeyInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/DeleteProjectKeyOutput' /projects/snippets/upsert: post: summary: UpsertProjectSnippet tags: - Projects description: 'Upsert a project snippet ### Required permissions > [ { "actions": [ "datasets:write" ], "datasets": [ { "raw": "*" } ] } ]' operationId: UpsertProjectSnippet parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertProjectSnippetInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpsertProjectSnippetOutput' /projects/snippets/list: get: summary: ListProjectSnippets tags: - Projects description: 'Gets the snippets for a project ### Required permissions > []' operationId: ListProjectSnippets parameters: - in: query name: include_references schema: type: boolean description: Whether to fetch the references of the snippets as part of the response default: false description: Whether to fetch the references of the snippets as part of the response - in: query name: page_size schema: type: number default: 20 description: '' - in: query name: page_number schema: type: number default: 0 description: '' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectSnippetsOutput' /projects/snippets/delete: post: summary: DeleteProjectSnippet tags: - Projects description: 'Delete a project snippet ### Required permissions > [ { "actions": [ "datasets:write" ], "datasets": [ { "raw": "*" } ] } ]' operationId: DeleteProjectSnippet parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteProjectSnippetInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/DeleteProjectSnippetOutput' /projects/{project_id}/delete_job: post: summary: CreateProjectDeleteJob tags: - Projects description: 'Create a job to delete all resources associated with a project and then delete the project ### Required permissions > [ { "actions": [ "admin" ], "projects": [ { "params": "project_id" } ] } ]' operationId: CreateProjectDeleteJob parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProjectDeleteJobInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CreateProjectDeleteJobOutput' get: summary: GetProjectDeletionMetadata tags: - Projects description: 'Get the id of the latest project delete job for a project, along with counts of resources in the project ### Required permissions > [ { "actions": [ "admin" ], "projects": [ { "params": "project_id" } ] } ]' operationId: GetProjectDeletionMetadata parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetProjectDeletionMetadataOutput' /projects/delete_job/{project_deletion_job_id}: get: summary: GetProjectDeleteJob tags: - Projects description: 'Get the project delete job by ID, along with counts of remaining resources in the project if it still exists ### Required permissions > []' operationId: GetProjectDeleteJob parameters: - name: project_deletion_job_id in: path description: ID of project_deletion_job required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetProjectDeleteJobOutput' /projects/{project_id}/usage-alarms/list: get: summary: ListProjectUsageAlarms tags: - Projects description: 'List all usage alarms for the current project ### Required permissions > [ { "actions": [ "admin" ], "projects": [ { "params": "project_id" } ] } ]' operationId: ListProjectUsageAlarms parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectUsageAlarmsOutput' /projects/{project_id}/usage-alarms/upsert: post: summary: UpsertProjectUsageAlarm tags: - Projects description: 'Create or update a usage alarm for the current project ### Required permissions > [ { "actions": [ "admin" ], "projects": [ { "params": "project_id" } ] } ]' operationId: UpsertProjectUsageAlarm parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertProjectUsageAlarmInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpsertProjectUsageAlarmOutput' /projects/{project_id}/usage-alarms/delete: post: summary: DeleteProjectUsageAlarm tags: - Projects description: 'Delete a usage alarm for the current project ### Required permissions > [ { "actions": [ "admin" ], "projects": [ { "params": "project_id" } ] } ]' operationId: DeleteProjectUsageAlarm parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteProjectUsageAlarmInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/DeleteProjectUsageAlarmOutput' /projects/{project_id}/usage-alarms/is-blocking: get: summary: GetIsProjectBlockingOnUsageAlarms tags: - Projects description: 'Check if the project or the organization the project is in is currently blocking actions due to usage alarms ### Required permissions > [ { "actions": [ "role:reader" ], "projects": [ { "params": "project_id" } ] } ]' operationId: GetIsProjectBlockingOnUsageAlarms parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetIsProjectBlockingOnUsageAlarmsOutput' /projects/{project_id}/feature_gates: get: summary: GetProjectFeatureGates tags: - Projects description: 'Get available features for the current project ### Required permissions > [ { "actions": [ "role:reader" ] } ]' operationId: GetProjectFeatureGates parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetProjectFeatureGatesOutput' /projects/streaming-token: get: summary: GetProjectStreamingToken tags: - Projects description: 'Get a streaming token scoped to the entire project for cross-conversation refresh events. ### Required permissions > [ { "actions": [ "agents:read" ] } ]' operationId: GetProjectStreamingToken parameters: [] responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetProjectStreamingTokenOutput' /projects/{project_id}/settings/{setting_id}: put: summary: UpdateProjectSetting tags: - Projects description: 'Updates a project setting value ### Required permissions > [ { "actions": [ "admin" ] } ]' operationId: UpdateProjectSetting parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: setting_id in: path description: ID of setting required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateProjectSettingInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpdateProjectSettingOutput' get: summary: GetProjectSetting tags: - Projects description: 'Gets a project setting value ### Required permissions > [ { "actions": [ "role:reader" ] } ]' operationId: GetProjectSetting parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: setting_id in: path description: ID of setting required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetProjectSettingOutput' /projects/{project_id}/settings: post: summary: ListProjectSettings tags: - Projects description: 'Lists the values of the requested project settings. ### Required permissions > [ { "actions": [ "role:reader" ] } ]' operationId: ListProjectSettings parameters: - name: project_id in: path description: ID of project required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/ListProjectSettingsInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectSettingsOutput' /projects/mcp/upsert: post: summary: UpsertProjectMCPServer tags: - Projects description: 'Create or update a project-level MCP server configuration. Upserts by URL - if an MCP server with the same URL exists for the project, it will be updated; otherwise, a new one will be created. ### Required permissions > []' operationId: UpsertProjectMCPServer parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertProjectMCPServerInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UpsertProjectMCPServerOutput' /projects/mcp/list: post: summary: ListProjectMCPServers tags: - Projects description: 'List all MCP server configurations for the project. Returns display_id, label, url, authentication_type, and auth_details for each server. ### Required permissions > []' operationId: ListProjectMCPServers parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/ListProjectMCPServersInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListProjectMCPServersOutput' /projects/mcp/delete: post: summary: DeleteProjectMCPServer tags: - Projects description: 'Delete a project-level MCP server configuration by display_id. Returns success: true if deleted, or throws an error if not found. ### Required permissions > []' operationId: DeleteProjectMCPServer parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteProjectMCPServerInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/DeleteProjectMCPServerOutput' /projects/mcp/get: post: summary: GetProjectMCPServer tags: - Projects description: 'Get a project-level MCP server configuration by display_id. Returns display_id, label, url, authentication_type, and auth_details. ### Required permissions > []' operationId: GetProjectMCPServer parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/GetProjectMCPServerInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetProjectMCPServerOutput' /assets/{asset_type}/{asset_id}/access_configuration: get: summary: GetAssetAccessConfiguration tags: - Projects description: 'Get the general access configuration for an asset. Returns the access level (only_invited or everyone_in_project) and the associated role if applicable. ### Required permissions > []' operationId: GetAssetAccessConfiguration parameters: - name: asset_type in: path description: ID of asset_type required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: asset_id in: path description: ID of asset required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GetAssetAccessConfigurationOutput' post: summary: SetAssetAccessConfiguration tags: - Projects description: 'Set the general access configuration for an asset. When access_level is "everyone_in_project", grants all project members the specified role. When access_level is "only_invited", revokes all general access and restricts to only explicitly invited users. Requires admin permissions on the asset. ### Required permissions > [ { "actions": [ "admin" ] } ]' operationId: SetAssetAccessConfiguration parameters: - name: asset_type in: path description: ID of asset_type required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ - name: asset_id in: path description: ID of asset required: true schema: type: string maxLength: 240 pattern: ^[a-zd._-]+$ requestBody: content: application/json: schema: $ref: '#/components/schemas/SetAssetAccessConfigurationInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SetAssetAccessConfigurationOutput' /job-priorities/list: get: summary: ListEntityJobPriorities tags: - Projects description: 'List all entity job priority tiers set for the current project. ### Required permissions > [ { "actions": [ "admin" ] } ]' operationId: ListEntityJobPriorities parameters: [] responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ListEntityJobPrioritiesOutput' /job-priorities/set: post: summary: SetEntityJobPriority tags: - Projects description: 'Set (create or update) the priority tier for an agent, tool or workforce in the current project. ### Required permissions > [ { "actions": [ "admin" ] } ]' operationId: SetEntityJobPriority parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/SetEntityJobPriorityInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SetEntityJobPriorityOutput' /job-priorities/unset: post: summary: UnsetEntityJobPriority tags: - Projects description: 'Unset (delete) the priority tier for an agent, tool or workforce in the current project, reverting it to the Medium default. ### Required permissions > [ { "actions": [ "admin" ] } ]' operationId: UnsetEntityJobPriority parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/UnsetEntityJobPriorityInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/UnsetEntityJobPriorityOutput' components: schemas: ListProjectSnippetsOutput: type: array items: type: object properties: _id: type: string name: type: string content: type: string title: type: string description: type: string order: type: number project: type: string referenced_in: type: array items: type: object properties: type: type: string enum: - agent - studio object_id: type: string name: type: string emoji: type: string required: - type - object_id additionalProperties: false additionalProperties: false required: - content - name - order - _id - project UpsertProjectSnippetOutput: type: boolean GetProjectsOrgInfoOutput: type: object properties: credits: type: number actions: type: number entitlement_plan: type: string enum: - free - basic - starter - team - business - enterprise - custom concurrency: type: object properties: limit: type: number active: type: number pending: type: number required: - limit - active - pending default_project_id: type: string additionalProperties: false required: - credits - actions - concurrency ListProjectMCPServersInput: {} ListProjectMCPServersOutput: type: array items: type: object properties: display_id: type: string description: UUID for external references label: type: string description: Display name for the MCP server url: type: string description: MCP server URL share_auth_with_project: type: boolean description: Share auth details with all users of this MCP in the project. owner_user_display_id: type: - string - 'null' description: Display ID of the user who owns this MCP server. Null for existing servers without an owner. custom_configuration: oneOf: - type: object description: Custom configuration for the MCP server properties: type: type: string description: Configuration type (currently only 'headers' supported) headers: type: array description: Array of custom headers to send with MCP requests items: type: object properties: name: type: string description: Header name value: type: string description: Header value required: - name - value additionalProperties: false required: - type - headers additionalProperties: false - type: 'null' description: Custom configuration for the MCP server required: - display_id - label - url anyOf: - properties: authentication_type: {} auth_details: type: 'null' required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: {} additionalProperties: false required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: oauth_account_id: type: string required: - oauth_account_id additionalProperties: false required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: {} additionalProperties: false required: - authentication_type - auth_details additionalProperties: true additionalProperties: false description: List of MCP servers for the project DeleteProjectSnippetInput: type: object properties: id: type: string additionalProperties: false required: - id CreateProjectOutput: type: object properties: project_id: type: string required: - project_id additionalProperties: false GetAssetAccessConfigurationOutput: oneOf: - type: object properties: access_level: type: string required: - access_level additionalProperties: false - type: object properties: access_level: type: string role: type: string enum: - admin - operator - viewer description: The role to grant for general access required: - access_level - role additionalProperties: false UpdateProjectSettingOutput: {} ListProjectSettingsInput: type: object properties: setting_names: type: array items: type: string minItems: 1 required: - setting_names additionalProperties: false SetAssetAccessConfigurationInput: oneOf: - type: object properties: access_level: type: string description: Restrict access to only invited users required: - access_level additionalProperties: false - type: object properties: access_level: type: string description: Grant access to all project members role: type: string enum: - admin - operator - viewer description: The role to grant for general access required: - access_level - role additionalProperties: false UnsetEntityJobPriorityOutput: type: object properties: success: type: boolean required: - success additionalProperties: false CreateProjectDeleteJobOutput: type: object additionalProperties: false properties: id: type: string project_id: type: string errors: type: array items: type: string status: type: string enum: - completed - in_progress - pending created_at: type: string finished_at: type: string updated_at: type: string progress: type: array items: type: object additionalProperties: false properties: step: type: string success_count: type: integer failure_count: type: integer required: - step - success_count - failure_count required: - id - project_id - status - errors - created_at - updated_at - progress GetProjectMCPServerOutput: type: object properties: display_id: type: string description: UUID for external references label: type: string description: Display name for the MCP server url: type: string description: MCP server URL share_auth_with_project: type: boolean description: Share auth details with all users of this MCP in the project. owner_user_display_id: type: - string - 'null' description: Display ID of the user who owns this MCP server. Null for existing servers without an owner. custom_configuration: oneOf: - type: object description: Custom configuration for the MCP server properties: type: type: string description: Configuration type (currently only 'headers' supported) headers: type: array description: Array of custom headers to send with MCP requests items: type: object properties: name: type: string description: Header name value: type: string description: Header value required: - name - value additionalProperties: false required: - type - headers additionalProperties: false - type: 'null' description: Custom configuration for the MCP server required: - display_id - label - url anyOf: - properties: authentication_type: {} auth_details: type: 'null' required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: {} additionalProperties: false required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: oauth_account_id: type: string required: - oauth_account_id additionalProperties: false required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: {} additionalProperties: false required: - authentication_type - auth_details additionalProperties: true additionalProperties: false SetProjectKeyOutput: type: object properties: status: type: string message: type: string required: - status - message additionalProperties: false ListProjectKeysOutput: type: object properties: keys: type: array items: type: string additionalProperties: false required: - keys UpsertProjectUsageAlarmOutput: type: object properties: success: type: boolean id: type: string required: - success - id additionalProperties: false UpsertProjectUsageAlarmInput: type: object properties: usage_type: type: string enum: - credit - action description: Type of usage to monitor usage_threshold: type: number minimum: 0 description: Threshold value to trigger the alarm alarm_action: type: string enum: - warn - block description: Action to take when threshold is exceeded alarm_action_config: type: object properties: emails: type: array items: type: string description: Email addresses to notify when alarm is triggered additionalProperties: false required: - usage_type - usage_threshold - alarm_action additionalProperties: false UpsertProjectMCPServerInput: type: object properties: display_id: type: string description: UUID of the MCP server to update. If provided, this is an update operation and other fields are optional. If not provided, this is an insert operation. url: type: string description: MCP server URL (e.g., https://mcp.linear.app/mcp) label: type: string description: Display name for the MCP server share_auth_with_project: type: boolean description: Share auth details with all users of this MCP in the project. custom_configuration: oneOf: - type: object description: Custom configuration for the MCP server properties: type: type: string description: Configuration type (currently only 'headers' supported) headers: type: array description: Array of custom headers to send with MCP requests items: type: object properties: name: type: string description: Header name value: type: string description: Header value required: - name - value additionalProperties: false required: - type - headers additionalProperties: false - type: 'null' description: Optional custom configuration for the MCP server anyOf: - properties: authentication_type: {} auth_details: type: 'null' additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: api_key: type: string required: - api_key additionalProperties: false additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: oauth_account_id: type: string required: - oauth_account_id additionalProperties: false additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: headers: type: object additionalProperties: type: string required: - headers additionalProperties: false additionalProperties: true additionalProperties: true CreateProjectInput: type: object properties: name: type: string description: The name of the project description: type: string description: The description of the project organization_id: type: string datastore: type: string enum: - redis description: If set to redis, it expects a redis connection string set using project keys under the name "redis". language: type: string description: The language to convert cluster labels output to. additionalProperties: false required: - organization_id ListProjectKeyTypesOutput: type: object properties: results: type: array items: type: object properties: label: type: string value: type: string type: type: string enum: - llm - datastore logo_key: type: string api_onboarding: type: object properties: url: type: string description: type: string required: - url additionalProperties: false tags: type: array items: type: string required: - label - value additionalProperties: false additionalProperties: false required: - results SetEntityJobPriorityOutput: type: object properties: success: type: boolean required: - success additionalProperties: false ListProjectsOutput: type: object properties: projects: type: array items: type: object properties: _id: type: string project_id: type: string organization_name: type: string name: type: string description: type: string permissions: type: object properties: items: type: object additionalProperties: type: object properties: resources: type: object properties: datasets: type: object additionalProperties: type: boolean deployables: type: object additionalProperties: type: boolean users: type: object additionalProperties: type: boolean agents: type: object additionalProperties: type: boolean knowledge_sets: type: object additionalProperties: type: boolean chains: type: object additionalProperties: type: boolean syncs: type: object additionalProperties: type: boolean workforces: type: object additionalProperties: type: boolean actions: type: object additionalProperties: type: boolean additionalProperties: false role_context: oneOf: - type: object properties: entity_type: type: string enum: - organization role: type: string enum: - owner - admin - operator - viewer description: User's effective (actual) FGA role for this organization. required: - entity_type additionalProperties: false - type: object properties: entity_type: type: string enum: - project is_inherited: type: boolean description: 'DEPRECATED SOON: Previously indicated role inherited from parent organization which is now insufficient. Will be removed in the future when group permissions are fully implemented.' most_permissive_inherited_role: type: string enum: - admin - editor - operator - viewer - chat description: 'Combined most permissive role from groups and org inheritance. Frontend uses this to prevent demotion below base access level when toggling explicit roles. Future: List endpoints will show explicit access only.' role: type: string enum: - admin - editor - operator - viewer - chat description: User's effective (actual) FGA role for this project. Represents the combined most permissive role from their explicit and inherited roles. required: - entity_type additionalProperties: false required: - items additionalProperties: false organization_id: type: string updated_at: type: string created_by_user_id: type: string keys: type: object datastore: type: string enum: - redis description: If set to redis, it expects a redis connection string set using project keys under the name "redis". language: type: string description: The language to convert cluster labels output to. required: - _id - project_id - permissions - organization_name - name - description - organization_id - created_by_user_id count: type: number additionalProperties: false required: - projects - count GetProjectStreamingTokenOutput: type: object properties: streaming_token: type: object properties: token: type: string expiry_time_ms: type: number additionalProperties: false required: - token - expiry_time_ms required: - streaming_token additionalProperties: false UpdateProjectSettingInput: type: object properties: payload: {} required: - payload additionalProperties: false UpsertProjectSnippetInput: type: object properties: _id: type: string name: type: string content: type: string title: type: string description: type: string order: type: number required: - content - name - order additionalProperties: false ListEntityJobPrioritiesOutput: type: object properties: results: type: array items: type: object properties: priority_entity: type: string enum: - agent - tool - workforce description: 'Which kind of builder entity this priority applies to: an Agent, a Tool or a Workforce.' entity_id: type: string minLength: 1 description: Display id of the prioritised entity. priority_tier: type: integer enum: - 10 - 20 - 30 description: 'Priority tier: 10 = High, 20 = Medium (default), 30 = Low.' created_at: type: string format: date-time updated_at: type: string format: date-time required: - priority_entity - entity_id - priority_tier additionalProperties: false required: - results additionalProperties: false GetProjectDeleteJobOutput: type: object properties: project_delete_job: type: object additionalProperties: false properties: id: type: string project_id: type: string errors: type: array items: type: string status: type: string enum: - completed - in_progress - pending created_at: type: string finished_at: type: string updated_at: type: string progress: type: array items: type: object additionalProperties: false properties: step: type: string success_count: type: integer failure_count: type: integer required: - step - success_count - failure_count required: - id - project_id - status - errors - created_at - updated_at - progress resource_counts: type: object description: Counts of resources remaining in the project if it still exists. properties: deletion_success: type: integer minimum: 0 description: The number of resources successfully deleted as part of the project deletion job. deletion_failure: type: integer minimum: 0 description: The number of resources that failed to be deleted as part of the project deletion job. remaining: type: integer minimum: 0 description: The number of resources remaining in the project if it still exists. required: - remaining - deletion_success - deletion_failure required: - project_delete_job - resource_counts DeleteProjectMCPServerInput: type: object properties: display_id: type: string description: UUID of the MCP server to delete required: - display_id additionalProperties: false SetAssetAccessConfigurationOutput: type: object properties: success: type: boolean required: - success additionalProperties: false SetEntityJobPriorityInput: type: object properties: priority_entity: type: string enum: - agent - tool - workforce description: 'Which kind of builder entity this priority applies to: an Agent, a Tool or a Workforce.' entity_id: type: string minLength: 1 description: Display id of the Agent / Tool / Workforce to prioritise. Must be a real entity of the given type in this project. priority_tier: type: integer enum: - 10 - 20 - 30 description: 'Priority tier: 10 = High, 20 = Medium (default), 30 = Low.' required: - priority_entity - entity_id - priority_tier additionalProperties: false SetProjectKeyInput: type: object properties: key: type: string value: type: string additionalProperties: false required: - key - value GetProjectSettingOutput: oneOf: - type: boolean - type: boolean - type: boolean - type: boolean - type: boolean - type: boolean - type: boolean ListProjectUsageAlarmsOutput: type: object properties: results: type: array items: type: object properties: usage_type: type: string enum: - credit - action description: Type of usage to monitor usage_threshold: type: number minimum: 0 description: Threshold value to trigger the alarm alarm_action: type: string enum: - warn - block description: Action to take when threshold is exceeded alarm_action_config: type: object properties: emails: type: array items: type: string description: Email addresses to notify when alarm is triggered additionalProperties: false alarm_status: type: string enum: - ok - alarm description: Current status of the alarm created_at: type: string updated_at: type: string required: - usage_type - usage_threshold - alarm_action - alarm_action_config - alarm_status - created_at additionalProperties: false required: - results additionalProperties: false GetProjectFeatureGatesOutput: type: object properties: bulk_run: type: boolean scheduled_run: type: boolean required: - bulk_run - scheduled_run additionalProperties: false UpdateProjectOutput: type: object properties: status: type: string message: type: string required: - status - message additionalProperties: false GetIsProjectBlockingOnUsageAlarmsOutput: type: object properties: organization_credit_breach: type: boolean organization_action_breach: type: boolean project_credit_breach: type: boolean project_action_breach: type: boolean required: - organization_credit_breach - organization_action_breach - project_credit_breach - project_action_breach additionalProperties: false DeleteProjectKeyInput: type: object properties: key: type: string additionalProperties: false required: - key GetProjectDeletionMetadataOutput: type: object properties: project_delete_job_id: type: - string - 'null' description: The latest project delete job ID for the project, or null if no delete job exists resource_counts: type: object description: Counts of resources in the project. additionalProperties: type: integer minimum: 0 required: - resource_counts - project_delete_job_id additionalProperties: false DeleteProjectMCPServerOutput: type: object properties: success: type: boolean description: Whether the MCP server was successfully deleted required: - success additionalProperties: false ListProjectNativeApiKeysAvailabilityOutput: type: object properties: results: type: array items: type: object properties: key: type: string project_context: type: object properties: api_key_provided: type: boolean required: - api_key_provided additionalProperties: false organization_context: type: object properties: api_key_provided: type: boolean required: - api_key_provided additionalProperties: false required: - key - project_context - organization_context additionalProperties: false additionalProperties: false required: - results GetProjectMCPServerInput: type: object properties: display_id: type: string description: UUID of the MCP server to retrieve required: - display_id additionalProperties: false UpsertProjectMCPServerOutput: type: object properties: display_id: type: string description: UUID for external references label: type: string description: Display name for the MCP server url: type: string description: MCP server URL share_auth_with_project: type: boolean description: Share auth details with all users of this MCP in the project. owner_user_display_id: type: - string - 'null' description: Display ID of the user who owns this MCP server. Null for existing servers without an owner. custom_configuration: oneOf: - type: object description: Custom configuration for the MCP server properties: type: type: string description: Configuration type (currently only 'headers' supported) headers: type: array description: Array of custom headers to send with MCP requests items: type: object properties: name: type: string description: Header name value: type: string description: Header value required: - name - value additionalProperties: false required: - type - headers additionalProperties: false - type: 'null' description: Custom configuration for the MCP server required: - display_id - label - url anyOf: - properties: authentication_type: {} auth_details: type: 'null' required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: {} additionalProperties: false required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: oauth_account_id: type: string required: - oauth_account_id additionalProperties: false required: - authentication_type - auth_details additionalProperties: true - properties: authentication_type: {} auth_details: type: object properties: {} additionalProperties: false required: - authentication_type - auth_details additionalProperties: true additionalProperties: false ListProjectSettingsOutput: type: object properties: permit_public_agents: type: boolean permit_public_workforces: type: boolean permit_public_tools: type: boolean permit_embeddable_agents: type: boolean permit_embeddable_tools: type: boolean permit_embeddable_workforces: type: boolean permit_invent: type: boolean additionalProperties: false DeleteProjectSnippetOutput: type: boolean UnsetEntityJobPriorityInput: type: object properties: priority_entity: type: string enum: - agent - tool - workforce description: 'Which kind of builder entity this priority applies to: an Agent, a Tool or a Workforce.' entity_id: type: string minLength: 1 description: Display id of the Agent / Tool / Workforce to reset to the default tier. Must be a real entity of the given type in this project. required: - priority_entity - entity_id additionalProperties: false DeleteProjectUsageAlarmInput: type: object properties: usage_type: type: string enum: - credit - action description: Type of usage to monitor alarm_action: type: string enum: - warn - block description: Action to take when threshold is exceeded required: - usage_type - alarm_action additionalProperties: false DeleteProjectKeyOutput: type: object properties: status: type: string message: type: string required: - status - message additionalProperties: false CreateProjectDeleteJobInput: {} UpdateProjectInput: type: object properties: name: type: string description: The name of the project description: type: string description: The description of the project datastore: type: string enum: - redis description: If set to redis, it expects a redis connection string set using project keys under the name "redis". language: type: string description: The language to convert cluster labels output to. additionalProperties: false DeleteProjectUsageAlarmOutput: type: object properties: {} additionalProperties: false securitySchemes: AuthorizationHeader: type: apiKey in: header name: Authorization description: 'Authorization credentials. Header authorization should be in the form of: project:api_key'