components: schemas: AccessPolicyType: description: Enum for access policy types enum: - ALWAYS - NEVER - REQUIRES_PERMISSION title: AccessPolicyType type: string AccountCreateRequest: properties: email: title: Email type: string invitation_code: title: Invitation Code type: string required: - invitation_code - email title: AccountCreateRequest type: object AccountInformation: description: Model for storing account information properties: account: $ref: '#/components/schemas/UserAccount' organization: $ref: '#/components/schemas/Organization' user_id: title: User Id type: string required: - user_id - account - organization title: AccountInformation type: object ActionApprovalRequest: description: >- Model that holds the state of a request for an action to be taken with respect to a policy. Ex. if the policy is set to require approval, then we will have a request for approval. properties: created_at: format: date-time title: Created At type: string id: anyOf: - type: integer - type: 'null' title: Id last_updated_at: format: date-time title: Last Updated At type: string payload: anyOf: - type: object - type: 'null' title: Payload policy_id: format: uuid title: Policy Id type: string state: $ref: '#/components/schemas/ActionApprovalState' default: pending updated_by_user_id: title: Updated By User Id type: string required: - id - policy_id - updated_by_user_id title: ActionApprovalRequest type: object ActionApprovalState: description: Enum for policy approval states enum: - pending - approved - rejected title: ActionApprovalState type: string ApprovalAndPolicy: description: Approval and policy properties: approval: $ref: '#/components/schemas/ActionApprovalRequest' canonical_resource_name: title: Canonical Resource Name type: string integration_name: title: Integration Name type: string policy: $ref: '#/components/schemas/Policy' tool_name: title: Tool Name type: string required: - approval - policy - canonical_resource_name - integration_name - tool_name title: ApprovalAndPolicy type: object AuditLog: description: Model for audit logging properties: action: title: Action type: string details: title: Details type: object id: anyOf: - type: integer - type: 'null' title: Id performed_by: default: system title: Performed By type: string policy_id: format: uuid title: Policy Id type: string timestamp: format: date-time title: Timestamp type: string required: - policy_id - action title: AuditLog type: object AuthenticationMethod: enum: - propelauth - api_key title: AuthenticationMethod type: string AuthenticationStatus: properties: credentials_provided: title: Credentials Provided type: boolean is_authenticated: title: Is Authenticated type: boolean method: anyOf: - $ref: '#/components/schemas/AuthenticationMethod' - type: 'null' user_id: anyOf: - type: string - type: 'null' title: User Id required: - credentials_provided - is_authenticated title: AuthenticationStatus type: object BasicPostBody: description: A basic post body. properties: content: title: Content type: string required: - content title: BasicPostBody type: object BasicPostResponse: description: A basic post response. properties: message: anyOf: - type: string - type: 'null' title: Message success: title: Success type: boolean required: - success title: BasicPostResponse type: object BlaxelToolServerClient: description: A client for a tool server that is a blaxel server. properties: blaxel_function: title: Blaxel Function type: string blaxel_workspace: title: Blaxel Workspace type: string client_type: const: blaxel title: Client Type type: string server_id: format: uuid title: Server Id type: string required: - server_id - client_type - blaxel_workspace - blaxel_function title: BlaxelToolServerClient type: object Body_upsert_secret_api_v1_secrets__secret_name__put: properties: request: $ref: '#/components/schemas/UpsertSecretRequest' required: - request title: Body_upsert_secret_api_v1_secrets__secret_name__put type: object CanonicalResource: description: Represents a canonical resource name in object form. properties: event_name: title: Event Name type: string org_id: title: Org Id type: string profile_id: title: Profile Id type: string server_name: title: Server Name type: string required: - org_id - profile_id - server_name - event_name title: CanonicalResource type: object ComposioToolServerClient: description: A client for a tool server that is a composio server. properties: allowed_tools: items: type: string title: Allowed Tools type: array auth_config_id: title: Auth Config Id type: string client_type: const: composio title: Client Type type: string composio_server_id: title: Composio Server Id type: string mcp_url: title: Mcp Url type: string server_id: format: uuid title: Server Id type: string required: - server_id - client_type - composio_server_id - auth_config_id - allowed_tools - mcp_url title: ComposioToolServerClient type: object CreateInvitationRequest: description: Request model for creating an invitation properties: email: format: email title: Email type: string expires_in_days: default: 7 title: Expires In Days type: integer org_id: anyOf: - type: string - type: 'null' title: Org Id required: - email title: CreateInvitationRequest type: object CreateUserRequest: properties: org_id: title: Org Id type: string required: - org_id title: CreateUserRequest type: object GetAllFlagsResponse: properties: flags: additionalProperties: anyOf: - type: boolean - type: string title: Flags type: object user_id: title: User Id type: string required: - flags - user_id title: GetAllFlagsResponse type: object HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' title: Detail type: array title: HTTPValidationError type: object IngressConfig: properties: entryPoints: items: type: string title: Entrypoints type: array gatewayScheme: default: http title: Gatewayscheme type: string orgID: title: Orgid type: string orgRouteStrategy: default: PathPrefix enum: - PathPrefix - Header title: Orgroutestrategy type: string proxyDomain: title: Proxydomain type: string serverID: title: Serverid type: string serverIsDefault: anyOf: - type: boolean - type: 'null' default: false title: Serverisdefault serverRouteStrategy: default: Header enum: - PathPrefix - Header title: Serverroutestrategy type: string required: - proxyDomain - orgID - serverID title: IngressConfig type: object InitializeResponse: description: Response for the SDK to initialize. properties: clients: items: discriminator: mapping: blaxel: '#/components/schemas/BlaxelToolServerClient' composio: '#/components/schemas/ComposioToolServerClient' mcp: '#/components/schemas/MCPToolServerClient' smithery: '#/components/schemas/SmitheryToolServerClient' propertyName: client_type oneOf: - $ref: '#/components/schemas/MCPToolServerClient' - $ref: '#/components/schemas/BlaxelToolServerClient' - $ref: '#/components/schemas/SmitheryToolServerClient' - $ref: '#/components/schemas/ComposioToolServerClient' title: Clients type: array doppler_config: anyOf: - type: string - type: 'null' title: Doppler Config doppler_env: anyOf: - type: string - type: 'null' title: Doppler Env doppler_project: anyOf: - type: string - type: 'null' title: Doppler Project doppler_service_token: anyOf: - type: string - type: 'null' title: Doppler Service Token org_id: title: Org Id type: string providers: items: $ref: '#/components/schemas/ToolServerProvider' title: Providers type: array servers: items: $ref: '#/components/schemas/ToolServer' title: Servers type: array tools: items: $ref: '#/components/schemas/Tool' title: Tools type: array user_id: title: User Id type: string required: - clients - providers - servers - tools - user_id - org_id title: InitializeResponse type: object IntegrationAuthScheme: description: Authentication schemes supported by server templates. enum: - token - oauth_1_0 - oauth_2_0 title: IntegrationAuthScheme type: string IntegrationConfigDetails: description: >- General details about an integration. Meant to be surfaceable to a client. properties: configuration_state: $ref: '#/components/schemas/IntegrationConfigurationState' name: title: Name type: string template: $ref: '#/components/schemas/IntegrationTemplate' required: - name - configuration_state - template title: IntegrationConfigDetails type: object IntegrationConfigurationState: description: >- The state of an integration from an account perspective (not runtime). To determine the runtime state, we will have to check the server configuration for the integration separately depending on our infrastucture selection. enum: - agent_local - cloud_hosted_available - cloud_hosted_configured title: IntegrationConfigurationState type: string IntegrationDefaultPolicies: description: Default policies for an integration. properties: tools: description: Policies for tools in this integration. items: $ref: '#/components/schemas/PolicyAccessRule' title: Tools type: array required: - tools title: IntegrationDefaultPolicies type: object IntegrationOAuthAuthorizer: enum: - google - meta title: IntegrationOAuthAuthorizer type: string IntegrationSecret: description: Represents a secret required by a server template. properties: generation_link: anyOf: - type: string - type: 'null' title: Generation Link name: title: Name type: string value: anyOf: - type: string - type: 'null' title: Value required: - name title: IntegrationSecret type: object IntegrationTemplate: description: >- Class representation of the server templates that we support. This matches the structure of server templates under resources/integrations/templates/* properties: args: discriminator: mapping: mcp: '#/components/schemas/MCPIntegrationArgs' propertyName: type oneOf: - $ref: '#/components/schemas/MCPIntegrationArgs' title: Args auth_scheme: anyOf: - $ref: '#/components/schemas/IntegrationAuthScheme' - type: 'null' default_policies: $ref: '#/components/schemas/IntegrationDefaultPolicies' name: title: Name type: string oauth_authorizer: anyOf: - $ref: '#/components/schemas/IntegrationOAuthAuthorizer' - type: 'null' repository: title: Repository type: string secrets: anyOf: - items: $ref: '#/components/schemas/IntegrationSecret' type: array - type: 'null' title: Secrets sha: title: Sha type: string version: description: The version of the integration template. title: Version type: string required: - version - name - repository - sha - args - default_policies title: IntegrationTemplate type: object Invitation: description: Represents an invitation to join an organization. properties: accepted: default: false title: Accepted type: boolean accepted_at: anyOf: - format: date-time type: string - type: 'null' title: Accepted At code: title: Code type: string created_at: format: date-time title: Created At type: string email: format: email title: Email type: string expires_at: format: date-time title: Expires At type: string org_id: title: Org Id type: string required: - org_id - email title: Invitation type: object KindMetadata: type: object LauncherConfig: properties: configMapName: title: Configmapname type: string mountPath: title: Mountpath type: string required: - configMapName - mountPath title: LauncherConfig type: object MCPIntegrationArgs: description: >- Arguments specifically for an integration that is powered by an MCP server. properties: args: anyOf: - items: type: string type: array - type: 'null' title: Args command: title: Command type: string type: const: mcp title: Type type: string required: - type - command title: MCPIntegrationArgs type: object MCPServerConfig: properties: args: items: type: string title: Args type: array command: title: Command type: string env_vars: additionalProperties: type: string title: Env Vars type: object git_branch: anyOf: - type: string - type: 'null' default: main title: Git Branch git_repo_url: anyOf: - type: string - type: 'null' title: Git Repo Url image: default: registry.onegrep.dev/onegrep/mcp-host:latest title: Image type: string name: title: Name type: string required: - name - command - args - env_vars title: MCPServerConfig type: object MCPToolServerClient: description: A client for a tool server that is a direct MCP server connection. properties: client_type: const: mcp title: Client Type type: string server_id: format: uuid title: Server Id type: string transport_type: enum: - sse - websocket title: Transport Type type: string url: format: uri minLength: 1 title: Url type: string required: - server_id - client_type - transport_type - url title: MCPToolServerClient type: object MultiIdPostBody: description: A multi-id post body. properties: ids: anyOf: - items: type: string type: array - items: format: uuid type: string type: array title: Ids required: - ids title: MultiIdPostBody type: object MultipleToolCustomTagsParamsRequest: description: Params to change the tags for multiple tools in an integration. properties: tags: title: Tags type: object tool_names: items: type: string title: Tool Names type: array required: - tool_names - tags title: MultipleToolCustomTagsParamsRequest type: object NewPolicyRequest: description: >- Model to create a new policy. Other policy fields are derived from the default policy for the integration/event properties: access_policy: $ref: '#/components/schemas/AccessPolicyType' event_name: title: Event Name type: string integration_name: title: Integration Name type: string required: - integration_name - event_name - access_policy title: NewPolicyRequest type: object Organization: properties: created_at: anyOf: - format: date-time type: string - type: 'null' title: Created At created_by_user_id: anyOf: - type: string - type: 'null' title: Created By User Id id: title: Id type: string open_invitation_code: anyOf: - type: string - type: 'null' title: Open Invitation Code owner_id: anyOf: - type: string - type: 'null' title: Owner Id updated_at: anyOf: - format: date-time type: string - type: 'null' title: Updated At required: - id title: Organization type: object PaginatedResponse_AuditLog_: properties: items: items: $ref: '#/components/schemas/AuditLog' title: Items type: array pagination: $ref: '#/components/schemas/PaginationMetadata' required: - items - pagination title: PaginatedResponse[AuditLog] type: object PaginationMetadata: description: Metadata for paginated results properties: has_next: title: Has Next type: boolean has_prev: title: Has Prev type: boolean page: title: Page type: integer page_size: title: Page Size type: integer pages: title: Pages type: integer total: title: Total type: integer required: - page - page_size - total - pages - has_next - has_prev title: PaginationMetadata type: object Policy: description: Policy model that works with both SQL and in-memory storage properties: access_policy: $ref: '#/components/schemas/AccessPolicyType' canonical_resource_name: title: Canonical Resource Name type: string created_at: anyOf: - format: date-time type: string - type: 'null' title: Created At description: anyOf: - type: string - type: 'null' title: Description event_name: title: Event Name type: string id: format: uuid title: Id type: string organization_id: anyOf: - type: string - type: 'null' title: Organization Id updated_at: anyOf: - format: date-time type: string - type: 'null' title: Updated At required: - event_name - access_policy - canonical_resource_name title: Policy type: object PolicyAccessRule: description: Policy template that is used to create a policy. properties: access_policy: $ref: '#/components/schemas/AccessPolicyType' description: anyOf: - type: string - type: 'null' title: Description event_name: title: Event Name type: string required: - event_name - access_policy title: PolicyAccessRule type: object PolicyBase: description: Base model with shared policy fields properties: access_policy: $ref: '#/components/schemas/AccessPolicyType' canonical_resource_name: title: Canonical Resource Name type: string description: anyOf: - type: string - type: 'null' title: Description event_name: title: Event Name type: string organization_id: anyOf: - type: string - type: 'null' title: Organization Id required: - event_name - access_policy - canonical_resource_name title: PolicyBase type: object PolicyCheckResult: description: Result of a policy check properties: approved: title: Approved type: boolean required: - approved title: PolicyCheckResult type: object Prompt: description: A prompt for an LLM. properties: message: title: Message type: string type: enum: - system - user title: Type type: string required: - type - message title: Prompt type: object Recipe: description: A recipe. properties: created_at: anyOf: - format: date-time type: string - type: 'null' title: Created At goal: description: The goal that this recipe is helping an agent achieve. title: Goal type: string id: format: uuid title: Id type: string instructions: anyOf: - type: string - type: 'null' description: The instructions for this recipe. title: Instructions tools: items: $ref: '#/components/schemas/Tool' readOnly: true title: Tools type: array updated_at: anyOf: - format: date-time type: string - type: 'null' title: Updated At required: - goal - instructions - tools title: Recipe type: object RegisteredToolprint: description: A toolprint. properties: created_at: anyOf: - format: date-time type: string - type: 'null' title: Created At created_by: title: Created By type: string id: format: uuid title: Id type: string owner_id: anyOf: - type: string - type: 'null' title: Owner Id source: title: Source type: object source_checksum: description: >- The checksum of the source toolprint. This helps us track changes from the original vending server/integration. title: Source Checksum type: string toolprint: $ref: '#/components/schemas/Toolprint-Output' description: >- Useful field for converting our persisted toolprint into a raw toolprint definition for dissemination. readOnly: true tools: items: $ref: '#/components/schemas/Tool' readOnly: true title: Tools type: array updated_at: anyOf: - format: date-time type: string - type: 'null' title: Updated At updated_by: anyOf: - type: string - type: 'null' title: Updated By required: - source_checksum - tools - toolprint title: RegisteredToolprint type: object ScoredItem_RegisteredToolprint_: properties: item: $ref: '#/components/schemas/RegisteredToolprint' description: The item that was scored. score: description: The score of the item [0, 1]. maximum: 1 minimum: 0 title: Score type: number required: - item - score title: ScoredItem[RegisteredToolprint] type: object ScoredItem_Tool_: properties: item: $ref: '#/components/schemas/Tool' description: The item that was scored. score: description: The score of the item [0, 1]. maximum: 1 minimum: 0 title: Score type: number required: - item - score title: ScoredItem[Tool] type: object SearchRequest: description: A request for a search. properties: k: default: 10 description: The number of results to return from index. title: K type: integer min_score: default: 0 description: The minimum score to return from index. title: Min Score type: number page: default: 0 description: The page number to return. title: Page type: integer page_size: default: 10 description: The number of results per page. title: Page Size type: integer query: description: The query used against the search index. title: Query type: string required: - query title: SearchRequest type: object SearchResponse_ScoredItem_RegisteredToolprint__: properties: pagination: $ref: '#/components/schemas/PaginationMetadata' results: items: $ref: '#/components/schemas/ScoredItem_RegisteredToolprint_' title: Results type: array required: - pagination - results title: SearchResponse[ScoredItem[RegisteredToolprint]] type: object SearchResponse_ScoredItem_Tool__: properties: pagination: $ref: '#/components/schemas/PaginationMetadata' results: items: $ref: '#/components/schemas/ScoredItem_Tool_' title: Results type: array required: - pagination - results title: SearchResponse[ScoredItem[Tool]] type: object SearchResultMeta: description: >- Metadata about a search result. All search result types should inherit from this model. properties: score: description: The score of the search result. title: Score type: number required: - score title: SearchResultMeta type: object Server: additionalProperties: true properties: apiVersion: readOnly: true title: Apiversion type: string kind: const: Server default: Server title: Kind type: string metadata: $ref: '#/components/schemas/KindMetadata' spec: $ref: '#/components/schemas/ServerSpec' status: anyOf: - type: object - type: 'null' title: Status required: - metadata - spec - apiVersion title: Server type: object ServerSpec: properties: displayName: anyOf: - type: string - type: 'null' title: Displayname envFromSources: anyOf: - items: type: object type: array - type: 'null' title: Envfromsources image: title: Image type: string ingressConfig: anyOf: - $ref: '#/components/schemas/IngressConfig' - type: 'null' launcherConfig: anyOf: - $ref: '#/components/schemas/LauncherConfig' - type: 'null' orgID: title: Orgid type: string port: default: 8000 title: Port type: integer pullPolicy: default: IfNotPresent title: Pullpolicy type: string volumeMounts: anyOf: - items: type: object type: array - type: 'null' title: Volumemounts volumes: anyOf: - items: type: object type: array - type: 'null' title: Volumes required: - orgID - image title: ServerSpec type: object ServiceTokenResponse: description: Response including the service token for the SDK to use. properties: doppler_config: anyOf: - type: string - type: 'null' title: Doppler Config doppler_env: anyOf: - type: string - type: 'null' title: Doppler Env doppler_project: anyOf: - type: string - type: 'null' title: Doppler Project doppler_service_token: anyOf: - type: string - type: 'null' title: Doppler Service Token title: ServiceTokenResponse type: object SmitheryConnectionInfo: properties: config_schema: anyOf: - type: object - type: boolean default: true title: Config Schema deployment_url: format: uri minLength: 1 title: Deployment Url type: string type: enum: - ws - http title: Type type: string required: - type title: SmitheryConnectionInfo type: object SmitheryToolServerClient: description: A client for a tool server that is a smithery server. properties: client_type: const: smithery title: Client Type type: string connections: items: $ref: '#/components/schemas/SmitheryConnectionInfo' title: Connections type: array launch_config: anyOf: - $ref: '#/components/schemas/ToolServerLaunchConfig' - type: 'null' server_id: format: uuid title: Server Id type: string required: - server_id - client_type - connections title: SmitheryToolServerClient type: object Strategy: description: A model representing a result for a goal-based search. properties: instructions: description: Instructions to follow the strategy. title: Instructions type: string recipe_id: description: The ID of the recipe that was used to generate the strategy. format: uuid title: Recipe Id type: string tools: description: >- List of one or more fully-hydrated tool resources that should be used in the strategy to achieve the goal. items: $ref: '#/components/schemas/ToolResource' title: Tools type: array required: - recipe_id - instructions - tools title: Strategy type: object Tool: description: A tool. properties: description: anyOf: - type: string - type: 'null' description: A description of the tool. title: Description icon_url: anyOf: - format: uri minLength: 1 type: string - type: 'null' description: A URL to an icon for the tool. title: Icon Url id: format: uuid title: Id type: string input_schema: anyOf: - type: object - type: boolean default: true description: A JSON schema for the tool's input (defaults to 'always valid'). title: Input Schema name: description: The name of the tool (should be unique within a server). title: Name type: string server_id: format: uuid title: Server Id type: string required: - server_id - name - id title: Tool type: object ToolCustomTagSelectionParamsRequest: description: >- Params that generalize the selection the tags for a tool in an integration. properties: description: anyOf: - type: string - type: 'null' title: Description integration_name: title: Integration Name type: string tags: items: type: string title: Tags type: array tool_name: title: Tool Name type: string required: - integration_name - tool_name - tags title: ToolCustomTagSelectionParamsRequest type: object ToolCustomTagsParamsRequest: description: >- Params to change the tags for a tool in an integration. Will upsert any tags that already exist. Will not delete any other tags. This is only net additive. properties: description: anyOf: - type: string - type: 'null' title: Description integration_name: title: Integration Name type: string tags: title: Tags type: object tool_name: title: Tool Name type: string required: - integration_name - tool_name - tags title: ToolCustomTagsParamsRequest type: object ToolProperties: description: Properties for a tool. properties: tags: title: Tags type: object required: - tags title: ToolProperties type: object ToolResource: description: A broad summary of details about a tool akin to a ToolResource. properties: canonical_resource: $ref: '#/components/schemas/CanonicalResource' readOnly: true description: anyOf: - type: string - type: 'null' title: Description id: title: Id type: string integration_name: title: Integration Name type: string org_id: title: Org Id type: string policy: $ref: '#/components/schemas/PolicyBase' profile_id: title: Profile Id type: string properties: $ref: '#/components/schemas/ToolProperties' provider: $ref: '#/components/schemas/ToolServerProvider' readOnly: true server: $ref: '#/components/schemas/ToolServer' readOnly: true tool: $ref: '#/components/schemas/Tool' tool_name: title: Tool Name type: string required: - integration_name - tool_name - id - tool - org_id - profile_id - policy - properties - server - provider - canonical_resource title: ToolResource type: object ToolServer: properties: id: format: uuid title: Id type: string name: title: Name type: string properties: title: Properties type: object provider_id: format: uuid title: Provider Id type: string required: - provider_id - name - id title: ToolServer type: object ToolServerLaunchConfig: description: The launch config for a tool server. properties: secret_name: title: Secret Name type: string source: const: doppler title: Source type: string required: - source - secret_name title: ToolServerLaunchConfig type: object ToolServerProperties: description: Properties for a tool server. properties: properties: title: Properties type: object required: - properties title: ToolServerProperties type: object ToolServerProvider: properties: id: format: uuid title: Id type: string name: title: Name type: string required: - id - name title: ToolServerProvider type: object Toolprint-Input: description: >- A declarative definition of a toolprint that describes how tools should be used together to achieve a goal. This is a simplified model that focuses on the conceptual structure and specifically avoids referential fields to any persisted entities. properties: goal: description: The goal that this recipe is helping an agent achieve. title: Goal type: string instructions: anyOf: - type: string - type: 'null' description: The instructions on how this recipe should be used. title: Instructions meta: $ref: '#/components/schemas/ToolprintMeta-Input' description: Meta fields for the toolprint. tools: description: Definitions for how each tool should be used in this toolprint. items: $ref: '#/components/schemas/ToolprintTool' title: Tools type: array required: - meta - goal - instructions - tools title: Toolprint type: object Toolprint-Output: description: >- A declarative definition of a toolprint that describes how tools should be used together to achieve a goal. This is a simplified model that focuses on the conceptual structure and specifically avoids referential fields to any persisted entities. properties: goal: description: The goal that this recipe is helping an agent achieve. title: Goal type: string instructions: anyOf: - type: string - type: 'null' description: The instructions on how this recipe should be used. title: Instructions meta: $ref: '#/components/schemas/ToolprintMeta-Output' description: Meta fields for the toolprint. tools: description: Definitions for how each tool should be used in this toolprint. items: $ref: '#/components/schemas/ToolprintTool' title: Tools type: array required: - meta - goal - instructions - tools title: Toolprint type: object ToolprintMeta-Input: description: A set of meta fields that are common to all toolprints. properties: language: const: en-US default: en-US description: The language of the toolprint. title: Language type: string name: description: The name of the toolprint. title: Name type: string resource_id: anyOf: - format: uuid type: string - type: 'null' description: The unique identifier for the toolprint. title: Resource Id version: default: 0.0.1 description: The version of the toolprint definition. title: Version type: string required: - name title: ToolprintMeta type: object ToolprintMeta-Output: description: A set of meta fields that are common to all toolprints. properties: language: const: en-US default: en-US description: The language of the toolprint. title: Language type: string name: description: The name of the toolprint. title: Name type: string resource_id: anyOf: - type: string - type: 'null' description: The unique identifier for the toolprint. title: Resource Id version: default: 0.0.1 description: The version of the toolprint definition. title: Version type: string required: - name title: ToolprintMeta type: object ToolprintRecommendation: description: A recommendation for a toolprint based on a goal. properties: meta: $ref: '#/components/schemas/SearchResultMeta' description: Meta fields for the toolprint recommendation. prompts: description: >- The prompts that should be injected into the message stack to prime the agent's LLM. items: $ref: '#/components/schemas/Prompt' title: Prompts type: array toolprint: $ref: '#/components/schemas/RegisteredToolprint' description: The toolprint that is recommended. required: - meta - toolprint - prompts title: ToolprintRecommendation type: object ToolprintTool: description: >- A definition of how a specific tool should be used within a toolprint. This is a simplified model that focuses on the conceptual structure and specifically avoids referential fields to any persisted entities. This tool reference is limited to the server or integration in which the toolprint was defined. properties: ref: $ref: '#/components/schemas/ToolprintToolReference' description: >- A reference to a tool that is used in this toolprint. This reference can link to a tool directly by a unique identifier or indirectly througha link to the tool server as well as the name of the tool. The latter reference is experimental and relies on the implementorto ensure that the reference is correctly followed. usage_hints: anyOf: - type: string - type: 'null' description: >- A more in-depth description of this tool and what it should be used for in the context of this recipe. title: Usage Hints required: - ref title: ToolprintTool type: object ToolprintToolReference: description: >- A reference to a tool that is used in a toolprint. This reference can link to a tool directly by a unique identifier or indirectly through a link to the tool server as well as the name of the tool. The latter reference is experimental and relies on the implementor to ensure that the reference is correctly followed. properties: id: anyOf: - format: uuid type: string - type: 'null' description: An optional reference id title: Id name: description: >- The name of the tool. If the tool exists within this server or integration, this value will be used to link to it. title: Name type: string ref_type: anyOf: - enum: - local - id type: string - type: 'null' default: local description: >- The type of reference to the tool. If the tool exists within this server or integration, this value will be used to link to it. title: Ref Type required: - name title: ToolprintToolReference type: object TraefikIngressRoute: additionalProperties: true properties: apiVersion: readOnly: true title: Apiversion type: string kind: const: IngressRoute default: IngressRoute title: Kind type: string metadata: $ref: '#/components/schemas/KindMetadata' spec: $ref: '#/components/schemas/IngressConfig' status: title: Status type: object required: - metadata - spec - status - apiVersion title: TraefikIngressRoute type: object UpsertSecretRequest: properties: value: anyOf: - type: string - type: object title: Value value_type: enum: - string - object title: Value Type type: string required: - value_type - value title: UpsertSecretRequest type: object UpsertSecretResponse: properties: secret_name: title: Secret Name type: string success: title: Success type: boolean required: - success - secret_name title: UpsertSecretResponse type: object UserAccount: description: Model for storing user information including their API key properties: api_key: title: Api Key type: string belongs_to_organization_id: anyOf: - type: string - type: 'null' title: Belongs To Organization Id created_at: anyOf: - format: date-time type: string - type: 'null' title: Created At doppler_service_token_id: anyOf: - format: uuid type: string - type: 'null' title: Doppler Service Token Id id: title: Id type: string updated_at: anyOf: - format: date-time type: string - type: 'null' title: Updated At required: - id - api_key title: UserAccount type: object ValidationError: properties: loc: items: anyOf: - type: string - type: integer title: Location type: array msg: title: Message type: string type: title: Error Type type: string required: - loc - msg - type title: ValidationError type: object securitySchemes: APIKeyHeader: in: header name: X-ONEGREP-API-KEY type: apiKey HTTPBearer: scheme: bearer type: http info: description: OneGrep's core API service title: OneGrep API version: 0.0.1 openapi: 3.1.0 paths: /ai.txt: get: description: |- Returns the complete API documentation including toolprint examples. This endpoint combines: 1. Base API documentation (base_ai.txt) 2. Toolprint example and usage guide (toolprint_example.txt) operationId: get_ai_documentation_ai_txt_get responses: '200': content: text/plain: schema: type: string description: Successful Response summary: Get Ai Documentation /api/v1/account/: delete: operationId: delete_account_api_v1_account__delete responses: '200': content: application/json: schema: title: Response Delete Account Api V1 Account Delete type: boolean description: Successful Response security: - HTTPBearer: [] summary: Delete Account tags: - account get: operationId: get_account_information_api_v1_account__get responses: '200': content: application/json: schema: $ref: '#/components/schemas/AccountInformation' description: Successful Response security: - HTTPBearer: [] summary: Get Account Information tags: - account post: description: >- Creates a new account given an authenticated user if they recently signed up via PropelAuth. NOTE: This only creates the account, not assign the user to an organization. Use invitation codes to assign to an organization. operationId: create_account_api_v1_account__post responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserAccount' description: Successful Response security: - HTTPBearer: [] summary: Create Account tags: - account /api/v1/account/api-key: get: description: Returns the API key information for the authenticated user. operationId: get_api_key_api_v1_account_api_key_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserAccount' description: Successful Response security: - HTTPBearer: [] summary: Get Api Key tags: - account /api/v1/account/auth/status: get: description: >- Returns the authentications state of the caller. Will read their API Key or JWT and then determine if a OneGrep account exists. If yes, then it will be considered authenticated. # ! NOTE: The User may have a valid JWT but if they do not have a OneGrep account, they will not be considered authenticated. operationId: get_auth_status_api_v1_account_auth_status_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/AuthenticationStatus' description: Successful Response security: - HTTPBearer: [] - APIKeyHeader: [] summary: Get Auth Status tags: - account /api/v1/account/invitation-code: post: description: >- Creates a new account given an authenticated user and a valid invitation code. operationId: create_account_by_invitation_api_v1_account_invitation_code_post requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountCreateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/AccountInformation' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - HTTPBearer: [] summary: Create Account By Invitation tags: - account /api/v1/account/service-token: get: description: Returns the service token information for the authenticated user. operationId: get_service_token_api_v1_account_service_token_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServiceTokenResponse' description: Successful Response security: - HTTPBearer: [] summary: Get Service Token tags: - account post: operationId: rotate_service_token_api_v1_account_service_token_post responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServiceTokenResponse' description: Successful Response security: - HTTPBearer: [] summary: Rotate Service Token tags: - account /api/v1/audit/: get: description: |- Gets audit logs visible to the user with pagination and filtering. - Page numbers start at 1 (not 0) - Results are sorted by timestamp (newest first) - Optional filters can be applied for policy_id, action, and date range operationId: get_audit_logs_api_v1_audit__get parameters: - description: Page number (1-indexed) in: query name: page required: false schema: default: 1 description: Page number (1-indexed) minimum: 1 title: Page type: integer - description: Items per page in: query name: page_size required: false schema: default: 100 description: Items per page maximum: 500 minimum: 1 title: Page Size type: integer - description: Filter by policy ID in: query name: policy_id required: false schema: anyOf: - type: string - type: 'null' description: Filter by policy ID title: Policy Id - description: Filter by action type in: query name: action required: false schema: anyOf: - type: string - type: 'null' description: Filter by action type title: Action - description: Filter logs after this date (ISO format) in: query name: start_date required: false schema: anyOf: - format: date-time type: string - type: 'null' description: Filter logs after this date (ISO format) title: Start Date - description: Filter logs before this date (ISO format) in: query name: end_date required: false schema: anyOf: - format: date-time type: string - type: 'null' description: Filter logs before this date (ISO format) title: End Date responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedResponse_AuditLog_' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Audit Logs tags: - audit /api/v1/flags/: get: operationId: get_all_flags_api_v1_flags__get responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetAllFlagsResponse' description: Successful Response security: - APIKeyHeader: [] summary: Get All Flags tags: - flags /api/v1/integrations/: get: description: >- Lists all available integrations for a user's organization. If active is true, only returns integrations that have an active tool server. operationId: list_integrations_api_v1_integrations__get parameters: - in: query name: active required: false schema: default: false title: Active type: boolean responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/IntegrationConfigDetails' title: Response List Integrations Api V1 Integrations Get type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: List Integrations tags: - integrations /api/v1/integrations/{integration_name}/tools: get: description: Returns details for a tool in an integration available to a user. operationId: get_integration_tools_api_v1_integrations__integration_name__tools_get parameters: - in: path name: integration_name required: true schema: title: Integration Name type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ToolResource' title: >- Response Get Integration Tools Api V1 Integrations Integration Name Tools Get type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Integration Tools tags: - integrations /api/v1/integrations/{integration_name}/tools/custom/tags: post: description: Upserts custom tags for multiple tools in an integration. operationId: >- upsert_multiple_tool_custom_tags_api_v1_integrations__integration_name__tools_custom_tags_post parameters: - in: path name: integration_name required: true schema: title: Integration Name type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleToolCustomTagsParamsRequest' required: true responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ToolResource' title: >- Response Upsert Multiple Tool Custom Tags Api V1 Integrations Integration Name Tools Custom Tags Post type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Upsert Multiple Tool Custom Tags tags: - integrations /api/v1/integrations/{integration_name}/tools/{tool_name}: get: description: Returns the details for a tool in an integration. operationId: >- get_tool_details_api_v1_integrations__integration_name__tools__tool_name__get parameters: - in: path name: integration_name required: true schema: title: Integration Name type: string - in: path name: tool_name required: true schema: title: Tool Name type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolResource' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Tool Details tags: - integrations /api/v1/integrations/{integration_name}/tools/{tool_name}/custom/tags: delete: description: Deletes custom tags for a tool in an integration. operationId: >- delete_tool_custom_tags_api_v1_integrations__integration_name__tools__tool_name__custom_tags_delete parameters: - in: path name: integration_name required: true schema: title: Integration Name type: string - in: path name: tool_name required: true schema: title: Tool Name type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ToolCustomTagSelectionParamsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolResource' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Delete Tool Custom Tags tags: - integrations post: description: >- Upserts custom tags for a tool in an integration. Will not delete any existing tags but will update any overlapping tags that are already set. operationId: >- upsert_tool_custom_tags_api_v1_integrations__integration_name__tools__tool_name__custom_tags_post parameters: - in: path name: integration_name required: true schema: title: Integration Name type: string - in: path name: tool_name required: true schema: title: Tool Name type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ToolCustomTagsParamsRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolResource' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Upsert Tool Custom Tags tags: - integrations /api/v1/policies/: get: operationId: get_all_policies_api_v1_policies__get parameters: - in: query name: skip required: false schema: default: 0 title: Skip type: integer - in: query name: limit required: false schema: default: 100 title: Limit type: integer responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/Policy' title: Response Get All Policies Api V1 Policies Get type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get All Policies tags: - policies post: operationId: create_policy_api_v1_policies__post requestBody: content: application/json: schema: $ref: '#/components/schemas/NewPolicyRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Policy' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Create Policy tags: - policies /api/v1/policies/approvals: get: description: >- Get all approval requests visible to the user with their associated policies and resource details. operationId: get_approval_requests_api_v1_policies_approvals_get parameters: - in: query name: page required: false schema: default: 0 title: Page type: integer - in: query name: page_size required: false schema: default: 100 title: Page Size type: integer responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ApprovalAndPolicy' title: Response Get Approval Requests Api V1 Policies Approvals Get type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Approval Requests tags: - policies /api/v1/policies/resources/check: get: operationId: check_resource_access_get_api_v1_policies_resources_check_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/PolicyCheckResult' description: Successful Response summary: Check Resource Access Get tags: - policies post: description: Generic endpoint to check resource access. operationId: check_resource_access_api_v1_policies_resources_check_post responses: '200': content: application/json: schema: $ref: '#/components/schemas/PolicyCheckResult' description: Successful Response security: - APIKeyHeader: [] summary: Check Resource Access tags: - policies /api/v1/policies/resources/{resource_name}/approval: get: description: >- Checks the policy that is associated with a resource if it requires approval, if yes, this will create an approval request. If the policy indicates that it does require approval, this will wait for the user to approve or reject the request before returning back the final response and HTTP CODE. 200 = approved or didn't require approval, 403 = rejected by the user. operationId: >- check_resource_for_approval_api_v1_policies_resources__resource_name__approval_get parameters: - in: path name: resource_name required: true schema: title: Resource Name type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Check Resource For Approval tags: - policies /api/v1/policies/{policy_id}: get: operationId: get_policy_api_v1_policies__policy_id__get parameters: - in: path name: policy_id required: true schema: title: Policy Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Policy' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Policy tags: - policies put: operationId: update_policy_api_v1_policies__policy_id__put parameters: - in: path name: policy_id required: true schema: title: Policy Id type: string requestBody: content: application/json: schema: title: Update Data type: object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Policy' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Update Policy tags: - policies /api/v1/policies/{policy_id}/{audit_id}/status: post: operationId: check_policy_status_api_v1_policies__policy_id___audit_id__status_post parameters: - in: path name: policy_id required: true schema: format: uuid title: Policy Id type: string - in: path name: audit_id required: true schema: title: Audit Id type: integer responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Check Policy Status tags: - policies /api/v1/providers/: get: operationId: list_providers_api_v1_providers__get responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ToolServerProvider' title: Response List Providers Api V1 Providers Get type: array description: Successful Response security: - APIKeyHeader: [] summary: List Providers tags: - providers /api/v1/providers/{provider_id}: get: operationId: get_provider_api_v1_providers__provider_id__get parameters: - in: path name: provider_id required: true schema: title: Provider Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolServerProvider' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Provider tags: - providers /api/v1/providers/{provider_id}/servers: get: operationId: get_servers_api_v1_providers__provider_id__servers_get parameters: - in: path name: provider_id required: true schema: title: Provider Id type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ToolServer' title: >- Response Get Servers Api V1 Providers Provider Id Servers Get type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Servers tags: - providers /api/v1/providers/{provider_id}/sync: post: operationId: sync_provider_api_v1_providers__provider_id__sync_post parameters: - in: path name: provider_id required: true schema: title: Provider Id type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Sync Provider tags: - providers /api/v1/sdk/initialize: get: operationId: initialize_api_v1_sdk_initialize_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/InitializeResponse' description: Successful Response security: - APIKeyHeader: [] summary: Initialize tags: - sdk /api/v1/sdk/service-token: get: description: Returns the service token information for the authenticated user. operationId: get_service_token_api_v1_sdk_service_token_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServiceTokenResponse' description: Successful Response security: - APIKeyHeader: [] summary: Get Service Token tags: - sdk /api/v1/search/reindex: post: description: Reindexes all tools and toolprints for an organization. operationId: reindex_api_v1_search_reindex_post responses: '200': content: application/json: schema: {} description: Successful Response security: - APIKeyHeader: [] summary: Reindex tags: - search /api/v1/search/reindex/toolprints: post: description: Reindexes all toolprints for an organization. operationId: reindex_toolprints_api_v1_search_reindex_toolprints_post responses: '200': content: application/json: schema: {} description: Successful Response security: - APIKeyHeader: [] summary: Reindex Toolprints tags: - search /api/v1/search/reindex/tools: post: operationId: reindex_tools_api_v1_search_reindex_tools_post responses: '200': content: application/json: schema: {} description: Successful Response security: - APIKeyHeader: [] summary: Reindex Tools tags: - search /api/v1/search/toolprints: post: description: >- Searches for the best set of toolprints that semantically match the query and returns them along with a similarity score for each toolprint. operationId: search_toolprints_api_v1_search_toolprints_post requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' required: true responses: '200': content: application/json: schema: $ref: >- #/components/schemas/SearchResponse_ScoredItem_RegisteredToolprint__ description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Search Toolprints tags: - search /api/v1/search/toolprints/recommendation: post: description: >- Returns a single recommendation for a toolprint based on the goal that is trying to be achieved. It also includes the set of prompts that should be injected into the message stack to prime the agent's LLM. Args: request_context: The authenticated request context toolprint_index: The toolprint index manager to search with search_request: The search request containing the goal query Returns: A ToolprintRecommendation containing the best matching toolprint and associated prompts operationId: >- get_toolprint_recommendation_api_v1_search_toolprints_recommendation_post requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolprintRecommendation' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Toolprint Recommendation tags: - search /api/v1/search/tools: post: description: >- Searches for the best set of tools that semantically match the query and returns them along with a similarity score for each tool. operationId: search_tools_api_v1_search_tools_post requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchResponse_ScoredItem_Tool__' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Search Tools tags: - search /api/v1/secrets/: get: operationId: get_secrets_api_v1_secrets__get responses: '200': content: application/json: schema: {} description: Successful Response security: - APIKeyHeader: [] summary: Get Secrets tags: - secrets /api/v1/secrets/{secret_name}: get: operationId: get_secret_api_v1_secrets__secret_name__get parameters: - in: path name: secret_name required: true schema: title: Secret Name type: string responses: '200': content: application/json: schema: title: Response Get Secret Api V1 Secrets Secret Name Get type: object description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Secret tags: - secrets put: operationId: upsert_secret_api_v1_secrets__secret_name__put parameters: - in: path name: secret_name required: true schema: title: Secret Name type: string - in: header name: X-ONEGREP-PROFILE-ID required: false schema: anyOf: - type: string - type: 'null' title: X-Onegrep-Profile-Id requestBody: content: application/json: schema: $ref: >- #/components/schemas/Body_upsert_secret_api_v1_secrets__secret_name__put required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpsertSecretResponse' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] - HTTPBearer: [] summary: Upsert Secret tags: - secrets /api/v1/servers/: get: operationId: list_servers_api_v1_servers__get responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ToolServer' title: Response List Servers Api V1 Servers Get type: array description: Successful Response security: - APIKeyHeader: [] summary: List Servers tags: - servers /api/v1/servers/{server_id}: get: operationId: get_server_api_v1_servers__server_id__get parameters: - in: path name: server_id required: true schema: title: Server Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolServer' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Server tags: - servers /api/v1/servers/{server_id}/client: get: operationId: get_server_client_api_v1_servers__server_id__client_get parameters: - in: path name: server_id required: true schema: title: Server Id type: string responses: '200': content: application/json: schema: discriminator: mapping: blaxel: '#/components/schemas/BlaxelToolServerClient' composio: '#/components/schemas/ComposioToolServerClient' mcp: '#/components/schemas/MCPToolServerClient' smithery: '#/components/schemas/SmitheryToolServerClient' propertyName: client_type oneOf: - $ref: '#/components/schemas/MCPToolServerClient' - $ref: '#/components/schemas/BlaxelToolServerClient' - $ref: '#/components/schemas/SmitheryToolServerClient' - $ref: '#/components/schemas/ComposioToolServerClient' title: >- Response Get Server Client Api V1 Servers Server Id Client Get description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Server Client tags: - servers /api/v1/servers/{server_id}/properties: get: operationId: get_server_properties_api_v1_servers__server_id__properties_get parameters: - in: path name: server_id required: true schema: title: Server Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolServerProperties' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Server Properties tags: - servers /api/v1/servers/{server_id}/properties/{key}: patch: operationId: >- patch_server_properties_api_v1_servers__server_id__properties__key__patch parameters: - in: path name: server_id required: true schema: title: Server Id type: string - in: path name: key required: true schema: title: Key type: string requestBody: content: application/json: schema: title: Value type: object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolServerProperties' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Patch Server Properties tags: - servers /api/v1/strategy/: post: description: Gets a strategy for a given goal. operationId: get_strategy_api_v1_strategy__post requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' required: true responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/Strategy' title: Response Get Strategy Api V1 Strategy Post type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Strategy tags: - strategy /api/v1/strategy/fake: post: description: Creates fake strategies for testing purposes. operationId: create_fake_recipes_api_v1_strategy_fake_post responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/Recipe' title: Response Create Fake Recipes Api V1 Strategy Fake Post type: array description: Successful Response security: - APIKeyHeader: [] summary: Create Fake Recipes tags: - strategy /api/v1/toolprints/: post: description: |- Creates a new toolprint and indexes it for search. The process: 1. Validates the toolprint definition 2. Creates and persists the toolprint 3. Indexes the toolprint for semantic search operationId: create_toolprint_api_v1_toolprints__post requestBody: content: application/json: schema: $ref: '#/components/schemas/Toolprint-Input' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/RegisteredToolprint' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Create Toolprint tags: - toolprints /api/v1/toolprints/.well-known/ai.txt: get: description: >- Returns the complete toolprint documentation including example in markdown format. operationId: get_toolprint_instructions_api_v1_toolprints__well_known_ai_txt_get responses: '200': content: text/plain: schema: type: string description: Successful Response security: - APIKeyHeader: [] summary: Get Toolprint Instructions tags: - toolprints /api/v1/toolprints/.well-known/schema: get: description: Returns the schema for toolprint definitions. operationId: get_toolprint_schema_api_v1_toolprints__well_known_schema_get responses: '200': content: application/json: schema: title: >- Response Get Toolprint Schema Api V1 Toolprints Well Known Schema Get type: object description: Successful Response security: - APIKeyHeader: [] summary: Get Toolprint Schema tags: - toolprints /api/v1/toolprints/.well-known/template: get: description: Returns a template for toolprint definitions in YAML format. operationId: get_toolprint_template_api_v1_toolprints__well_known_template_get responses: '200': content: text/plain: schema: type: string description: Successful Response security: - APIKeyHeader: [] summary: Get Toolprint Template tags: - toolprints /api/v1/toolprints/json: post: description: |- Creates a new toolprint from JSON content and indexes it for search. The process: 1. Validates the JSON content 2. Creates and persists the toolprint 3. Indexes the toolprint for semantic search operationId: create_toolprint_json_api_v1_toolprints_json_post requestBody: content: application/json: schema: $ref: '#/components/schemas/BasicPostBody' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/RegisteredToolprint' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Create Toolprint Json tags: - toolprints /api/v1/toolprints/validate: post: description: |- Validates a toolprint definition without persisting it. This endpoint checks: 1. The basic structure and required fields of the toolprint 2. That all referenced tools exist and are accessible to the user 3. That the toolprint definition meets any additional business rules operationId: validate_toolprint_api_v1_toolprints_validate_post requestBody: content: application/json: schema: $ref: '#/components/schemas/Toolprint-Input' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BasicPostResponse' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Validate Toolprint tags: - toolprints /api/v1/toolprints/validate/json: post: description: |- Validates a toolprint definition in JSON format without persisting it. This endpoint accepts JSON content and: 1. Validates the JSON can be converted to a Toolprint model 2. Validates the basic structure and required fields 3. Checks that all referenced tools exist and are accessible 4. Verifies the toolprint definition meets business rules operationId: validate_toolprint_json_api_v1_toolprints_validate_json_post requestBody: content: application/json: schema: $ref: '#/components/schemas/BasicPostBody' required: true responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Validate Toolprint Json tags: - toolprints /api/v1/toolprints/validate/yaml: post: description: |- Validates a toolprint definition in YAML format without persisting it. This endpoint accepts YAML content and: 1. Parses the YAML into a Toolprint model 2. Validates the basic structure and required fields 3. Checks that all referenced tools exist and are accessible 4. Verifies the toolprint definition meets business rules operationId: validate_toolprint_yaml_api_v1_toolprints_validate_yaml_post requestBody: content: text/plain: schema: title: Yaml Content type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/BasicPostResponse' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Validate Toolprint Yaml tags: - toolprints /api/v1/toolprints/yaml: post: description: |- Creates a new toolprint from YAML content and indexes it for search. The process: 1. Parses and validates the YAML content 2. Creates and persists the toolprint 3. Indexes the toolprint for semantic search operationId: create_toolprint_yaml_api_v1_toolprints_yaml_post requestBody: content: text/plain: schema: title: Yaml Content type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/RegisteredToolprint' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Create Toolprint Yaml tags: - toolprints /api/v1/toolprints/{toolprint_id}: get: description: Gets a specific toolprint by its ID. operationId: get_toolprint_api_v1_toolprints__toolprint_id__get parameters: - in: path name: toolprint_id required: true schema: format: uuid title: Toolprint Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/RegisteredToolprint' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Toolprint tags: - toolprints /api/v1/tools/: get: description: List all tools for the current user. operationId: list_tools_api_v1_tools__get responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/Tool' title: Response List Tools Api V1 Tools Get type: array description: Successful Response security: - APIKeyHeader: [] summary: List Tools tags: - tools /api/v1/tools/resources/batch: post: description: >- Returns hydrated tool resources for the specified tool IDs in an efficient batch operation. operationId: get_tool_resources_batch_api_v1_tools_resources_batch_post requestBody: content: application/json: schema: $ref: '#/components/schemas/MultiIdPostBody' required: true responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/ToolResource' title: >- Response Get Tool Resources Batch Api V1 Tools Resources Batch Post type: array description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Tool Resources Batch tags: - tools /api/v1/tools/{tool_id}: get: operationId: get_tool_api_v1_tools__tool_id__get parameters: - in: path name: tool_id required: true schema: title: Tool Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Tool' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Tool tags: - tools /api/v1/tools/{tool_id}/properties: get: operationId: get_tool_properties_api_v1_tools__tool_id__properties_get parameters: - in: path name: tool_id required: true schema: title: Tool Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolProperties' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Tool Properties tags: - tools /api/v1/tools/{tool_id}/resource: get: description: >- Returns the hydrated details for a tool given the current user and profile. operationId: get_tool_resource_api_v1_tools__tool_id__resource_get parameters: - in: path name: tool_id required: true schema: title: Tool Id type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ToolResource' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Tool Resource tags: - tools /health: get: description: Generic healthcheck endpoint to ensure the service is running. operationId: health_health_get responses: '200': content: application/json: schema: {} description: Successful Response summary: Health servers: - description: Local url: http://localhost:8080 - description: Docker url: http://localhost:8080 - description: test-sandbox url: https://test-sandbox.onegrep.dev - description: Production url: https://api.onegrep.dev