| Resource |
Study.Roster |
| Method |
POST |
| Purpose |
Create a new roleholder for a study |
| Client sends … |
Request | POST roster-URI |
| Header | Host: host |
| Header | Date: date |
| Header | Authorization: yosokumo user-identifier:request-digest |
| Header | Content-Type: content-type |
| Header (optional) | Content-Encoding: content-encoding |
| Header (optional) | Content-Length: content-length |
| Header (optional) | Content-MD5: content-digest |
| Header (optional) | Accept: content-type(s) |
| Header (optional) | Accept-Encoding: content-encoding(s) |
| Entity | <role document> |
| Server returns … |
Success | Code | 201 Created |
| Header | Date: date |
| Header | Location: role-URI |
| Header (conditional) | Content-Type: content-type |
| Header (conditional) | Content-Encoding: content-encoding |
| Header (conditional) | Content-Length: content-length |
| Header (conditional) | Content-MD5: content-digest |
| Entity (conditional) | <role document> |
| • Authorization header malformed |
| • Posted document not well-formed |
| • Posted document length does not match Content-Length header value |
| • Posted document digest does not match Content-MD5 header value |
| • Posted document not a role |
| • Posted document does not contain user identifier of new roleholder |
|
Code |
400 Bad Request |
| Authorization header missing | Code | 401 Unauthorized |
| Header | WWW-Authenticate: yosokumo user:digest |
| • Requesting user not recognized |
| • Request digest incorrect |
| • Requesting user lacks POST roster permission for this study |
|
Code |
403 Forbidden |
| Requested URI not recognized | Code | 404 Not Found |
| • User referenced in role document not recognized |
| • User referenced in role document an existing roleholder for this study |
| • Study referenced in role document conflicts with roster-URI |
|
Code |
409 Conflict |
| • Data interchange format of posted document not recognized |
| • Encoding of posted document not recognized |
|
Code |
415 Unsupported Format |