Releases
nipc-asdf-07
Updated API paths to use RESTful resource naming conventions:
/{id}/property/{property}
→ /devices/{id}/properties/{propertyName}
/{id}/event/{event}
→ /devices/{id}/events/{eventName}
/{id}/action/{action}
→ /devices/{id}/actions/{actionName}
/{id}/action/connection
→ /devices/{id}/manage/connection
Added group operations as a separate endpoint:
POST /groups/{id}/events/{eventName}
- Enable event on group
DELETE /groups/{id}/events/{instanceId}
- Disable event on group
GET /groups/{id}/events/{instanceId}
- Get group event status
GET /groups/{id}/events
- Get multiple group events status
Migrated from custom error format to RFC 9457 Problem Details:
Removed nipcStatus
field and numeric error codes
Added type
field with URI-based error identifiers
Added title
field for brief error summaries
Updated status codes for better HTTP compliance:
Actions now return 202 Accepted
with Location header for status tracking
Property writes return 204 No Content
instead of echoing the written data
Simplified response formats by removing redundant data:
Property read responses no longer include id
and property
fields
Event responses use instance-based tracking with Location headers
Removed X-Request-ID
headers from examples
Events now use instance-based management:
Event enable operations return 201 Created
with Location header
Location header contains unique instance ID for tracking
Event disable uses instance ID instead of event name
Support for multiple instances of the same event type
Actions now follow asynchronous pattern:
POST /devices/{id}/actions/{actionName}
returns 202 Accepted
Location header points to action instance for status checking
GET /devices/{id}/actions/{instanceId}
checks action status
Status responses include completion state (e.g., "IN_PROGRESS", "COMPLETED")
SDF model registration response format changed:
Now returns array format: [{"sdfName": "..."}]
instead of single object
Multi-property operations now use array format:
Request/response bodies are direct arrays instead of objects with properties
field
Simplified structure: [{"property": "...", "value": "..."}]
Moved embedded protocol mapping APIs to extensions:
POST /{id}/action/property/write
→ /extensions/{id}/properties/write
POST /{id}/action/property/read
→ /extensions/{id}/properties/read
POST /{id}/action/broadcast
→ /extensions/{id}/manage/transmit
Fixed API path reference in connection management documentation:
/{id}/action/connection
→ /devices/{id}/manage/connection
You can’t perform that action at this time.