{"openapi":"3.1.0","info":{"title":"Rebrandly Workspaces (BYOK) API","version":"0.1.0","description":"Rebrandly Workspaces (BYOK) lets an AI assistant read your own Rebrandly Workspaces data through the Rebrandly Workspaces API with a key you supply (Rebrandly API key). Read-only: 10 tools (list_account_workspaces, count_account_workspaces, get_workspace, get_workspace_features, get_workspace_conversion_tracking, list_account_features, get_account_clicks, get_workspace_clicks, get_tag_clicks,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-rebrandly-workspaces.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-rebrandly-workspaces/docs"},"termsOfService":"https://connectorbay.com/byok-rebrandly-workspaces/terms"},"servers":[{"url":"https://byok-rebrandly-workspaces.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-rebrandly-workspaces/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_account_workspaces":{"post":{"operationId":"list_account_workspaces","summary":"List the workspaces of the account with type, role, counts of links, teammates and domains, total clicks and conversion ","description":"List the workspaces of the account with type, role, counts of links, teammates and domains, total clicks and conversion tracking state. Pages of up to 25; pass the last workspace id as last. Use for \"Which Rebrandly workspaces do I have and how many links are in each\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"order_by":{"anyOf":[{"enum":["createdAt","name"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by createdAt (default) or name.","title":"Order By"},"order_dir":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc (default) or desc.","title":"Order Dir"},"limit":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (1 to 25, default 25).","title":"Limit"},"last":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"ID of the last item of the previous answer, to get the next page.","title":"Last"},"term":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only workspaces whose name matches this text.","title":"Term"},"type":{"anyOf":[{"enum":["classic","extended","gallery"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this workspace type: classic, extended or gallery.","title":"Type"},"revoked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only revoked workspaces, false for the others.","title":"Revoked"}},"title":"list_account_workspacesArguments","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_account_workspaces":{"post":{"operationId":"count_account_workspaces","summary":"Count the workspaces of the account, optionally filtered by type, name text or revoked state. Use for \"How many Rebrandl","description":"Count the workspaces of the account, optionally filtered by type, name text or revoked state. Use for \"How many Rebrandly workspaces does my account have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only workspaces whose name matches this text.","title":"Term"},"type":{"anyOf":[{"enum":["classic","extended","gallery"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this workspace type: classic, extended or gallery.","title":"Type"},"revoked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only revoked workspaces, false for the others.","title":"Revoked"}},"title":"count_account_workspacesArguments","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_workspace":{"post":{"operationId":"get_workspace","summary":"Get one workspace: name, type, role, counts of links, teammates and domains, total clicks and sessions, expiration and c","description":"Get one workspace: name, type, role, counts of links, teammates and domains, total clicks and sessions, expiration and conversion tracking settings. Use for \"Show the details of this Rebrandly workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace ID (from list_account_workspaces).","maxLength":64,"title":"Workspace Id","type":"string"}},"required":["workspace_id"],"title":"get_workspaceArguments","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_workspace_features":{"post":{"operationId":"get_workspace_features","summary":"List the plan features enabled for the workspace owner, with the feature id, its configuration and whether it comes from","description":"List the plan features enabled for the workspace owner, with the feature id, its configuration and whether it comes from an add-on. Use for \"Which plan features does this Rebrandly workspace have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace ID (from list_account_workspaces).","maxLength":64,"title":"Workspace Id","type":"string"},"revoked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list revoked features, false for active ones.","title":"Revoked"}},"required":["workspace_id"],"title":"get_workspace_featuresArguments","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_workspace_conversion_tracking":{"post":{"operationId":"get_workspace_conversion_tracking","summary":"Show a workspace's conversion tracking settings: whether it is enabled and the attribution window. Use for \"Is conversio","description":"Show a workspace's conversion tracking settings: whether it is enabled and the attribution window. Use for \"Is conversion tracking turned on in my Rebrandly workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace ID (from list_account_workspaces).","maxLength":64,"title":"Workspace Id","type":"string"}},"required":["workspace_id"],"title":"get_workspace_conversion_trackingArguments","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_account_features":{"post":{"operationId":"list_account_features","summary":"List the plan features available to the whole account with configuration and revoked or add-on flags. Use for \"Which Reb","description":"List the plan features available to the whole account with configuration and revoked or add-on flags. Use for \"Which Rebrandly features are enabled for my account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"revoked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list revoked features, false for active ones.","title":"Revoked"}},"title":"list_account_featuresArguments","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_account_clicks":{"post":{"operationId":"get_account_clicks","summary":"Get click counts for the whole account over time, grouped by hour, day or month. Needs the advanced metrics feature of t","description":"Get click counts for the whole account over time, grouped by hour, day or month. Needs the advanced metrics feature of the plan. Use for \"How many clicks did my Rebrandly links get over time\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"anyOf":[{"enum":["hours","days","months"],"type":"string"},{"type":"null"}],"default":null,"description":"Time bucket for the counts: hours (default), days or months.","title":"Group"}},"title":"get_account_clicksArguments","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_workspace_clicks":{"post":{"operationId":"get_workspace_clicks","summary":"Get click counts for one workspace over time, grouped by hour, day or month. Use for \"How many clicks did this Rebrandly","description":"Get click counts for one workspace over time, grouped by hour, day or month. Use for \"How many clicks did this Rebrandly workspace get per day\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace ID (from list_account_workspaces).","maxLength":64,"title":"Workspace Id","type":"string"},"group":{"anyOf":[{"enum":["hours","days","months"],"type":"string"},{"type":"null"}],"default":null,"description":"Time bucket for the counts: hours (default), days or months.","title":"Group"}},"required":["workspace_id"],"title":"get_workspace_clicksArguments","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_tag_clicks":{"post":{"operationId":"get_tag_clicks","summary":"Get click counts over time for the links carrying one tag, grouped by hour, day or month. Use for \"How many clicks did l","description":"Get click counts over time for the links carrying one tag, grouped by hour, day or month. Use for \"How many clicks did links with this Rebrandly tag get\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tag_id":{"description":"Tag ID (from the rebrandly connector's list_tags).","maxLength":64,"title":"Tag Id","type":"string"},"group":{"anyOf":[{"enum":["hours","days","months"],"type":"string"},{"type":"null"}],"default":null,"description":"Time bucket for the counts: hours (default), days or months.","title":"Group"}},"required":["tag_id"],"title":"get_tag_clicksArguments","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_domain_clicks":{"post":{"operationId":"get_domain_clicks","summary":"Get click counts over time for one account domain, grouped by hour, day or month. Use for \"How many clicks did links on ","description":"Get click counts over time for one account domain, grouped by hour, day or month. Use for \"How many clicks did links on this Rebrandly domain get\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_id":{"description":"Domain ID, 32 characters (from list_account_domains of the rebrandly-account-domains connector).","maxLength":64,"title":"Domain Id","type":"string"},"group":{"anyOf":[{"enum":["hours","days","months"],"type":"string"},{"type":"null"}],"default":null,"description":"Time bucket for the counts: hours (default), days or months.","title":"Group"}},"required":["domain_id"],"title":"get_domain_clicksArguments","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}}}}