Create and Update API Source Entries
Portrait allows you to configure a source with sourceType: 'api'
. These sources can be manually managed through the API.
Create the source in the config
First, you need to create a source in the Configuration. Details API sources
The source name must be in lowercase (wrong: EM2008, correct; em2008)
Example:
- id: em2008
sourceType: 'api'
excludeKeysFromSuggestions: [ ]
Manage Entries
The most up-to-date API Specification can always be found on your own instance, either via the openAPI specification or the UI! See API Documentation
Create a new entry
To create an entry, use the following request:
POST /api/sources/:sourceName
curl -X 'POST' \
'http://localhost:8080/api/sources/em2008' \
-H 'accept: application/json' \
-H 'Authorization: Bearer yourToken' \
-H 'Content-Type: application/json' \
-d '{
"id": "GERESP",
"name": "EM 2008 - Final",
"data": {
"key": "GERESP",
"Opponents": "Germany - Spain",
"KickOff": "2008-06-29T20:45:00",
"Result": "0:1",
"Venue": "Ernst-Happel-Stadion, Vienna",
"Weather": "Sunny, 27 °C (81 °F), 4% humidity",
"Referee": "Roberto Rosetti (ITA)",
"Latitude": "48.207208",
"Longitude" : "16.420985"
}
}'
The id attribute has to be unique.
Update an existing entry
PUT /api/sources/:sourceName
curl -X 'PUT' \
'http://localhost:8080/api/sources/em2008' \
-H 'accept: application/json' \
-H 'Authorization: Bearer yourToken' \
-H 'Content-Type: application/json' \
-d '{
"id": "GERESP",
"name": "EM 2008 - Final",
"data": {
"key": "GERESP",
"Opponents": "Germany - Spain",
"KickOff": "2008-06-29T20:45:00",
"Result": "0:1",
"Venue": "Ernst-Happel-Stadion, Vienna",
"Weather": "Sunny, 27 °C (81 °F), 4% humidity",
"Referee": "Roberto Rosetti (ITA)",
"Latitude": "48.207208",
"Longitude" : "16.420985"
}
}'
Remove an existing entry
DELETE /api/sources/:sourceName/:entryID
Remove all entries from an API source
PATCH /api/sources/:sourceName