{"openapi":"3.1.0","info":{"title":"AutoGPT External API","description":"External API for AutoGPT integrations","version":"1.0"},"servers":[{"url":"/external-api"}],"paths":{"/v1/integrations/providers":{"get":{"tags":["integrations"],"summary":"List Providers","description":"List all available integration providers.\n\nReturns a list of all providers with their supported credential types.\nMost providers support API key credentials, and some also support OAuth.","operationId":"list_providers_v1_integrations_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProviderInfo"},"type":"array","title":"Response List Providers V1 Integrations Providers Get"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/v1/integrations/{provider}/oauth/initiate":{"post":{"tags":["integrations"],"summary":"Initiate OAuth flow","description":"Initiate an OAuth flow for an external application.\n\nThis endpoint allows external apps to start an OAuth flow with a custom\ncallback URL. The callback URL must be from an allowed origin configured\nin the platform settings.\n\nReturns a login URL to redirect the user to, along with a state token\nfor CSRF protection.","operationId":"initiate_oauth_v1_integrations__provider__oauth_initiate_post","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"The OAuth provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthInitiateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthInitiateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/{provider}/oauth/complete":{"post":{"tags":["integrations"],"summary":"Complete OAuth flow","description":"Complete an OAuth flow by exchanging the authorization code for tokens.\n\nThis endpoint should be called after the user has authorized the application\nand been redirected back to the external app's callback URL with an\nauthorization code.","operationId":"complete_oauth_v1_integrations__provider__oauth_complete_post","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"The OAuth provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthCompleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/credentials":{"get":{"tags":["integrations"],"summary":"List Credentials","description":"List all credentials for the authenticated user.\n\nReturns metadata about each credential without exposing sensitive tokens.","operationId":"list_credentials_v1_integrations_credentials_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CredentialsMetaResponse"},"type":"array","title":"Response List Credentials V1 Integrations Credentials Get"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/v1/integrations/{provider}/credentials":{"get":{"tags":["integrations"],"summary":"List Credentials By Provider","description":"List credentials for a specific provider.","operationId":"list_credentials_by_provider_v1_integrations__provider__credentials_get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"The provider to list credentials for"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CredentialsMetaResponse"},"title":"Response List Credentials By Provider V1 Integrations Provider Credentials Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["integrations"],"summary":"Create credentials","description":"Create non-OAuth credentials for a provider.\n\nSupports creating:\n- API key credentials (type: \"api_key\")\n- Username/password credentials (type: \"user_password\")\n- Host-scoped credentials (type: \"host_scoped\")\n\nFor OAuth credentials, use the OAuth initiate/complete flow instead.","operationId":"create_credential_v1_integrations__provider__credentials_post","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"The provider to create credentials for"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CreateAPIKeyCredentialRequest"},{"$ref":"#/components/schemas/CreateUserPasswordCredentialRequest"},{"$ref":"#/components/schemas/CreateHostScopedCredentialRequest"}],"discriminator":{"propertyName":"type","mapping":{"api_key":"#/components/schemas/CreateAPIKeyCredentialRequest","user_password":"#/components/schemas/CreateUserPasswordCredentialRequest","host_scoped":"#/components/schemas/CreateHostScopedCredentialRequest"}},"title":"Request"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCredentialResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/{provider}/credentials/{cred_id}":{"delete":{"tags":["integrations"],"summary":"Delete Credential","description":"Delete a credential.\n\nNote: This does not revoke the tokens with the provider. For full cleanup,\nuse the main API's delete endpoint which handles webhook cleanup and\ntoken revocation.","operationId":"delete_credential_v1_integrations__provider__credentials__cred_id__delete","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"The provider"}},{"name":"cred_id","in":"path","required":true,"schema":{"type":"string","title":"The credential ID to delete"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCredentialResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/find-agent":{"post":{"tags":["tools"],"summary":"Find Agent","description":"Search for agents in the marketplace based on capabilities and user needs.\n\nArgs:\n request: Search query for finding agents\n\nReturns:\n List of matching agents or no results response","operationId":"find_agent_v1_tools_find_agent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindAgentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Find Agent V1 Tools Find Agent Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/v1/tools/run-agent":{"post":{"tags":["tools"],"summary":"Run Agent","description":"Run or schedule an agent from the marketplace.\n\nThe endpoint automatically handles the setup flow:\n- Returns missing inputs if required fields are not provided\n- Returns missing credentials if user needs to configure them\n- Executes immediately if all requirements are met\n- Schedules execution if schedule_name and cron are provided\n\nFor scheduled execution:\n- Cron format: \"minute hour day month weekday\"\n- Examples: \"0 9 * * 1-5\" (9am weekdays), \"0 0 * * *\" (daily at midnight)\n- Timezone: Use IANA timezone names like \"America/New_York\"\n\nArgs:\n request: Agent slug, inputs, and optional schedule config\n\nReturns:\n - setup_requirements: If inputs or credentials are missing\n - execution_started: If agent was run or scheduled successfully\n - error: If something went wrong","operationId":"run_agent_v1_tools_run_agent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunAgentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Run Agent V1 Tools Run Agent Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/v1/me":{"get":{"tags":["user","meta"],"summary":"Get User Info","operationId":"get_user_info_v1_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserInfoResponse"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/v1/blocks":{"get":{"tags":["blocks"],"summary":"Get Graph Blocks","operationId":"get_graph_blocks_v1_blocks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Get Graph Blocks V1 Blocks Get"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/v1/blocks/{block_id}/execute":{"post":{"tags":["blocks"],"summary":"Execute Graph Block","operationId":"execute_graph_block_v1_blocks__block_id__execute_post","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"block_id","in":"path","required":true,"schema":{"type":"string","title":"Block Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{}},"title":"Response Execute Graph Block V1 Blocks Block Id Execute Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/graphs":{"post":{"tags":["graphs"],"summary":"Create Graph","description":"Create a new agent graph.\n\nThe graph will be validated and assigned a new ID.\nIt is automatically added to the user's library.","operationId":"create_graph_v1_graphs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Graph"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}]}},"/v1/graphs/{graph_id}/execute/{graph_version}":{"post":{"tags":["graphs"],"summary":"Execute Graph","operationId":"execute_graph_v1_graphs__graph_id__execute__graph_version__post","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}},{"name":"graph_version","in":"path","required":true,"schema":{"type":"integer","title":"Graph Version"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_execute_graph_v1_graphs__graph_id__execute__graph_version__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Execute Graph V1 Graphs Graph Id Execute Graph Version Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/graphs/{graph_id}/executions/{graph_exec_id}/results":{"get":{"tags":["graphs"],"summary":"Get Graph Execution Results","operationId":"get_graph_execution_results_v1_graphs__graph_id__executions__graph_exec_id__results_get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"graph_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Id"}},{"name":"graph_exec_id","in":"path","required":true,"schema":{"type":"string","title":"Graph Exec Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphExecutionResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/agents":{"get":{"tags":["store"],"summary":"Get Store Agents","description":"Get a paginated list of agents from the store with optional filtering and sorting.\n\nArgs:\n featured: Filter to only show featured agents\n creator: Filter agents by creator username\n sorted_by: Sort agents by \"runs\", \"rating\", \"name\", or \"updated_at\"\n search_query: Search agents by name, subheading and description\n category: Filter agents by category\n page: Page number for pagination (default 1)\n page_size: Number of agents per page (default 20)\n\nReturns:\n StoreAgentsResponse: Paginated list of agents matching the filters","operationId":"get_store_agents_v1_store_agents_get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"featured","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Featured"}},{"name":"creator","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Creator"}},{"name":"sorted_by","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/StoreAgentsSortOptions"},{"type":"null"}],"title":"Sorted By"}},{"name":"search_query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Query"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreAgentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/agents/{username}/{agent_name}":{"get":{"tags":["store"],"summary":"Get Store Agent","description":"Get details of a specific store agent by username and agent name.\n\nArgs:\n username: Creator's username\n agent_name: Name/slug of the agent\n\nReturns:\n StoreAgentDetails: Detailed information about the agent","operationId":"get_store_agent_v1_store_agents__username___agent_name__get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string","title":"Username"}},{"name":"agent_name","in":"path","required":true,"schema":{"type":"string","title":"Agent Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreAgentDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/creators":{"get":{"tags":["store"],"summary":"Get Store Creators","description":"Get a paginated list of store creators with optional filtering and sorting.\n\nArgs:\n featured: Filter to only show featured creators\n search_query: Search creators by profile description\n sorted_by: Sort by \"agent_rating\", \"agent_runs\", or \"num_agents\"\n page: Page number for pagination (default 1)\n page_size: Number of creators per page (default 20)\n\nReturns:\n CreatorsResponse: Paginated list of creators matching the filters","operationId":"get_store_creators_v1_store_creators_get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"featured","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Featured"}},{"name":"search_query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Query"}},{"name":"sorted_by","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/StoreCreatorsSortOptions"},{"type":"null"}],"title":"Sorted By"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatorsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/creators/{username}":{"get":{"tags":["store"],"summary":"Get Store Creator","description":"Get details of a specific store creator by username.\n\nArgs:\n username: Creator's username\n\nReturns:\n CreatorDetails: Detailed information about the creator","operationId":"get_store_creator_v1_store_creators__username__get","security":[{"APIKeyHeader":[]},{"HTTPBearer":[]}],"parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string","title":"Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatorDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metrics":{"get":{"tags":["monitoring"],"summary":"Metrics","description":"Endpoint that serves Prometheus metrics.","operationId":"metrics_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"BaseGraph-Input":{"properties":{"id":{"type":"string","title":"Id"},"version":{"type":"integer","title":"Version","default":1},"is_active":{"type":"boolean","title":"Is Active","default":true},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"recommended_schedule_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Schedule Cron"},"forked_from_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forked From Id"},"forked_from_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Forked From Version"},"nodes":{"items":{"$ref":"#/components/schemas/Node"},"type":"array","title":"Nodes"},"links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Links"}},"type":"object","required":["name","description"],"title":"BaseGraph","description":"Graph with nodes, links, and computed I/O schema fields.\n\nUsed to represent sub-graphs within a `Graph`. Contains the full graph\nstructure including nodes and links, plus computed fields for schemas\nand trigger info. Does NOT include user_id or created_at (see GraphModel)."},"BaseGraph-Output":{"properties":{"id":{"type":"string","title":"Id"},"version":{"type":"integer","title":"Version","default":1},"is_active":{"type":"boolean","title":"Is Active","default":true},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"recommended_schedule_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Schedule Cron"},"forked_from_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forked From Id"},"forked_from_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Forked From Version"},"nodes":{"items":{"$ref":"#/components/schemas/Node"},"type":"array","title":"Nodes"},"links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Links"},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema","readOnly":true},"output_schema":{"additionalProperties":true,"type":"object","title":"Output Schema","readOnly":true},"has_external_trigger":{"type":"boolean","title":"Has External Trigger","readOnly":true},"has_human_in_the_loop":{"type":"boolean","title":"Has Human In The Loop","readOnly":true},"has_sensitive_action":{"type":"boolean","title":"Has Sensitive Action","readOnly":true},"trigger_setup_info":{"anyOf":[{"$ref":"#/components/schemas/GraphTriggerInfo"},{"type":"null"}],"readOnly":true}},"type":"object","required":["name","description","input_schema","output_schema","has_external_trigger","has_human_in_the_loop","has_sensitive_action","trigger_setup_info"],"title":"BaseGraph","description":"Graph with nodes, links, and computed I/O schema fields.\n\nUsed to represent sub-graphs within a `Graph`. Contains the full graph\nstructure including nodes and links, plus computed fields for schemas\nand trigger info. Does NOT include user_id or created_at (see GraphModel)."},"Body_execute_graph_v1_graphs__graph_id__execute__graph_version__post":{"properties":{"node_input":{"additionalProperties":true,"type":"object","title":"Node Input"}},"type":"object","title":"Body_execute_graph_v1_graphs__graph_id__execute__graph_version__post"},"ChangelogEntry":{"properties":{"version":{"type":"string","title":"Version"},"changes_summary":{"type":"string","title":"Changes Summary"},"date":{"type":"string","format":"date-time","title":"Date"}},"type":"object","required":["version","changes_summary","date"],"title":"ChangelogEntry"},"CreateAPIKeyCredentialRequest":{"properties":{"type":{"type":"string","const":"api_key","title":"Type","default":"api_key"},"api_key":{"type":"string","title":"Api Key","description":"The API key"},"title":{"type":"string","title":"Title","description":"A name for this credential"},"expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires At","description":"Unix timestamp when the API key expires"}},"type":"object","required":["api_key","title"],"title":"CreateAPIKeyCredentialRequest","description":"Request model for creating API key credentials."},"CreateCredentialResponse":{"properties":{"id":{"type":"string","title":"Id"},"provider":{"type":"string","title":"Provider"},"type":{"type":"string","enum":["api_key","oauth2","user_password","host_scoped","device_code"],"title":"Type"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},"type":"object","required":["id","provider","type"],"title":"CreateCredentialResponse","description":"Response model for credential creation."},"CreateHostScopedCredentialRequest":{"properties":{"type":{"type":"string","const":"host_scoped","title":"Type","default":"host_scoped"},"host":{"type":"string","title":"Host","description":"Host/domain pattern to match"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers","description":"Headers to include in requests"},"title":{"type":"string","title":"Title","description":"A name for this credential"}},"type":"object","required":["host","headers","title"],"title":"CreateHostScopedCredentialRequest","description":"Request model for creating host-scoped credentials."},"CreateUserPasswordCredentialRequest":{"properties":{"type":{"type":"string","const":"user_password","title":"Type","default":"user_password"},"username":{"type":"string","title":"Username","description":"Username"},"password":{"type":"string","title":"Password","description":"Password"},"title":{"type":"string","title":"Title","description":"A name for this credential"}},"type":"object","required":["username","password","title"],"title":"CreateUserPasswordCredentialRequest","description":"Request model for creating username/password credentials."},"CreatorDetails":{"properties":{"username":{"type":"string","title":"Username"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"links":{"items":{"type":"string"},"type":"array","title":"Links"},"is_featured":{"type":"boolean","title":"Is Featured"},"num_agents":{"type":"integer","title":"Num Agents"},"agent_runs":{"type":"integer","title":"Agent Runs"},"agent_rating":{"type":"number","title":"Agent Rating"},"top_categories":{"items":{"type":"string"},"type":"array","title":"Top Categories"}},"type":"object","required":["username","name","description","avatar_url","links","is_featured","num_agents","agent_runs","agent_rating","top_categories"],"title":"CreatorDetails","description":"Marketplace creator profile details, including aggregated stats"},"CreatorsResponse":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/CreatorDetails"},"type":"array","title":"Creators"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"type":"object","required":["creators","pagination"],"title":"CreatorsResponse"},"CredentialsMetaResponse":{"properties":{"id":{"type":"string","title":"Id"},"provider":{"type":"string","title":"Provider"},"type":{"type":"string","enum":["api_key","oauth2","user_password","host_scoped","device_code"],"title":"Type"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host","description":"Host pattern for host-scoped or MCP server URL for MCP credentials"},"is_managed":{"type":"boolean","title":"Is Managed","default":false}},"type":"object","required":["id","provider","type","title","scopes","username"],"title":"CredentialsMetaResponse"},"DeleteCredentialResponse":{"properties":{"deleted":{"type":"boolean","title":"Deleted","description":"Whether the credential was deleted"},"credentials_id":{"type":"string","title":"Credentials Id","description":"ID of the deleted credential"}},"type":"object","required":["deleted","credentials_id"],"title":"DeleteCredentialResponse","description":"Response model for deleting a credential."},"ExecutionNode":{"properties":{"node_id":{"type":"string","title":"Node Id"},"input":{"title":"Input"},"output":{"additionalProperties":true,"type":"object","title":"Output"}},"type":"object","required":["node_id","input","output"],"title":"ExecutionNode"},"FindAgentRequest":{"properties":{"query":{"type":"string","title":"Query","description":"Search query for finding agents"}},"type":"object","required":["query"],"title":"FindAgentRequest"},"Graph":{"properties":{"id":{"type":"string","title":"Id"},"version":{"type":"integer","title":"Version","default":1},"is_active":{"type":"boolean","title":"Is Active","default":true},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"recommended_schedule_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Schedule Cron"},"forked_from_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forked From Id"},"forked_from_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Forked From Version"},"nodes":{"items":{"$ref":"#/components/schemas/Node"},"type":"array","title":"Nodes"},"links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Links"},"sub_graphs":{"items":{"$ref":"#/components/schemas/BaseGraph-Input"},"type":"array","title":"Sub Graphs"}},"type":"object","required":["name","description"],"title":"Graph","description":"Creatable graph model used in API create/update endpoints."},"GraphExecutionResult":{"properties":{"execution_id":{"type":"string","title":"Execution Id"},"status":{"type":"string","title":"Status"},"nodes":{"items":{"$ref":"#/components/schemas/ExecutionNode"},"type":"array","title":"Nodes"},"output":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"Output"}},"type":"object","required":["execution_id","status","nodes","output"],"title":"GraphExecutionResult"},"GraphModel":{"properties":{"id":{"type":"string","title":"Id"},"version":{"type":"integer","title":"Version","default":1},"is_active":{"type":"boolean","title":"Is Active","default":true},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"recommended_schedule_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Schedule Cron"},"forked_from_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forked From Id"},"forked_from_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Forked From Version"},"user_id":{"type":"string","title":"User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"nodes":{"items":{"$ref":"#/components/schemas/NodeModel"},"type":"array","title":"Nodes"},"links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Links"},"sub_graphs":{"items":{"$ref":"#/components/schemas/BaseGraph-Output"},"type":"array","title":"Sub Graphs"},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema","readOnly":true},"output_schema":{"additionalProperties":true,"type":"object","title":"Output Schema","readOnly":true},"has_external_trigger":{"type":"boolean","title":"Has External Trigger","readOnly":true},"has_human_in_the_loop":{"type":"boolean","title":"Has Human In The Loop","readOnly":true},"has_sensitive_action":{"type":"boolean","title":"Has Sensitive Action","readOnly":true},"trigger_setup_info":{"anyOf":[{"$ref":"#/components/schemas/GraphTriggerInfo"},{"type":"null"}],"readOnly":true},"credentials_input_schema":{"additionalProperties":true,"type":"object","title":"Credentials Input Schema","readOnly":true}},"type":"object","required":["name","description","user_id","created_at","input_schema","output_schema","has_external_trigger","has_human_in_the_loop","has_sensitive_action","trigger_setup_info","credentials_input_schema"],"title":"GraphModel","description":"Full graph model representing an existing graph from the database.\n\nThis is the primary model for working with persisted graphs. Includes all\ngraph data (nodes, links, sub_graphs) plus user ownership and timestamps.\nProvides computed fields (input_schema, output_schema, etc.) used during\nset-up (frontend) and execution (backend).\n\nInherits from:\n- `Graph`: provides structure (nodes, links, sub_graphs) and computed schemas\n- `GraphMeta`: provides user_id, created_at for database records"},"GraphTriggerInfo":{"properties":{"provider":{"type":"string","title":"Provider","description":"Provider name for integrations. Can be any string value, including custom provider names."},"config_schema":{"additionalProperties":true,"type":"object","title":"Config Schema","description":"Input schema for the trigger block"},"credentials_input_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Credentials Input Name"}},"type":"object","required":["provider","config_schema","credentials_input_name"],"title":"GraphTriggerInfo"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Link":{"properties":{"id":{"type":"string","title":"Id"},"source_id":{"type":"string","title":"Source Id"},"sink_id":{"type":"string","title":"Sink Id"},"source_name":{"type":"string","title":"Source Name"},"sink_name":{"type":"string","title":"Sink Name"},"is_static":{"type":"boolean","title":"Is Static","default":false}},"type":"object","required":["source_id","sink_id","source_name","sink_name"],"title":"Link"},"Node":{"properties":{"id":{"type":"string","title":"Id"},"block_id":{"type":"string","title":"Block Id"},"input_default":{"additionalProperties":true,"type":"object","title":"Input Default"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"input_links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Input Links"},"output_links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Output Links"}},"type":"object","required":["block_id"],"title":"Node"},"NodeModel":{"properties":{"id":{"type":"string","title":"Id"},"block_id":{"type":"string","title":"Block Id"},"input_default":{"additionalProperties":true,"type":"object","title":"Input Default"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"input_links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Input Links"},"output_links":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"Output Links"},"graph_id":{"type":"string","title":"Graph Id"},"graph_version":{"type":"integer","title":"Graph Version"},"webhook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Id"}},"type":"object","required":["block_id","graph_id","graph_version"],"title":"NodeModel"},"OAuthCompleteRequest":{"properties":{"code":{"type":"string","title":"Code","description":"Authorization code from OAuth provider"},"state_token":{"type":"string","title":"State Token","description":"State token from initiate request"}},"type":"object","required":["code","state_token"],"title":"OAuthCompleteRequest","description":"Request model for completing an OAuth flow."},"OAuthCompleteResponse":{"properties":{"credentials_id":{"type":"string","title":"Credentials Id","description":"ID of the stored credentials"},"provider":{"type":"string","title":"Provider","description":"Provider name"},"type":{"type":"string","title":"Type","description":"Credential type (oauth2)"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"Credential title"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes","description":"Granted scopes"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username","description":"Username from provider"},"state_metadata":{"additionalProperties":true,"type":"object","title":"State Metadata","description":"Echoed metadata from initiate request"}},"type":"object","required":["credentials_id","provider","type"],"title":"OAuthCompleteResponse","description":"Response model for OAuth completion."},"OAuthInitiateRequest":{"properties":{"callback_url":{"type":"string","title":"Callback Url","description":"The external app's callback URL for OAuth redirect"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes","description":"OAuth scopes to request"},"state_metadata":{"additionalProperties":true,"type":"object","title":"State Metadata","description":"Arbitrary metadata to echo back on completion"}},"type":"object","required":["callback_url"],"title":"OAuthInitiateRequest","description":"Request model for initiating an OAuth flow."},"OAuthInitiateResponse":{"properties":{"login_url":{"type":"string","title":"Login Url","description":"URL to redirect user for OAuth consent"},"state_token":{"type":"string","title":"State Token","description":"State token for CSRF protection"},"expires_at":{"type":"integer","title":"Expires At","description":"Unix timestamp when the state token expires"}},"type":"object","required":["login_url","state_token","expires_at"],"title":"OAuthInitiateResponse","description":"Response model for OAuth initiation."},"Pagination":{"properties":{"total_items":{"type":"integer","title":"Total Items","description":"Total number of items.","examples":[42]},"total_pages":{"type":"integer","title":"Total Pages","description":"Total number of pages.","examples":[2]},"current_page":{"type":"integer","title":"Current Page","description":"Current_page page number.","examples":[1]},"page_size":{"type":"integer","title":"Page Size","description":"Number of items per page.","examples":[25]}},"type":"object","required":["total_items","total_pages","current_page","page_size"],"title":"Pagination"},"ProviderInfo":{"properties":{"name":{"type":"string","title":"Name"},"supports_oauth":{"type":"boolean","title":"Supports Oauth","default":false},"supports_api_key":{"type":"boolean","title":"Supports Api Key","default":false},"supports_user_password":{"type":"boolean","title":"Supports User Password","default":false},"supports_host_scoped":{"type":"boolean","title":"Supports Host Scoped","default":false},"default_scopes":{"items":{"type":"string"},"type":"array","title":"Default Scopes"}},"type":"object","required":["name"],"title":"ProviderInfo","description":"Information about an integration provider."},"RunAgentRequest":{"properties":{"username_agent_slug":{"type":"string","title":"Username Agent Slug","description":"The marketplace agent slug (e.g., 'username/agent-name')"},"inputs":{"additionalProperties":true,"type":"object","title":"Inputs","description":"Dictionary of input values for the agent"},"use_defaults":{"type":"boolean","title":"Use Defaults","description":"Set to true to run with default values (user must confirm)","default":false},"schedule_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Name","description":"Name for scheduled execution (triggers scheduling mode)"},"cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cron","description":"Cron expression (5 fields: minute hour day month weekday)"},"timezone":{"type":"string","title":"Timezone","description":"IANA timezone (e.g., 'America/New_York', 'UTC')","default":"UTC"}},"type":"object","required":["username_agent_slug"],"title":"RunAgentRequest","description":"Request to run or schedule an agent.\n\nThe tool automatically handles the setup flow:\n- First call returns available inputs so user can decide what values to use\n- Returns missing credentials if user needs to configure them\n- Executes when inputs are provided OR use_defaults=true\n- Schedules execution if schedule_name and cron are provided"},"StoreAgent":{"properties":{"slug":{"type":"string","title":"Slug"},"agent_name":{"type":"string","title":"Agent Name"},"agent_image":{"type":"string","title":"Agent Image"},"creator":{"type":"string","title":"Creator"},"creator_avatar":{"type":"string","title":"Creator Avatar"},"sub_heading":{"type":"string","title":"Sub Heading"},"description":{"type":"string","title":"Description"},"runs":{"type":"integer","title":"Runs"},"rating":{"type":"number","title":"Rating"},"agent_graph_id":{"type":"string","title":"Agent Graph Id"}},"type":"object","required":["slug","agent_name","agent_image","creator","creator_avatar","sub_heading","description","runs","rating","agent_graph_id"],"title":"StoreAgent"},"StoreAgentDetails":{"properties":{"store_listing_version_id":{"type":"string","title":"Store Listing Version Id"},"slug":{"type":"string","title":"Slug"},"agent_name":{"type":"string","title":"Agent Name"},"agent_video":{"type":"string","title":"Agent Video"},"agent_output_demo":{"type":"string","title":"Agent Output Demo"},"agent_image":{"items":{"type":"string"},"type":"array","title":"Agent Image"},"creator":{"type":"string","title":"Creator"},"creator_avatar":{"type":"string","title":"Creator Avatar"},"sub_heading":{"type":"string","title":"Sub Heading"},"description":{"type":"string","title":"Description"},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"categories":{"items":{"type":"string"},"type":"array","title":"Categories"},"runs":{"type":"integer","title":"Runs"},"rating":{"type":"number","title":"Rating"},"versions":{"items":{"type":"string"},"type":"array","title":"Versions"},"graph_id":{"type":"string","title":"Graph Id"},"graph_versions":{"items":{"type":"string"},"type":"array","title":"Graph Versions"},"last_updated":{"type":"string","format":"date-time","title":"Last Updated"},"recommended_schedule_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Schedule Cron"},"owning_org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owning Org Id"},"active_version_id":{"type":"string","title":"Active Version Id"},"has_approved_version":{"type":"boolean","title":"Has Approved Version"},"changelog":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChangelogEntry"},"type":"array"},{"type":"null"}],"title":"Changelog"}},"type":"object","required":["store_listing_version_id","slug","agent_name","agent_video","agent_output_demo","agent_image","creator","creator_avatar","sub_heading","description","categories","runs","rating","versions","graph_id","graph_versions","last_updated","active_version_id","has_approved_version"],"title":"StoreAgentDetails"},"StoreAgentsResponse":{"properties":{"agents":{"items":{"$ref":"#/components/schemas/StoreAgent"},"type":"array","title":"Agents"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"type":"object","required":["agents","pagination"],"title":"StoreAgentsResponse"},"StoreAgentsSortOptions":{"type":"string","enum":["rating","runs","name","updated_at"],"title":"StoreAgentsSortOptions"},"StoreCreatorsSortOptions":{"type":"string","enum":["agent_rating","agent_runs","num_agents"],"title":"StoreCreatorsSortOptions"},"UserInfoResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"type":"string","title":"Email"},"timezone":{"type":"string","title":"Timezone","description":"The user's last known timezone (e.g. 'Europe/Amsterdam'), or 'not-set' if not set"}},"type":"object","required":["id","name","email","timezone"],"title":"UserInfoResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"},"HTTPBearer":{"type":"http","scheme":"bearer"}}}}