Creates a new API key. An API key can be used to authenticate against the
backend API.
Access control
Endpoints
Creating a new API key is possible via these endpoints:
Request body
Property |
Type |
Description |
name |
string |
A name for the API key |
level |
number |
A privilege level from 0 to 8. |
expiresIn |
number |
The number of seconds until the API key expires |
Response status codes
Possible status codes for these endpoints are:
Status code |
Description |
|
success |
|
the request was malformed |
|
the request lacks authentication |
|
authentication failed |
|
server error |
If the status code is not the `error` property
in the response body should indicate the nature of the problem.
Response body
##### Make sure to save the secret
The response body is the only time the API key's secret will be revealed.
Value |
Type |
Description |
result |
string |
Either success or error |
error |
string |
Will give info on the nature of the error. Only set if an error occurred. |
apikey.key |
string |
The API key |
apikey.secret |
string |
The API secret |
apikey.level |
number |
The privilege level of the API key |
apikey.expiresAt |
string |
A string representation of the moment the API key expires |
apikey.name |
string |
The name of the API key |
apikey.userId |
number |
The ID of the user who created the API key |
Example request
const apiKey = axios.post(
'https://backend.freesewing.org/apikeys/jwt',
{
name: 'My first API key',
level: 2, // Read only
expiresIn: 3600, // One hour
},
{
headers: {
Authorization: `Bearer ${token}`
}
}
)
Example response
{
"result": "success",
"apikey": {
"key": "7ea12968-7758-40b6-8c73-75cc99be762b",
"secret": "503d7adbdb3ec18ab27adfcd895d8b47a8d6bc8307d548500fbf9c05a5a8820e",
"level": 3,
"expiresAt": "2022-11-06T15:57:30.190Z",
"name": "My first API key",
"userId": 61
}
}