97 lines
2.9 KiB
Markdown
97 lines
2.9 KiB
Markdown
:small_orange_diamond: WORK IN PROGRESS :small_orange_diamond:
|
|
|
|
# Validation Authority
|
|
|
|
| characteristic | value | description |
|
|
| ------ | ------ | ------ |
|
|
| specification | JSON:API | https://jsonapi.org/format/ |
|
|
| base url (prod) | https://validationauthority.jkgroller ||
|
|
| base path | `/v1` | |
|
|
| content type | `application/vnd.api+json` | optional on `GET` |
|
|
|
|
|
|
## Resources
|
|
|
|
### credentials
|
|
|
|
Characteristics:
|
|
|
|
| characteristic | description |
|
|
| ------ | ------ |
|
|
| type | `credentials` |
|
|
| resource path | `/credentials` |
|
|
| id | base62 url-safe uuid |
|
|
| supported methods | `POST` |
|
|
|
|
|
|
Attributes:
|
|
|
|
| name | type | allowed methods |
|
|
| ------ | ------ | ------ |
|
|
| username | char[] | `POST` |
|
|
| password | char[] | `POST` |
|
|
| valid | boolean | `GET` |
|
|
|
|
Status Codes:
|
|
|
|
| status | description |
|
|
| ------ | ------ |
|
|
| `201 CREATED` | For all successful `POST` requests. |
|
|
| `400 BAD REQUEST` | For all validation failure responses. Collection of `Error` objects returned. See below. |
|
|
| `405 METHOD NOT ALLOWED` | For any `GET`, `PATCH`, and `DELETE` requests. |
|
|
| `500 INTERNAL SERVER ERROR` | When things go horribly wrong. Should never occur. |
|
|
|
|
|
|
Error Objects:
|
|
|
|
See https://jsonapi.org/format/#errors
|
|
|
|
`400 BAD REQUEST` - _Collection_ of error objects.
|
|
|
|
_Validation Errors - Username_
|
|
|
|
| attribute | type | description/value |
|
|
| ------ | ------ | ------ |
|
|
| id | string | base62 url-safe uuid |
|
|
| title | string | Human readable title for the error. Many errors may share this title. |
|
|
| description | string | Human readable description for _this instance_ of the problem. |
|
|
| status | string | `422` |
|
|
| code | string | base62 resource id of constraint which failed |
|
|
| source | object | |
|
|
| pointer |string| `/data/attributes/username`|
|
|
| meta | map| `accessibilityDescription` = Screen reader compatible description |
|
|
| | | ?? |
|
|
|
|
_Validation Errors - Password_
|
|
|
|
| attribute | type | description/value |
|
|
| ------ | ------ | ------ |
|
|
| id | string | base62 url-safe uuid |
|
|
| title | string | Human readable title for the error. Many errors may share this title. |
|
|
| description | string | Human readable description for _this instance_ of the problem. |
|
|
| status | string | `422` |
|
|
| code | string | base62 resource id of constraint which failed |
|
|
| source | object | |
|
|
| pointer |string| `/data/attributes/password`|
|
|
| meta | map| `accessibilityDescription` = Screen reader compatible description |
|
|
| | | ?? |
|
|
|
|
|
|
`405 METHOD NOT ALLOWED` - Single error object.
|
|
|
|
| attribute | type | description/value |
|
|
| ------ | ------ | ------ |
|
|
| id | string | base62 url-safe uuid |
|
|
| title | string | Human readable title for the error. |
|
|
| status | string | `405` |
|
|
|
|
|
|
`500 INTERNAL SERVER ERRORD` - Single error object.
|
|
|
|
| attribute | type | description/value |
|
|
| ------ | ------ | ------ |
|
|
| id | string | base62 url-safe uuid |
|
|
| title | string | Human readable title for the error. |
|
|
| status | string | `500` |
|
|
|