Журнал змін API
Зміни API інтеграції, від найновіших. Політику версій описано в розділі Версії та застарівання.
[1.1.0] — 2026-11-01
Section titled “[1.1.0] — 2026-11-01”- Scoped API keys on
/api/v1.Authorization: Bearer nhk.<keyid>.<secret>(orX-NH-API-Key). Keys are created per tenant from Integrations → API keys and are bound to that tenant. - Scopes enforced on
/api/v1:tickets:create,tickets:read,tickets:comment(tickets:*and*are wildcards). A key with no scopes keeps full v1 access. - Rate-limit headers on every
/api/v1response:RateLimit-Limit,RateLimit-Remaining,RateLimit-Reset, plusRetry-Afteron429. - Machine-readable error
codeon every/api/v1error, for examplemissing_api_key,invalid_api_key,insufficient_scope,rate_limited,validation_errorornot_found. X-Exo-API-Version: 1header on/api/v1responses.- Timestamped webhook signatures:
X-Exo-TimestampandX-Exo-Signature: v1=HMAC-SHA256(secret, "<timestamp>.<body>")protect against replay. See [WEBHOOK-SIGNATURES.md]. X-Exo-EventandX-Exo-Deliveryheaders on outbound webhooks.- Canonical webhook envelope with
id,type,created_at,api_version,tenant_idanddata. - Outbound webhooks now fire for every event in the public catalog (
ticket.created,ticket.status_changed, …), whether or not a notification rule exists. - A webhook subscription created without a
secretgets one generated and returned once. - Inbound connector webhooks accept
X-Exo-Signature+X-Exo-Timestamp. - SDK downloads
/sdk/exocortex.js,/sdk/exocortex.pyand/sdk/exo-cli.
Changed
Section titled “Changed”GET /api/v1/tickets/{key}andPOST /api/v1/tickets/{key}/commentreturn404for tickets that do not belong to the API key’s tenant.GETandcommenton/api/v1now check that the key is enabled and apply the per-key rate limit, likePOST /api/v1/ticketsalready did.- Webhook payload
sourceis nowexoCortex(wasNH-Platform). The test event iswebhook.test(wasnh.webhook.test). The webhookUser-AgentisexoCortex-Webhooks/1.0. - SDKs send
Authorization: Bearerand no longer sendtenant, which the server always took from the key. The SDKwidgetsandmappinghelpers were removed: they called operator-console endpoints that never accepted API keys. - Inbound
X-NH-Connector-Signatureis compared in constant time and also accepts thesha256=prefix.
Deprecated
Section titled “Deprecated”- Legacy API keys
nh_…. Responses carryDeprecation,Sunset: Wed, 30 Jun 2027 23:59:59 GMTandLinkheaders. X-NH-Signature(outbound) andX-NH-Connector-Signature(inbound): signatures without a timestamp.- Legacy webhook payload fields:
event,timestamp,sourceand the context spread at top level. - SDK classes
NHClient/NHError. UseExoClient/ExoApiError.
[1.0.0] — 2026-05
Section titled “[1.0.0] — 2026-05”- First REST API v1 (
/api/v1/tickets), widget, outbound webhooks (X-NH-Signature), inbound connectors, SNMP gateway, SCIM 2.0.