Authenticate with HTTP Basic Auth — use your Freshdesk API key as the username and the literal string X as the password. No other auth method is supported.
List existing SLA policies with GET https://YOUR_DOMAIN.freshdesk.com/api/v2/sla_policies to review current configurations and note the 'id' of any policy you want to update.
Create a new SLA policy with POST /api/v2/sla_policies, supplying 'name', 'description', 'is_default', 'applicable_to' (conditions matching tickets such as source or group), and 'sla_target' (an object with response and resolution targets per priority level).
Each priority level in 'sla_target' requires 'respond_within', 'resolve_within', 'business_hours', and 'escalation_enabled' fields — supply all four for each of the four priority levels (urgent, high, medium, low).
Update an existing policy with PUT /api/v2/sla_policies/{sla_policy_id} using the same full body structure.
Verify the policy is correctly applied by creating a test ticket that matches the 'applicable_to' conditions and confirming the SLA timestamps appear as expected.
Known gotchas
Freshdesk uses HTTP Basic Auth only — do not add any custom auth headers such as X-Auth-Token; those will be ignored and the request will fail authentication.
The 'applicable_to' conditions use Freshdesk's internal identifiers for groups, products, and sources — fetch those IDs via the respective list APIs before constructing the policy.
Only one SLA policy can be marked 'is_default': true; creating a second default policy will either error or demote the previous default depending on the Freshdesk version — update explicitly.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp