Known differences

ServiceNow

A ServiceNow instance that answers the Table, CMDB Instance, Aggregate, Service Catalog, Knowledge and Attachment APIs pysnc and pysnow call, plus an MCP server.

Vendor reference: https://developer.servicenow.com/dev.do#!/reference/api/latest/rest/ ↗. Machine-readable: compat/servicenow.json.

Surfaces

KindPathNotes
REST/api/now/tableTable API, also under /api/now/v1/table and /api/now/v2/table
REST/api/now/cmdbCMDB Instance API, read-only; Aggregate API under /api/now/stats
REST/api/sn_sc/servicecatalogService Catalog API
REST/api/sn_km_api/knowledgeKnowledge API
REST/api/now/attachmentAttachment API
OAuth/oauth_token.dopassword, refresh_token and client_credentials grants
MCP/mcptable tools and the servicenow-mcp tool set

API versions: Table API (unversioned, v1, v2), CMDB Instance API (unversioned, v1)

Supported

Not supported

Known differences and test guidance

ScenarioDifference from ServiceNowIn your tests
Unknown query conditionsConditions on unknown fields are ignored, as ServiceNow does, so the query returns rows instead of an error.Do not expect a 400 for a misspelled field in sysparm_query.
Writes on a self-run instanceClient writes, through REST and MCP, are refused unless the host enables them.Enable writes on the instance you run before testing create, update or delete.
Attachment sizeAn uploaded file is kept up to 1 MiB.Do not test large attachments against the replica.
Record idssys_ids are deterministic 32-hex values, stable across runs.Read ids from the API; do not hard-code ids from a real instance.
Featured and most-viewed articlesKnowledge articles are ranked by ticket links and sys_view_count.Do not assert on a specific ranking order.

Fault injection

KeyWhat the client sees
throttle429 {"error": "rate_limited", "message": "Too Many Requests"} with Retry-After
fail_nextThe next N calls fail as throttle does, then clear
quota_limit429 {"error": "quota_exceeded"} once the per-window quota is spent
error_rate500 for the given fraction of calls
latency_msFixed added latency on every data-plane request

Applies to every system