The LYNKS API is a RESTful API, following market best practices for design and implementation.
HTTP Verbs
We're using HTTP Verbs in the following way:
HTTP Verb | Used for | Returns |
---|---|---|
| Creating a new resource or array of resources |
|
| Getting a resource by ID |
|
| Updating a resource |
|
| Linking resources together |
|
| Deleting a resource |
|
Media types
The API uses application/json
as content type for all endpoints that receive and return payload objects. The only exception if the GET /token
endpoint to retrieve the access and refresh token. This endpoint uses application/x-www-form-urlencoded
as defined by the OAuth2 specification.
HTTP return codes
Return code | Meaning |
---|---|
200 OK | Returned on GET methods if the call was successful. The response body contains the full representation of the resource. |
201 Created | Returned on POST methods if the resources were successfully created. The response body contains an array of resource IDs of the resources that were created. |
204 No Content | Returned on DELETE methods if the operation was successful. No body is returned. |
400 Bad Request | Returned on any method if the request was badly formatted, either syntactically (e.g. wrong or missing parameters, bad formatting...) or semantically (e.g. the submitted resource objects are invalid). |
401 Unauthorized | The API client has not used proper authentication to access the APIs. All APIs expect an Authorization HTTP header with a bearer token. |
403 Forbidden | The technical user that has successfully authenticated does not have the necessary permissions to access the given API method. |
404 Not Found | The resource that was requested does not exist or the authenticated technical user does not have permissions to access this instance of the resource. |
503 Unavailable | The LYNKS API is temporarily not available. |
Error object
All error responses (4xx
or 5xx
return codes) contain a response body with the detail of the error, following the RFC specification.
Property | Description |
---|---|
type | URI reference that identifies the problem type |
title | Short summary of the problem type |
status | HTTP status code of the problem |
detail | Explanation specific to this occurrence of the problem |
instance | A reference that identifies the specific occurrence of the problem |
validationErrors | [POST/PUT requests only] Semantic or constraint validation errors of the provided resources |
Example
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
Content-Language: en
{
"type": "some-problem-type",
"status": 400,
"title": "Method arguments not valid.",
"instance": "ec4138ea-673e-11ee-8c99-0242ac120002",
"detail": "One or more accounts have failed validation.",
"validationErrors": [
{
"errorMessage": "Account name cannot be longer than 35 characters",
"inputIndex": 2
},
{
"errorMessage": "IBAN is invalid",
"inputIndex": 13
}
]
}
Pagination
All Find resource
API methods allow the result set to be retrieved in a paginated way. Pagination values are provided as query parameters.
Parameter name | Value |
---|---|
unpaged | No pagination. If set to true, the endpoint will return all results and pageIndex / pageSize will have no effect. Defaults to false. |
pageIndex | The index of the page that the client wants to retrieve |
pageSize | The size of the page (number of entries) the client wants to retrieve. |
If a client intends to paginate through a result set, it is strongly recommended to use the same page size for all subsequent calls as for the first call to avoid unpredictable results.
The response of a paginated request will contain the header X-Total-Count
informing of how many records that match the request exist. Example:
HTTP/1.1 200
Content-Type: application/json
X-Total-Count: 400
<other headers>
<response body>
Sorting
All Find resource
API methods allow the result set to be sorted by a list of properties that are proprietary to the API method.
Parameter name | value |
---|---|
sort | Sorting criteria in the format: property,(asc|desc) |
Filtering
All Find resource
API methods allow the result set to be filtered by a list of properties that are proprietary to the API method.