{"openapi":"3.1.0","info":{"title":"Phantombuster (BYOK) API","version":"0.1.0","description":"Phantombuster (BYOK) lets an AI assistant read your own Phantombuster data through the Phantombuster API with a key you supply (API key). Read-only: 11 tools (list_agents, get_agent, get_agent_output, list_agent_runs, get_run, get_run_output, list_running_runs, get_resources, get_organization, list_scripts, list_branches). The BYOK key travels with each request, is used for that one call only and...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-phantombuster.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-phantombuster/docs"},"termsOfService":"https://connectorbay.com/byok-phantombuster/terms"},"servers":[{"url":"https://byok-phantombuster.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-phantombuster/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_agents":{"post":{"operationId":"list_agents","summary":"List the Phantombuster agents (configured automations) of the organization with script, branch, last run result and runn","description":"List the Phantombuster agents (configured automations) of the organization with script, branch, last run result and running count. Times are epoch milliseconds. Use for \"Which Phantombuster agents do I have and did their last runs succeed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_agentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_agent":{"post":{"operationId":"get_agent","summary":"Get one Phantombuster agent: script, branch, environment, launch type, launches count, last run result and update time. ","description":"Get one Phantombuster agent: script, branch, environment, launch type, launches count, last run result and update time. Does not return its argument or proxy credentials. Use for \"Show the details of one of my Phantombuster agents\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Agent ID, for example '1234567890123456', as returned by list_agents.","maxLength":64,"title":"Id","type":"string"}},"required":["id"],"title":"get_agentArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_agent_output":{"post":{"operationId":"get_agent_output","summary":"Get the console output of the most recent run of an agent, with the run status, progress and whether the agent is runnin","description":"Get the console output of the most recent run of an agent, with the run status, progress and whether the agent is running now. Use for \"What did my latest Phantombuster run print\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Agent ID, for example '1234567890123456', as returned by list_agents.","maxLength":64,"title":"Id","type":"string"},"from_output_pos":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Return output starting at this character position (use outputPos from a previous answer to read only new text).","title":"From Output Pos"}},"required":["id"],"title":"get_agent_outputArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_agent_runs":{"post":{"operationId":"list_agent_runs","summary":"List the runs (containers) of one agent, newest first, with status, launch type, end type, exit code and times. Use for ","description":"List the runs (containers) of one agent, newest first, with status, launch type, end type, exit code and times. Use for \"Show the recent runs of my Phantombuster agent\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_id":{"description":"ID of the agent whose runs to list, from list_agents.","maxLength":64,"title":"Agent Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of runs to return, for example 20.","title":"Limit"},"mode":{"anyOf":[{"enum":["all","finalized"],"type":"string"},{"type":"null"}],"default":null,"description":"'all' for every run, 'finalized' for finished runs only.","title":"Mode"}},"required":["agent_id"],"title":"list_agent_runsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_run":{"post":{"operationId":"get_run","summary":"Get one run (container) of an agent by ID: status, launch and end times, exit code and retry number. Use for \"What happe","description":"Get one run (container) of an agent by ID: status, launch and end times, exit code and retry number. Use for \"What happened in this Phantombuster run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Run (container) ID, from list_agent_runs.","maxLength":64,"title":"Id","type":"string"}},"required":["id"],"title":"get_runArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_run_output":{"post":{"operationId":"get_run_output","summary":"Get the console output of one run (container) as JSON or raw text. Use for \"Show the console output of this Phantombuste","description":"Get the console output of one run (container) as JSON or raw text. Use for \"Show the console output of this Phantombuster run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Run (container) ID, from list_agent_runs.","maxLength":64,"title":"Id","type":"string"},"mode":{"anyOf":[{"enum":["json","raw"],"type":"string"},{"type":"null"}],"default":null,"description":"Output format: json or raw.","title":"Mode"}},"required":["id"],"title":"get_run_outputArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_running_runs":{"post":{"operationId":"list_running_runs","summary":"List the runs of the organization that are running right now, with agent name, launch type and script. Use for \"Is anyth","description":"List the runs of the organization that are running right now, with agent name, launch type and script. Use for \"Is anything running in my Phantombuster account right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_running_runsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_resources":{"post":{"operationId":"get_resources","summary":"Show the organization's Phantombuster plan and its daily and monthly resource usage: execution time, emails, captchas, A","description":"Show the organization's Phantombuster plan and its daily and monthly resource usage: execution time, emails, captchas, AI credits, storage and agent count. Use for \"How much execution time and how many credits do I have left on Phantombuster\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_resourcesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization":{"post":{"operationId":"get_organization","summary":"Get the Phantombuster organization: name, plan, timezone and daily resource limits. Billing details are not returned. Us","description":"Get the Phantombuster organization: name, plan, timezone and daily resource limits. Billing details are not returned. Use for \"Which Phantombuster plan is my organization on\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_organizationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_scripts":{"post":{"operationId":"list_scripts","summary":"List the Phantombuster scripts (phantoms) available to the account with default branch name, description, categories and","description":"List the Phantombuster scripts (phantoms) available to the account with default branch name, description, categories and input and output types. Use for \"Which Phantombuster scripts can I run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"branch":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only return scripts of this branch name, for example 'master'.","title":"Branch"}},"title":"list_scriptsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_branches":{"post":{"operationId":"list_branches","summary":"List the script branches of the organization with ID, name and creation time. Use for \"Which script branches exist in my","description":"List the script branches of the organization with ID, name and creation time. Use for \"Which script branches exist in my Phantombuster organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_branchesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}