RESTful API
Overview
Open Registry provides RESTful HTTP APIs to programatically access significant resources of the system and change their server-side state. The APIs are simple HTTP resources which conform to the basic REST (REpresentational State Transfer) principals i.e. the exposed resources are identified by unique URIs and are conformed to the 'uniform interface' i.e. basic set of the standard HTTP methods such as GET, PUT, POST, DELETE.
Resources
All resources are available under the top-level API URI:
/api/v1
- Activation Keys — Represents an activation key, which can be verified, invalidated, or created via a RESTful API.
- Calculated Person Resource — Allows a user to manipulate a person's system of record record via a real-time API.
- Email Resource — Allows a client to update or add an email attached to a particular person's system's of record role's affiliation
- NetId Management Resource — Allows a system to manipulate a person's netIds via a real-time API.
- Non-Person / Auxiliary Programs
- RESTful API Examples
- SoR Person Resource — Allows a user to manipulate a person's system of record record via a real-time API.
- SoR Role Resource — Allows a user to manipulate a person's system of record role record via a real-time API.
Security
All exposed resources should be secured. This is a local decision, however. Spring Security is being used by OpenRegistry to secure resources. Local deployments should modify the original authentication mechanism deployed with OpenRegistry to fit their needs. The RESTful API should work with any of the standard HTTP Authentication methods. This includes BASIC Auth and Digest (and whatever you can pass via them, such as CAS tickets) and X.509 certificates. It is NOT RECOMMENDED that the RESTful API be deployed in an unsecured fashion.
Authorization is handled at the service layer, thus should be consistent across all of the available APIs.
Web Application Description Language (WADL)
The WADL for all exposed resources could be accessed under the following URI (relative to the top level API URI):
/application.wadl
RESTful API Examples
See the following RESTful API Examples