Releases: ietf-wg-asdf/asdf-nipc
Releases · ietf-wg-asdf/asdf-nipc
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 groupDELETE /groups/{id}/events/{instanceId}
- Disable event on groupGET /groups/{id}/events/{instanceId}
- Get group event statusGET /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
- Removed
- 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
- Actions now return
- Simplified response formats by removing redundant data:
- Property read responses no longer include
id
andproperty
fields - Event responses use instance-based tracking with Location headers
- Removed
X-Request-ID
headers from examples
- Property read responses no longer include
- 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
- Event enable operations return
- Actions now follow asynchronous pattern:
POST /devices/{id}/actions/{actionName}
returns202 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
- Now returns array format:
- Multi-property operations now use array format:
- Request/response bodies are direct arrays instead of objects with
properties
field - Simplified structure:
[{"property": "...", "value": "..."}]
- Request/response bodies are direct arrays instead of objects with
- 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
nipc-asdf-06
What's Changed
- Change sdfRef to sdfName by @rohitmohan96 in #68
- Add new error code: SDF model in use by @rohitmohan96 in #69
- Update error message format by @rohitmohan96 in #70
Full Changelog: nipc-asdf-05...nipc-asdf-06
nipc-asdf-05
- Added Schema section in the architecture chapter
- Added customTopic to mqttBroker
- Default topic format changed with the addition of data-app id (no longer needs to be percent encoded)
- Extension APIs - Firmware, Bulk and conditional read API to use callback or polling
- Conditional read - frequency renamed to retryTime
- Conditional read - return value in case of failure as well
- Added more errorCodes
nipc-asdf-04
A short summary of the changes is as follows:
- All the model and text updates that were discussed at the hackathon and interim meeting
- Updated architecture section
- The registration APIs no longer require a device ID to register the model or data-app
- The value field is made optional in the action API since not all protocols require a value to be sent for an action
- The failure response and error codes have been redesigned
- Updated the bulk API extension to align with the new APIs
- Added a conditional read API extension
- Updated the CBOR CDDL to allow for a batch of messages to be sent in a single MQTT message
- Updated the example sections in the draft to go through a couple of API flows
- Updated the appendix with additional models and an example thermometer SDF model with BLE protocol mapping
nipc-asdf-03
- API changes to adopt to ASDF principles and nomenclature:
- Replaced different operations categories with SDF actions
- Updated pub/sub topic APIs to SDF events
- Introduced properties instead of attributes
- Consolidated different types of properties into a single SDF property
- Removed superfluous API’s due to consolidation of properties
- Updated the schema with SDF nomenclature
- Implemented a new OpenAPI model (appendix)
- Updates to the intro and overview to reflect changes
- A new architecture section explaining all API architecture elements
- Main API catetgory: Actions
- 2nd API category: Registrations – these APIs should only be needed if NIPC is standalone. When integrated in SDF model, registrations are part of the model (NIPC in SDF!)
- Changed protobuf to CBOR
nipc-asdf-01
- Fixed the appendix section where the yaml files weren’t embedded in the draft correctly
- Fixed the normative reference to draft-ietf-scim-device-model which was pointing to an obsolete draft before
nipc-asdf-00
nipc-asdf-00 adopted by working group
draft-00
nipc-bbrinckm-draft00