|
Table of contents:
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 Barentswatch.
This link contains information about the data Barentswatch gathers and provides access to via our APIs: https://www.barentswatch.no/om/apnedata/ (Norwegian)
Information about requirements for using the 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
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
In order to access the 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.
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.
Once you have a client (either from self-registration on MyPage/Minside, or obtained from BarentsWatch) you can use the clients ClientID and ClientSecret to obtain an Access Token. The Access Token is used for granting access to endpoints providing data.
An application can obtain a token for use with the BarentsWatch API by posting a token request via HTTPS to https://id.barentswatch.no/connect/token:
Note that the client_id, client_secret, scope (and grant_type) need to be sent in the body – not as headers!
Example request, using curl:
curl -X POST --header "Content-Type: application/x-www-form-urlencoded" -d "client_id=YOUR_CLIENT_ID&scope=api&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials" https://id.barentswatch.no/connect/token |
Example success response:
{ "access_token":"MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3", "token_type":"bearer", "expires_in":3600 } |
More information: https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/
Example request/response, using postman:
This is an example request to the BarentsWatch API to get available forecast times for a particular fairway.
GET /bwapi/v1/geodata/waveforecast/available/?modelname=folda&fairwayid=1 HTTP/1.1 Host: www.barentswatch.no User-Agent: My Application Name Content-Type: application/x-www-form-urlencoded Authorization: bearer MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3 |
The same request using curl:
curl -X GET "https://www.barentswatch.no/bwapi/v1/geodata/waveforecast/available?modelname=folda&fairwayid=1" --header "accept: text/plain" --header "Authorization: Bearer MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3" |
These external websites might be useful for developers:
You can log in to the OpenAPI-documentation with your own client.
You are now logged in.
You can select the API documentation in the dropdown-menu in the upper-right corner.
Important information about API accessTo use the BarentsWatch API application developers must first register their applications with BarentsWatch. Please see: https://www.barentswatch.no/om/apnedata/ |