{"openapi":"3.1.0","info":{"title":"SuperSaaS (BYOK) API","version":"0.1.0","description":"SuperSaaS (BYOK) lets an AI assistant read your own SuperSaaS data through the SuperSaaS API with a key you supply (SuperSaaS account name (the login name of the account)). Read-only: 8 tools (list_schedules, list_resources, list_groups, list_fields, list_recent_changes, list_appointments, list_free_slots, list_user_appointments). The BYOK key travels with each request, is used for that one call...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-supersaas.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-supersaas/docs"},"termsOfService":"https://connectorbay.com/byok-supersaas/terms"},"servers":[{"url":"https://byok-supersaas.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-supersaas/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_schedules":{"post":{"operationId":"list_schedules","summary":"List the schedules in the account with their ids and names. The id is needed by the other tools. Use for \"Which schedule","description":"List the schedules in the account with their ids and names. The id is needed by the other tools. Use for \"Which schedules do I have in SuperSaaS\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_schedulesArguments","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_resources":{"post":{"operationId":"list_resources","summary":"List the resources (or services) of a resource or service schedule with ids and names. Not available for capacity schedu","description":"List the resources (or services) of a resource or service schedule with ids and names. Not available for capacity schedules. Use for \"Which rooms or services does SuperSaaS schedule 123456 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"schedule_id":{"description":"Schedule id from list_schedules.","maximum":2147483647,"minimum":1,"title":"Schedule Id","type":"integer"}},"required":["schedule_id"],"title":"list_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/list_groups":{"post":{"operationId":"list_groups","summary":"List the user groups defined in the account with ids and names. Use for \"What user groups exist in my SuperSaaS account\"","description":"List the user groups defined in the account with ids and names. Use for \"What user groups exist in my SuperSaaS account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_groupsArguments","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_fields":{"post":{"operationId":"list_fields","summary":"List the available fields of a schedule's appointments, or of the user object when no schedule is given. Use for \"What f","description":"List the available fields of a schedule's appointments, or of the user object when no schedule is given. Use for \"What fields do appointments in SuperSaaS schedule 123456 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"schedule_id":{"anyOf":[{"maximum":2147483647,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Schedule id; leave out to list the user fields instead.","title":"Schedule Id"}},"title":"list_fieldsArguments","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_recent_changes":{"post":{"operationId":"list_recent_changes","summary":"List appointments of a schedule that changed (created, edited or deleted) since a time. Without a start time it shows th","description":"List appointments of a schedule that changed (created, edited or deleted) since a time. Without a start time it shows the ten latest changes. Use for \"What bookings changed in SuperSaaS schedule 123456 since 1 October\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"schedule_id":{"description":"SuperSaaS schedule id (from list_schedules, or the number at the end of the schedule's Configure Overview address).","maximum":2147483647,"minimum":1,"title":"Schedule Id","type":"integer"},"from_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only changes after this UTC time. Format YYYY-MM-DD or YYYY-MM-DD HH:MM:SS.","title":"From Time"},"to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only changes before this UTC time, same format.","title":"To"},"user":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Limit to one user (name, id or foreign key); 0 for the administrator.","title":"User"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of results to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of results to skip, for paging.","title":"Offset"}},"required":["schedule_id"],"title":"list_recent_changesArguments","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_appointments":{"post":{"operationId":"list_appointments","summary":"List appointments of a schedule that start in a time range (from now by default). For capacity schedules the answer list","description":"List appointments of a schedule that start in a time range (from now by default). For capacity schedules the answer lists slots. Use for \"What appointments are booked on 2026-11-03 in SuperSaaS schedule 123456\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"schedule_id":{"description":"SuperSaaS schedule id (from list_schedules, or the number at the end of the schedule's Configure Overview address).","maximum":2147483647,"minimum":1,"title":"Schedule Id","type":"integer"},"from_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the range, local time. Format YYYY-MM-DD or YYYY-MM-DD HH:MM:SS in the schedule's local time.","title":"From Time"},"to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"End of the range, local time. Format YYYY-MM-DD or YYYY-MM-DD HH:MM:SS in the schedule's local time.","title":"To"},"today":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to use the current day in the schedule's time zone instead of from and to.","title":"Today"},"resource_id":{"anyOf":[{"maximum":2147483647,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Resource or service schedules only: one resource id.","title":"Resource Id"},"service_id":{"anyOf":[{"maximum":2147483647,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Service schedules only: one service id.","title":"Service Id"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of results to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Number of results to skip, for paging.","title":"Offset"}},"required":["schedule_id"],"title":"list_appointmentsArguments","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_free_slots":{"post":{"operationId":"list_free_slots","summary":"List free spaces in a schedule after a time with start, finish and count. Not available for service schedules. Use for \"","description":"List free spaces in a schedule after a time with start, finish and count. Not available for service schedules. Use for \"When is room A free after 2026-11-03 in SuperSaaS schedule 123456\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"schedule_id":{"description":"SuperSaaS schedule id (from list_schedules, or the number at the end of the schedule's Configure Overview address).","maximum":2147483647,"minimum":1,"title":"Schedule Id","type":"integer"},"from_time":{"description":"Only free spaces after this local time. Format YYYY-MM-DD or YYYY-MM-DD HH:MM:SS in the schedule's local time.","maxLength":30,"title":"From Time","type":"string"},"length":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Resource schedules only: minimum free length in minutes.","title":"Length"},"resource":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Resource schedules only: limit to the named resource.","title":"Resource"},"full":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Capacity schedules only: True to include slots that are full.","title":"Full"},"maxresults":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Maximum number of results (default 10).","title":"Maxresults"}},"required":["schedule_id","from_time"],"title":"list_free_slotsArguments","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_user_appointments":{"post":{"operationId":"list_user_appointments","summary":"List the appointments of one user, in one schedule or in all schedules of the account. Use for \"What appointments does u","description":"List the appointments of one user, in one schedule or in all schedules of the account. Use for \"What appointments does user 55 have in SuperSaaS schedule 123456\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"schedule_id":{"description":"SuperSaaS schedule id (from list_schedules, or the number at the end of the schedule's Configure Overview address).","maximum":2147483647,"minimum":1,"title":"Schedule Id","type":"integer"},"user":{"description":"User name, id or foreign key; 0 for the administrator.","maxLength":100,"title":"User","type":"string"},"from_time":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only bookings after this local time. Format YYYY-MM-DD or YYYY-MM-DD HH:MM:SS in the schedule's local time.","title":"From Time"}},"required":["schedule_id","user"],"title":"list_user_appointmentsArguments","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}}}}