Home / Digitec Coding Practices / REST API
REST API Standards
-
All URL paths must be dashed and lowercase.
-
All URL parameters (POST, GET, etc) must be underscored and lowercase:
snake_case
. -
All entities of the same type must have a common schema with a minimum set of properties.
-
Extra properties can be requested using the following notation:
resource-endpoint:(extra-property1, extra-property2)
- Extra properties can be sub-collections, relationships etc of the main resource.
-
Updating or creating an entity should return the entity if discreet (i.e. tagging an asset will not return the tag or the asset but creating a tag will return the tag).
HTTP | Route | Action |
---|---|---|
POST |
/permissions |
create resource, optional permission id for parent in payload |
GET |
/permissions |
get resource collection |
GET |
/permissions?role=:id |
get resource collection for role |
GET |
/permissions/:id |
get single resource |
DELETE |
/permissions/:id |
delete single resource |
DELETE |
/permissions/:id?recursive=:boolean |
delete single resource |
PATCH |
/permissions/:id |
update resource |
POST |
/permissions/:id/link |
link permission to specified role(s), payload [] |
POST |
/permissions/:id/unlink |
unlink permission to specified role(s), payload [] |
HTTP | Route | Action |
---|---|---|
GET |
/resources |
View all resources |
GET |
/resources/{id} |
View single resource |
GET |
/resources/new |
View create resource form |
POST |
/resources |
Store new resource |
GET |
/resources/{id}/edit |
View edit resource form |
PUT |
/resources/{id} |
Update resource |
PATCH |
/resources/{id} |
Update resource |
DELETE |
/resources/{id} |
Delete resource |