{"openapi":"3.1.0","info":{"title":"Activepieces (BYOK) API","version":"0.1.0","description":"Activepieces (BYOK) lets an AI assistant read your own Activepieces data through the Activepieces API with a key you supply (platform API key). Read-only: 9 tools (list_projects, list_flows, list_flow_runs, get_flow_run, count_flow_runs_by_status, list_tables, list_connections, list_variables, list_platform_users). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-activepieces.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-activepieces/docs"},"termsOfService":"https://connectorbay.com/byok-activepieces/terms"},"servers":[{"url":"https://byok-activepieces.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-activepieces/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_projects":{"post":{"operationId":"list_projects","summary":"List the projects of the platform with name, type and analytics counts of users and flows. Use for \"Which Activepieces p","description":"List the projects of the platform with name, type and analytics counts of users and flows. Use for \"Which Activepieces projects do we have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"display_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only projects whose name matches this text.","title":"Display Name"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return.","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the 'next' field of the previous answer, to get the next page.","title":"Cursor"}},"title":"list_projectsArguments","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_flows":{"post":{"operationId":"list_flows","summary":"List the flows of a project with status, current version name, validity and last update. Use for \"Which flows in project","description":"List the flows of a project with status, current version name, validity and last update. Use for \"Which flows in project X are enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id (21 characters). List projects first to find it.","maxLength":40,"title":"Project Id","type":"string"},"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only flows whose name contains this text.","title":"Name"},"status":{"anyOf":[{"enum":["ENABLED","DISABLED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only flows with this status.","title":"Status"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return.","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the 'next' field of the previous answer, to get the next page.","title":"Cursor"}},"required":["project_id"],"title":"list_flowsArguments","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_flow_runs":{"post":{"operationId":"list_flow_runs","summary":"List flow runs of a project, newest first, with flow name, status, start and finish time, failed step and step count. St","description":"List flow runs of a project, newest first, with flow name, status, start and finish time, failed step and step count. Step inputs and outputs are not returned. Use for \"Which flow runs failed in project X today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id (21 characters). List projects first to find it.","maxLength":40,"title":"Project Id","type":"string"},"flow_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only runs of this flow id.","title":"Flow Id"},"status":{"anyOf":[{"enum":["FAILED","QUOTA_EXCEEDED","INTERNAL_ERROR","PAUSED","QUEUED","RUNNING","SUCCEEDED","MEMORY_LIMIT_EXCEEDED","TIMEOUT","CANCELED","LOG_SIZE_EXCEEDED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only runs with this status.","title":"Status"},"created_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only runs created after this ISO 8601 time, for example 2026-01-01T00:00:00Z.","title":"Created After"},"created_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only runs created before this ISO 8601 time.","title":"Created Before"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return.","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the 'next' field of the previous answer, to get the next page.","title":"Cursor"}},"required":["project_id"],"title":"list_flow_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_flow_run":{"post":{"operationId":"get_flow_run","summary":"Get one flow run: status, flow name, timing, failed step and step count. Step data is not returned. Use for \"What happen","description":"Get one flow run: status, flow name, timing, failed step and step count. Step data is not returned. Use for \"What happened in flow run abcdefghij0123456789a\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Flow run id (21 characters).","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_flow_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/count_flow_runs_by_status":{"post":{"operationId":"count_flow_runs_by_status","summary":"Count a project's flow runs per status (succeeded, failed, running and so on), optionally within a time window. Use for ","description":"Count a project's flow runs per status (succeeded, failed, running and so on), optionally within a time window. Use for \"How many flow runs succeeded and failed in project X this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id (21 characters). List projects first to find it.","maxLength":40,"title":"Project Id","type":"string"},"created_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only count runs created after this ISO 8601 time.","title":"Created After"},"created_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only count runs created before this ISO 8601 time.","title":"Created Before"}},"required":["project_id"],"title":"count_flow_runs_by_statusArguments","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_tables":{"post":{"operationId":"list_tables","summary":"List the tables (built-in database) of a project with name, folder and creation time. Use for \"What Activepieces tables ","description":"List the tables (built-in database) of a project with name, folder and creation time. Use for \"What Activepieces tables does project X have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id (21 characters). List projects first to find it.","maxLength":40,"title":"Project Id","type":"string"},"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only tables whose name contains this text.","title":"Name"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return.","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the 'next' field of the previous answer, to get the next page.","title":"Cursor"}},"required":["project_id"],"title":"list_tablesArguments","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_connections":{"post":{"operationId":"list_connections","summary":"List a project's app connections with name, app (piece), type and status. Credentials are not returned. Use for \"Which a","description":"List a project's app connections with name, app (piece), type and status. Credentials are not returned. Use for \"Which app connections are set up in project X and are any broken\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id (21 characters). List projects first to find it.","maxLength":40,"title":"Project Id","type":"string"},"piece_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only connections of this app, for example '@activepieces/piece-slack'.","title":"Piece Name"},"display_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only connections with this exact name.","title":"Display Name"},"scope":{"anyOf":[{"enum":["PROJECT","PLATFORM"],"type":"string"},{"type":"null"}],"default":null,"description":"Connection scope.","title":"Scope"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return.","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the 'next' field of the previous answer, to get the next page.","title":"Cursor"}},"required":["project_id"],"title":"list_connectionsArguments","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_variables":{"post":{"operationId":"list_variables","summary":"List the names of a project's variables (values are not returned here). Use for \"Which variables does project X define\".","description":"List the names of a project's variables (values are not returned here). Use for \"Which variables does project X define\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id (21 characters). List projects first to find it.","maxLength":40,"title":"Project Id","type":"string"},"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only variables with this name.","title":"Name"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return.","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the 'next' field of the previous answer, to get the next page.","title":"Cursor"}},"required":["project_id"],"title":"list_variablesArguments","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_platform_users":{"post":{"operationId":"list_platform_users","summary":"List the platform's users with name, email, role, status and last active time. Use for \"Who are the users on our Activep","description":"List the platform's users with name, email, role, status and last active time. Use for \"Who are the users on our Activepieces platform\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results to return.","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the 'next' field of the previous answer, to get the next page.","title":"Cursor"}},"title":"list_platform_usersArguments","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}}}}