Niceincontactniceincontact.com
Niceincontact's API program shows strength in documentation discoverability and basic schema design, but partners and their AI agents face serious blockers in three areas: the spec is nearly invisible to agents (no operation clarity, no error handling, no structured data, no agent instruction files), mutating operations carry real risk in production (no sandbox, no idempotency guidance, no rate-limit signals), and the developer onboarding experience lacks examples or code samples to get partners to their first working call. Prioritize making the API contract legible and safe for agents first, then close the runnable-experience gap so partners can self-serve from day one.
API DesignA clean, typed, well-governed API contract agents can reason about3 pass1 warn1 fail81A
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Machine-readable, versioned contractvia spec | 25/25 | The API declares version "v1" and uses url-based versioning, so an agent can pin to a stable contract. Investigated: spec 100%, docs 100%. | A current OpenAPI version with a declared versioning scheme lets agents reason about the contract. |
| pass | Auth declared & discoverablevia spec | 25/25 | authentication is documented on the docs site at https://developer.niceincontact.com/Error/NotFound?aspxerrorpath=/authentication, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%. | Agents can only call an API when they can determine its auth posture — a declared scheme, or an explicit statement that none is required. |
| pass | Security & governance hygienevia spec | 15/15 | No credential-shaped strings detected in spec. Investigated: spec 100%, wellknown 0%. | No leaked secrets, no critical lint violations, no OWASP API Top-10 spec smells, and a published vulnerability-disclosure channel. |
| warn | Schema coverage & depthvia spec | 12.5/25 | Only 50% of the 2 operations document request and response schemas, so an agent can't do function-calling against most endpoints. Investigated: spec 50%. Fix: Add request and response schemas to enable agent function-calling. | Typed, complete request/response schemas are what make agent function-calling possible. |
| fail | Example coveragevia spec | 0/10 | Only 0% of parameters and responses (0 of 4) include example values, so an agent has little grounding in real payload shapes. Investigated: spec 0%, docs 0%. Fix: Add example values to parameters and response schemas — examples carry shape semantics schemas under-specify. | Examples carry shape semantics schemas under-specify — for humans and agents alike. |
Developer ExperienceThe context both developers and agents need to integrate fast — onboarding, code samples, complete descriptions and worked examples2 pass1 warn2 fail64C
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Self-service developer portalvia docs | 29/29 | Signup page found at https://www.nice.com/contact-us, but no free tier or sandbox is documented in docs/pricing, so an agent may hit a paywall. Investigated: docs 100%. | A first call without a human in the loop — self-serve credentials, a free tier, or an API that needs none. |
| pass | Changelog publishedvia spec | 13/13 | changelog is documented on the docs site at https://developer.niceincontact.com/Error/NotFound?aspxerrorpath=/changelog, even though it isn't declared in the API spec. Investigated: spec 100%, docs 100%. | A published changelog lets partners track changes without surprise. |
| warn | Quickstart presentvia docs | 12.5/25 | Quickstart page is reachable at https://developer.niceincontact.com/Error/NotFound?aspxerrorpath=/quickstart (12 variants scanned) but has no runnable code sample in its HTML or .md variant, so there's nothing to copy and run. Investigated: docs 50%. Fix: Add a copy-pasteable curl or SDK call, with the expected response, to the quickstart page (or its .md variant). | A quickstart is the fastest path from landing page to first successful call. |
| fail | Code samples in docsvia docs | 0/18 | No code samples detected across 20 sampled docs pages, so a coding agent gets no ready-to-use examples. Investigated: docs 0%. Fix: Add copy-pasteable code samples to API reference and quickstart pages. | Multi-language samples shorten time-to-first-call. |
| fail | Description completenessvia spec | 0/15 | Only 50% of operations and parameters have descriptions (2 of 2 ops, 0 of 1 params), leaving an agent to guess what most endpoints do. Investigated: spec 0%. Fix: Descriptions are the primary semantic signal agents use for tool selection. Each operation should explain what it does and reference its parameters; each parameter needs a real description. | Complete descriptions are the context humans and agents need to use endpoints. |
Agent DiscoveryPartners and their agents can find your APIs — llms.txt, registries, crawlable and reachable docs1 pass3 warn0 fail71B
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| pass | Registry & SDK presencevia docs | 28/28 | Indexed on Context7 (websites/developer_niceincontact, 11280 snippets). Investigated: docs 100%, sdk 0%, cli 0%. | Listing in MCP registries and publishing SDKs puts the API where agents and their tooling look. |
| warn | Docs reachable, not hard auth-gatedvia docs | 17.9/30 | 31 of 31 pages return 200 for non-existent URLs (soft 404). Investigated: docs 60%. | Agents can only index and fetch docs they can reach — past auth gates and over correct HTTP semantics. |
| warn | llms.txt present, valid & comprehensivevia docs | 10/30 | No llms.txt found at any candidate location (https://developer.niceincontact.com/llms.txt, https://developer.niceincontact.com/docs/llms.txt). Investigated: docs 33%. | A valid, comprehensive llms.txt is the machine-readable entry point for agents. |
| warn | Crawlable / AEOvia wellknown | 9/12 | Sitemap has 36 entries but no lastmod values, so crawlers can't tell what changed recently. Investigated: wellknown 75%. Fix: Add accurate <lastmod> values to sitemap entries — AI-powered search uses them to prioritize crawling. | Bots allowed plus a fresh sitemap make docs findable by agent crawlers. |
Agent UnderstandingAgents can correctly interpret your APIs — machine-readable errors, consistent descriptions, structured data, parseable docs0 pass1 warn5 fail44F
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| warn | Agent-navigable, token-efficient docsvia docs | 16.6/22 | No pages support .md URLs (0/31 tested). Investigated: docs 76%. | Server-rendered, clean, small-footprint docs are what an agent can cheaply fetch and parse correctly. |
| fail | Machine-readable errors (RFC 9457)via spec | 0/28 | No error responses (4xx/5xx or a catch-all default) are documented anywhere in the spec, so an agent can't anticipate or handle failures. Investigated: spec 0%, docs 0%. Fix: Document at least the common error codes (400, 401, 403, 404, 429, 500) per operation. | RFC 9457 problem details and a documented error-code inventory let agents parse failures without burning tokens. |
| fail | Operation purpose clarityvia spec | 0/25 | Only 0% of operations (0 of 2) have a clear summary plus descriptive name, so an agent must guess purpose from the URL path for most. Investigated: spec 0%. Fix: Operations without a summary or operationId force agents to guess purpose from the path. Add a concise summary + descriptive operationId to each. | Agents select the right endpoint from its summary + operationId; clear, named operations make tool-selection reliable — the strongest driver of correct tool choice. |
| fail | Agent instructions file (AGENTS.md)via wellknown | 0/10 | No AGENTS.md at the site root or /.well-known/, so coding agents have no ready-made setup and usage instructions. Investigated: wellknown 0%. Fix: Publish an AGENTS.md with setup, auth, and usage instructions a coding agent can follow. | An AGENTS.md gives coding agents explicit setup, auth, and usage instructions to interpret and operate the API — beyond llms.txt's link index. |
| fail | Docs structured datavia docs | 0/8 | No JSON-LD or OpenGraph/meta tags found across 3 assessed pages (3 JS-rendered), so answer engines have nothing to cite. Investigated: docs 0%. Fix: Server-render structured data (JSON-LD) so AI answer engines can cite your docs. | Structured data (JSON-LD/schema.org) on docs pages gives agents an unambiguous parse target and is what answer engines cite. Detected on the JS-rendered head (Firecrawl) for a bounded page budget, so JS-injected JSON-LD is now caught; pages we can't render are excluded rather than failed. |
| fail | Description consistency across surfaces | 0/7 | Mean pairwise description similarity across 2 surfaces (spec, docs) is 0% (threshold 35% for full credit). Fix: Align the API description across spec, docs, and SDK so an agent reading any one surface gets the same story. | Every surface tells the same story about what the product is. |
Agent UsabilityAgents have the context to use your APIs reliably, not just find them0 pass0 warn4 fail40F
| Signal | Points | Findings | Rationale | |
|---|---|---|---|---|
| fail | Idempotency documentedvia spec | 0/27 | Only 0% of mutating operations (0 of 2) document idempotency, so an agent's retries can create duplicate writes. Investigated: spec 0%, docs 0%. Fix: Agents retry on failure; without idempotency, retries create duplicates. Document Idempotency-Key on every POST/PUT/PATCH/DELETE. | Documented idempotency lets agents retry safely. |
| fail | Rate-limit signalingvia spec | 0/22 | No rate-limit response headers are documented, so an agent can't tell when it is approaching a limit and will get throttled. Investigated: spec 0%, docs 0%. Fix: Add x-ratelimit-* response headers and document retry-after semantics. | Machine-readable rate-limit headers let agents throttle adaptively. |
| fail | Sandbox separationvia spec | 0/20 | None of the 0 declared server(s) is a sandbox/test host, and no test-key prefixes are documented, so agents can only hit production. Investigated: spec 0%, docs 0%. Fix: Add a sandbox server in spec.servers[] with visually distinguishable test credentials. | An isolated environment lets agents exercise destructive operations safely. |
| fail | Runnable collection with test scriptsvia platform | 0/9 | No public Postman workspace found for the org, so there's no runnable collection an agent can execute against. Investigated: platform 0%. Fix: Publish at least one public Postman workspace and link it from your developer portal so agents can use Run-in-Postman. | A public, maintained collection with assertions is runnable truth agents validate against. |
| na | Pagination documented & consistent | —/22 | No surface produced evidence for this capability in this run. | Consistent, documented pagination lets agents traverse collections. |
Resources Discovered
The public resources we found for Niceincontact — the evidence behind the score. All discovered from public sources; nothing here requires access to your systems.
| Agent hints | Context7 (11,280) |
|---|---|
| APIs analyzed | 1 — VirtualAgentHub Integration Reference Endpoints |