You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nikola Forró
231ea6a4f3
|
7 years ago | |
---|---|---|
.. | ||
.gitignore | 7 years ago | |
Dockerfile | 7 years ago | |
README.md | 7 years ago | |
app.py | 7 years ago | |
db.py | 7 years ago | |
generate_api_key.py | 7 years ago | |
requirements.txt | 7 years ago |
README.md
HTTP API documentation
Get specific quote
GET /quotes/:id
curl --request GET 'https://tld.example/api/quotes/28'
Example response:
{
"id": 28,
"date": "2018-01-01",
"game": "IRL",
"text": "Cheese?",
"created_at": "2018-01-01T00:00:00",
"updated_at": "2018-01-01T00:00:00"
}
Get list of quotes
GET /quotes
curl --request GET --data 'https://tld.example/api/quotes?filter=cheese&sort_by=date&sort_order=asc'
Note: X-Total-Count
header is set to a total number of quotes after filtering (useful for pagination)
Example response:
[
{
"id": 28,
"date": "2018-01-01",
"game": "IRL",
"text": "Cheese?",
"created_at": "2018-01-01T00:00:00",
"updated_at": "2018-01-01T00:00:00"
},
{
"id": 42,
"date": "2018-02-02",
"game": "IRL",
"text": "Cheese!",
"created_at": "2018-02-02T00:00:00",
"updated_at": "2018-02-02T00:00:00"
}
]
Parameters:
filter
(optional) - Filter stringsort_by
(optional) - Sort field,id
,date
,game
ortext
sort_order
(optional) - Sort order,asc
ordesc
page_number
(optional) - Page number to retrievepage_size
(optional) - Number of quotes per page
Create quote
POST /quotes
curl --request POST --header 'X-Quotes-API-Key: SECRET_KEY' --data 'id=28&date=2018-01-01&game=IRL&text=Cheese?' 'https://tld.example/api/quotes'
Note: the quote is replaced if it exists already
Parameters:
id
(required) - Quote IDdate
(required) - Date in ISO 8601 formatgame
(required) - Related gametext
(required) - Text of the quote
Replace specific quote
PUT /quotes/:id
curl --request PUT --header 'X-Quotes-API-Key: SECRET_KEY' --data 'date=2018-01-01&game=IRL&text=Cheese?' 'https://tld.example/api/quotes/28'
Note: the quote is created if it doesn't exist yet
Parameters:
date
(required) - Date in ISO 8601 formatgame
(required) - Related gametext
(required) - Text of the quote
Delete specific quote
DELETE /quotes/:id
curl --request DELETE --header 'X-Quotes-API-Key: SECRET_KEY' 'https://tld.example/api/quotes/28'