{"openapi":"3.1.0","info":{"title":"Freshservice Service Config (BYOK) API","version":"0.1.0","description":"Freshservice Service Config (BYOK) lets an AI assistant read your own Freshservice Service Config data through the Freshservice Service Config API with a key you supply (Freshservice API key). Read-only: 6 tools (list_service_items, get_service_item, list_service_categories, list_sla_policies, list_business_hours, get_business_hours). The BYOK key travels with each request, is used for that one...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-freshservice-service-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-freshservice-service-config/docs"},"termsOfService":"https://connectorbay.com/byok-freshservice-service-config/terms"},"servers":[{"url":"https://byok-freshservice-service-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-freshservice-service-config/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_service_items":{"post":{"operationId":"list_service_items","summary":"List service catalog items with name, category, delivery time in hours, visibility and bundle flags. Prices and descript","description":"List service catalog items with name, category, delivery time in hours, visibility and bundle flags. Prices and descriptions are not shown in the list; use get_service_item for one item. Use for \"What items are in the Freshservice service catalog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Your Freshservice subdomain (for example 'acme' for acme.freshservice.com).","maxLength":63,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain","type":"string"},"category_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only items of this service category id (from list_service_categories).","title":"Category Id"},"workspace_id":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Workspace id; only for accounts with workspaces (1 returns global records). Default is the primary workspace.","title":"Workspace Id"},"per_page":{"anyOf":[{"maximum":30,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many items per page (1 to 30, default 30).","title":"Per Page"},"page":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["domain"],"title":"list_service_itemsArguments","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_service_item":{"post":{"operationId":"get_service_item","summary":"Get one service catalog item by its display id: name, short description, cost, delivery time, child items, custom fields","description":"Get one service catalog item by its display id: name, short description, cost, delivery time, child items, custom fields and visibility. Use for \"Show Freshservice service catalog item 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Your Freshservice subdomain (for example 'acme' for acme.freshservice.com).","maxLength":63,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain","type":"string"},"display_id":{"description":"Display id of the service item (the display_id field from list_service_items).","title":"Display Id","type":"integer"}},"required":["domain","display_id"],"title":"get_service_itemArguments","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_service_categories":{"post":{"operationId":"list_service_categories","summary":"List service catalog categories with name, description, position and parent category. Use for \"Which service categories ","description":"List service catalog categories with name, description, position and parent category. Use for \"Which service categories exist in Freshservice\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Your Freshservice subdomain (for example 'acme' for acme.freshservice.com).","maxLength":63,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain","type":"string"},"workspace_id":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Workspace id; only for accounts with workspaces (1 returns global records). Default is the primary workspace.","title":"Workspace Id"}},"required":["domain"],"title":"list_service_categoriesArguments","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_sla_policies":{"post":{"operationId":"list_sla_policies","summary":"List SLA policies with name, active flag, per-priority respond and resolve targets in seconds (priority 1 low to 4 urgen","description":"List SLA policies with name, active flag, per-priority respond and resolve targets in seconds (priority 1 low to 4 urgent) and the conditions each applies to. Use for \"What SLA policies and targets does Freshservice have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Your Freshservice subdomain (for example 'acme' for acme.freshservice.com).","maxLength":63,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain","type":"string"},"workspace_id":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Workspace id; only for accounts with workspaces (1 returns global records). Default is the primary workspace.","title":"Workspace Id"}},"required":["domain"],"title":"list_sla_policiesArguments","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_business_hours":{"post":{"operationId":"list_business_hours","summary":"List business hours configurations with time zone, weekly service desk hours and holidays. Use for \"What business hours ","description":"List business hours configurations with time zone, weekly service desk hours and holidays. Use for \"What business hours are set in Freshservice\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Your Freshservice subdomain (for example 'acme' for acme.freshservice.com).","maxLength":63,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain","type":"string"},"workspace_id":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Workspace id; only for accounts with workspaces (1 returns global records). Default is the primary workspace.","title":"Workspace Id"}},"required":["domain"],"title":"list_business_hoursArguments","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_business_hours":{"post":{"operationId":"get_business_hours","summary":"Get one business hours configuration by id with its time zone, weekly hours and holiday list. Use for \"Show Freshservice","description":"Get one business hours configuration by id with its time zone, weekly hours and holiday list. Use for \"Show Freshservice business hours configuration 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Your Freshservice subdomain (for example 'acme' for acme.freshservice.com).","maxLength":63,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Domain","type":"string"},"business_hours_id":{"description":"Business hours configuration id from list_business_hours.","title":"Business Hours Id","type":"integer"}},"required":["domain","business_hours_id"],"title":"get_business_hoursArguments","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}}}}