PURL 2 Public URL Design

This document describes Uniform Resource Locators (URLs) and HTTP verbs for each public-facing requirement. See the Requirements Page for a full requirements list.

Account Creation and Maintenance

Requirement Public URL HTTP Verb Parameters Auth required
Log in an existing user $PURL_SERVER$/admin/login/login-submit.bsh<id> POST Username (id)
Password (passwd)
Optional referrer page (referrer, defaults to '/docs/index.html')
no
Register a new user $PURL_SERVER$/admin/user/<id> POST Full name (name)
Affiliation (affiliation)
E-mail address (email)
Password (passwd)
Hint (hint)
Justification (justification)
no
Modify user information $PURL_SERVER$/admin/user/<id> PUT Full name (name)
Affiliation (affiliation)
E-mail address (email)
Password (passwd)
Hint (hint)
Justification (justification)
yes
Search user information $PURL_SERVER$/user or $PURL_SERVER$/admin/user/<id> GET Full name (name) or
Affiliation (affiliation)
E-mail address (email)
User ID (id)
Search tombstoned (tombstone)
no
Delete a user $PURL_SERVER$/admin/user/<id> DELETE   yes

PURL Creation and Maintenance

Requirement Public URL HTTP Verb Parameters Auth required
Create a PURL
Create a partial redirect PURL
Chain a PURL
Clone a PURL
$PURL_SERVER$/admin/purl/<id> POST Target URL (target)
User/Group IDs (maintainers)
Type (type)
See Also URLs (seealso)
yes
Create a simple (302) PURL from a Javascript bookmarklet $PURL_SERVER$/docs/simplepurl.html?<URL to target> GET   yes
Modify a PURL $PURL_SERVER$/admin/purl/<id> PUT Target URL (target)
User/Group IDs (maintainers)
Type (type)
See Also URLs (seealso)
yes
Search PURL metadata $PURL_SERVER$/purl or $PURL_SERVER$/admin/purl/<id> GET Target URL (target) or
See Also URLs (see also) or
User/Group IDs (maintainers) or
Explicit User/Group ID (explicitmaintainers)
Search tombstoned (tombstone)
no
Delete PURLs $PURL_SERVER$/admin/purl/<id> DELETE   yes
Batch add PURLs $PURL_SERVER$/admin/purls POST XML (see example) using a RELAX NG Schema yes
PURL Validation $PURL_SERVER$/admin/targeturl/<id> GET   no
Batch PURL Validation $PURL_SERVER$/admin/targeturls
NB: Not implemented in PURLz v1.x
POST XML (see example) using a RELAX NG Schema no

Group Creation and Maintenance

Requirement Public URL HTTP Verb Parameters Auth required
Create a new group $PURL_SERVER$/admin/group POST Group name (name)
Group maintainers (maintainers)
Group members (members)
Public comments (comments)
yes
Modify group information $PURL_SERVER$/admin/group PUT Group name (name)
Group maintainers (maintainers)
Group members (members)
Public comments (comments)
yes
Search group information $PURL_SERVER$/group or $PURL_SERVER$/group/<id> GET Group name (name) or
Group maintainers (maintainers) or
Group members (members)
Search tombstoned (tombstone)
no
Delete a group $PURL_SERVER$/admin/group/<id> DELETE   yes

Domain Creation and Maintenance

Requirement Public URL HTTP Verb Parameters Auth required
Request a top-level domain
Create a subdomain in an existing domain
$PURL_SERVER$/admin/domain/<id> POST Domain name (name)
Domain maintainers (maintainers)
Domain writers (writers)
Public (public)
yes
Modify existing domain information $PURL_SERVER$/admin/domain/<id> PUT Domain name (name)
Domain maintainers (maintainers)
Domain writers (writers)
Public (public)
yes
Search domain information $PURL_SERVER$/domain or $PURL_SERVER$/domain/<id> GET Domain name (name) or
Domain maintainer (maintainers) or
Domain writer (writers)
Search tombstoned (tombstone)
no
Delete a domain $PURL_SERVER$/admin/domain/<id> DELETE   yes