Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Current »

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.

Portrait will throw an 400 Bad Request error in case you try to create an entry with the same ID twice. You either have to delete the old one or call an update request.

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

curl -X 'DELETE' \
  'http://localhost:8080/api/sources/em2008/GERESP' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourToken' \

Remove all entries from an API source

PATCH /api/sources/:sourceName

curl -X 'PATCH' \
  'http://localhost:8080/api/sources/em2008' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourToken' \

Watch out! There will be no there will be no confirmation request. All data from that source will be gone and can’t be reindex!

  • No labels