Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This page is intended for software developers who would like to access our API in order to build their own applications based on data gathered and combined by BarentswatchBarentsWatch

Prerequisites, licencing and crediting

This link contains information about the data Barentswatch BarentsWatch gathers and provides access to via our APIs: https://www.barentswatch.no/om/apnedata/ (Norwegian) 

Information about requirements for using the Barentswatch BarentsWatch API can be found here: www.barentswatch.no/om/api-vilkar (Norwegian).

If you have any questions or problems connecting (after reading the rest of this page), contact us at post@barentswatch.no 

How to connect to the

...

BarentsWatch API.

The BarentsWatch API supports Open ID Connect flows (client credentials, authorization code, and device code). You will need to register a client with us in order to access the APIs. The OpenID discovery document is here: https://id.barentswatch.no/.well-known/openid-configuration

Registering a Client

In order to access the Barentswatch BarentsWatch API you need an Api Client. You can register your own API Client connected to your user. To to so you must first create a user and log in at https://www.barentswatch.no/minside/. Here you can self register clients for use with your application.

When registering a client you need to choose between API-client and AIS-client, depending on the API you want to access. This also affects the 'scope' you must use when obtaining an access token.

Self registered clients only supports Open ID Connect's client_credentials flow. If you need to use something other than credentials flow, you will have to contact BarentsWatch (post@barentswatch.no) to set up other types of clients.

...

  • Use HTTPS POST
  • URL must be id.barentswatch.no/connect/token
  • Header 'content-type' must be 'application/x-www-form-urlencoded'
  • Body must have four key-value pairs, separated by ampersand (&):
    • Key 'grant_type' must have value 'client_credentials'
    • Key 'client_id' must have your full client ID as value, which is often written like this: myusername@example.com:myclient. If your client does not url-encode automatically, you must url-encode it like this: myusername%40example.com%3Amyclient
    • Key 'client_secret' must have a client secret you have created, as value.
    • Key 'scope' must have value 'api' or 'ais' depending on the type of API you want access

Note that the client_id, client_secret, scope (and grant_type) need to be sent in the body – not as headers!

...

  • Go to https://www.barentswatch.no/bwapi/openapi/index.html
  • Click 'Authorize'
  • Below the headline "oauth2 (OAuth2, clientCredentials)":
    • Replace client_id with your own client_id. It has to be URL-encoded like this: myusername%40example.com%3Amyclient. You can copy your URL-encoded client_id from by expanding My clients/Mine klienter in MyPage/Minside.
    • Enter your client_secret
    • Select 'api' scope (tick the box)
  • Click 'Authorize', and then 'Close'

...