← all adapters

zendesk-style

simulates Zendesk REST API 2

restadapter v0.1.037 routes

verification

SDKverified with node-zendesk 6.0.1 (floor)· surface 37 · not implemented 8 · differs 5

use it

# add to stunt.yaml
services:
  zendesk:
    adapter: embedded:zendesk-style

# then
$ stunt up

The embedded: source extracts this adapter from the binary — no git clone, fully offline.

how to mock the Zendesk REST API locally

Install stunt, paste the service block above into stunt.yaml, run stunt up — then point your client at localhost instead of Zendesk REST API. It works offline, keeps state across requests and restarts, and every response is synthetic: the route shapes, status codes, pagination, and webhook delivery follow the real Zendesk REST API 2 surface — the data is fake, the behavior is real.

backing stores

ticketscommentsusersorganizationsgroupstagswebhooks

api surface (37)

generated from the adapter manifest — exactly what boots, nothing more

37 routes
GET/api/v2/tickets.json
POST/api/v2/tickets.json
POST/api/v2/tickets/{id}/comments.json
GET/api/v2/tickets/{id}/comments.json
POST/api/v2/tickets/{id}/tags.json
GET/api/v2/tickets/{id}.json
PUT/api/v2/tickets/{id}.json
DELETE/api/v2/tickets/{id}.json
GET/api/v2/users.json
GET/api/v2/organizations.json
GET/api/v2/groups.json
GET/api/v2/requests.json
GET/api/v2/views.json
GET/api/v2/triggers.json
GET/api/v2/webhooks.json
POST/api/v2/webhooks.json
DELETE/api/v2/webhooks/{id}.json
GET/api/v2/suspended_tickets.json
GET/api/v2/tickets
POST/api/v2/tickets
POST/api/v2/tickets/{id}/comments
GET/api/v2/tickets/{id}/comments
POST/api/v2/tickets/{id}/tags
GET/api/v2/tickets/{id}
PUT/api/v2/tickets/{id}
DELETE/api/v2/tickets/{id}
GET/api/v2/users
GET/api/v2/organizations
GET/api/v2/groups
GET/api/v2/search.json
GET/api/v2/requests
GET/api/v2/views
GET/api/v2/triggers
GET/api/v2/webhooks
POST/api/v2/webhooks
DELETE/api/v2/webhooks/{id}
GET/api/v2/suspended_tickets

SDK-verified behaviors (6)

  • create assigns a numeric id
  • show round-trips; status update persists
  • comment created at ticket-create time is readable
  • list includes the ticket
  • substring search finds it by subject
  • delete removes it

Not implemented (8)

  • No ticket metrics, audits, fields, or forms endpoints
  • No ticket create_many/update_many or import endpoints
  • No macros, SLA policies, or satisfaction ratings endpoints
  • No incremental exports (incremental/tickets, incremental/users)
  • No attachments/uploads API
  • Users, orgs, groups, views, triggers list-only; no create/update/delete
  • No request create/update endpoints (GET /api/v2/requests is list-only)
  • No webhook update (PUT/PATCH) or /webhooks/{id}/test endpoint

Differs from the real API (5)

  • Search is substring-only over ticket subject/description; empty query returns all tickets
  • GET /api/v2/suspended_tickets always returns an empty list
  • Webhook deliveries use the {type, payload} envelope, not Zendesk placeholder bodies
  • Webhook signing_secret is caller-supplied (omitted falls back to a public mock secret)
  • per_page <= 0 disables cursor paging: all records returned, links.next null
want more of the Zendesk REST API surface? adapters are YAML + Starlark — the authoring guide covers adding routes, fixtures, and state machines. Open an issue for anything big first, or just file a PR — merged routes ship in the next release.