Suggestions for our REST endpoints: Primarily POST should be used to create new 
resources without specifying a new resource id. PUT should used to update 
existing resources. Rest endpoints should use a path parameter to allow 
specifying the content type of a GET request where applicable.

For Scheduler the new structure would look like this:

GET
/recordings/recordings.{format}?param&param...          - Filter events 
(including handling conflicts), and get all events if no filters are provided
/recordings/{id}.{format}                                                       
- Return a single event, 404 if event not found
/recordings/{id}/agent.properties                                       - 
Return capture agent properties, 404 if event not found
/recordings/calendars/?param&param                              - Return 
calendar filtered by param, usually will specific agentId

POST
/recordings/                                                    - create a new 
event or group of events, return list of ids and URIs of created events

PUT
/recordings/{id}                                                - Update an 
event, 404'd if doesn't exist
/recordings/bulkactions/                                - Update a group of 
events

DELETE
/recordings/{id}                                                - Delete the 
event, 404 if not found, 202 on success
/recordings/bulkactions/                                - Delete a group of 
events

Series

GET
/series/series.{format}?param&param...          - Filter series, and Return all 
series
/series/{id}.{format}                                           - Specific 
series, 404 if not found
/series/{id}/acl.{format}                                       - ACL for the 
specified series, 404 if series not found

POST
/series/                                                                -Create 
new series, return series id
/series/{id}/acl                                                -Create a new 
ACL for specified series, 404 if not found

PUT
/series/{id}                                                    - Update series 
if exists, or 404'd
/series/{id}/acl                                                - Update series 
ACL, 404 if not found

DELETE
/series/{id}                                                    - Delete 
series, 404 if not found, 202 on success.

(Does this one make sense?)
/series/{id}/acl                                                - Delete ACL 
from specified series, 404'd

There are a lot of other endpoints that are much simpler than these, but should 
still conform to the GET/POST/PUT/DELETE Verb actions for those verbs that they 
implement.

Micah
_______________________________________________
Matterhorn mailing list
[email protected]
http://lists.opencastproject.org/mailman/listinfo/matterhorn


To unsubscribe please email
[email protected]
_______________________________________________

Reply via email to