{"openapi":"3.1.0","info":{"title":"RudderStack (BYOK) API","version":"0.1.0","description":"RudderStack (BYOK) lets an AI assistant read your own RudderStack data through the RudderStack API with a key you supply (service access token (organization-level for audit logs and usage)). Read-only: 9 tools (list_audit_logs, get_organization_event_usage, list_tracking_plans, list_tracking_plan_events, list_catalog_events, list_catalog_properties, list_transformations,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-rudderstack.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-rudderstack/docs"},"termsOfService":"https://connectorbay.com/byok-rudderstack/terms"},"servers":[{"url":"https://byok-rudderstack.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-rudderstack/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_audit_logs":{"post":{"operationId":"list_audit_logs","summary":"List audit log entries (who did what to which sources, destinations, profiles or permissions) for the organization or on","description":"List audit log entries (who did what to which sources, destinations, profiles or permissions) for the organization or one workspace. Needs an organization-level admin token. EU-region accounts use another host and are not reachable. Use for \"What changes were made to my RudderStack destinations recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many entries to return (1 to 100, API default 100).","title":"Per Page"},"workspace_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries of this workspace id.","title":"Workspace Id"},"created_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries created after this ISO 8601 date-time.","title":"Created After"},"after_cursor":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor id from the previous answer's paging.next to get the following page.","title":"After Cursor"}},"title":"list_audit_logsArguments","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_event_usage":{"post":{"operationId":"get_organization_event_usage","summary":"Get event counts per workspace, source and time bucket (day, week or month) plus totals for event stream, reverse ETL an","description":"Get event counts per workspace, source and time bucket (day, week or month) plus totals for event stream, reverse ETL and ETL. Needs an organization-level token; lookback is 60 days (day), 9 weeks (week) or 24 months (month). Use for \"How many events did each RudderStack source send per day this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"granularity":{"description":"Bucket size: day, week or month.","enum":["day","week","month"],"title":"Granularity","type":"string"},"start":{"description":"Start date of the window, YYYY-MM-DD (UTC midnight), within the lookback limit of the granularity.","maxLength":10,"title":"Start","type":"string"}},"required":["granularity","start"],"title":"get_organization_event_usageArguments","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_tracking_plans":{"post":{"operationId":"list_tracking_plans","summary":"List the data governance tracking plans of the workspace with name, description, version and how each was created. Use f","description":"List the data governance tracking plans of the workspace with name, description, version and how each was created. Use for \"Which tracking plans exist in my RudderStack workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_tracking_plansArguments","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_tracking_plan_events":{"post":{"operationId":"list_tracking_plan_events","summary":"List the events that belong to one tracking plan. Use for \"Which events does my RudderStack tracking plan cover\".","description":"List the events that belong to one tracking plan. Use for \"Which events does my RudderStack tracking plan cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tracking_plan_id":{"description":"Id of the tracking plan (from list_tracking_plans).","maxLength":200,"title":"Tracking Plan Id","type":"string"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1 (50 items per page).","title":"Page"}},"required":["tracking_plan_id"],"title":"list_tracking_plan_eventsArguments","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_catalog_events":{"post":{"operationId":"list_catalog_events","summary":"List the events defined in the data catalog with type, description and dates. Use for \"Which events are defined in my Ru","description":"List the events defined in the data catalog with type, description and dates. Use for \"Which events are defined in my RudderStack data catalog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"order_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort events by name, createdAt or updatedAt with a direction, for example name:asc or updatedAt:desc.","title":"Order By"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1 (50 items per page).","title":"Page"}},"title":"list_catalog_eventsArguments","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_catalog_properties":{"post":{"operationId":"list_catalog_properties","summary":"List the properties defined in the data catalog with data type and description. Use for \"Which properties are defined in","description":"List the properties defined in the data catalog with data type and description. Use for \"Which properties are defined in my RudderStack data catalog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"order_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort properties by name, createdAt or updatedAt with a direction, for example name:asc or updatedAt:desc.","title":"Order By"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1 (50 items per page).","title":"Page"}},"title":"list_catalog_propertiesArguments","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_transformations":{"post":{"operationId":"list_transformations","summary":"List the published transformations (name, language, version, dates and connected destinations). Source code is not retur","description":"List the published transformations (name, language, version, dates and connected destinations). Source code is not returned. Use for \"Which RudderStack transformations are published\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_transformationsArguments","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_transformation_versions":{"post":{"operationId":"list_transformation_versions","summary":"List the revisions of one transformation (version id, name, language, dates); the first 5 by default. Source code is not","description":"List the revisions of one transformation (version id, name, language, dates); the first 5 by default. Source code is not returned. Use for \"How many versions does my RudderStack transformation have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"transformation_id":{"description":"Id of the published transformation (from list_transformations).","maxLength":200,"title":"Transformation Id","type":"string"},"count":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many versions to return (the API returns 5 by default).","title":"Count"},"order_by":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by creation time: asc (default) or desc.","title":"Order By"}},"required":["transformation_id"],"title":"list_transformation_versionsArguments","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_libraries":{"post":{"operationId":"list_libraries","summary":"List the published transformation libraries with name, import name, language and dates. Source code is not returned. Use","description":"List the published transformation libraries with name, import name, language and dates. Source code is not returned. Use for \"Which transformation libraries are published in RudderStack\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_librariesArguments","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}}}}