Authorization

Base endpoint: https://auth.ibosoft.net.tr/api/gateway/token
Last updated: 18 OCT 2026

English · Türkçe

English

Every request to the ibonav.aero data services (PIB API, Charts API, Jeppesen API, Tile Server, Geo Server, ATC, Data Link) carries an access token. The token tells the service who is asking and which roles apply.

Overview

  1. You get a developer role on your account (Roles).
  2. On your account page you create a personal API token (ibp_…). It stays on your server.
  3. Your server exchanges the personal token for an access token valid for 1 hour.
  4. Every request to a data service carries the access token.

Server-to-server use: a program that runs only on your server can skip step 3 and send the personal token itself with every request. See Using the personal token directly.

1. Personal API token

  • On your account at https://auth.ibosoft.net.tr, open the ibonav.aero - API & Data Access card and create a personal API token. The card shows the token section once you hold at least one developer role.
  • The token is shown once. Store it on your server in a secret store or environment variable.
  • An account has one personal token. Creating a new one, or deleting it, makes the old token and every access token obtained with it invalid at once.
  • Never put the personal token in a browser page, a mobile app package or a public repository. If it leaks, create a new one.

2. Access token

Your server asks for an access token with the personal token:

curl -X POST https://auth.ibosoft.net.tr/api/gateway/token \
     -H "Authorization: Bearer ibp_..."
{ "success": true, "token": "eyJ...", "expires_in": 3600, "roles": [] }
Field Description
token The access token
expires_in Lifetime in seconds (1 hour)
roles Always empty for developer tokens (used only by the ibonav.aero website for its members)
  • Reuse the access token until shortly before it expires; renew it about 5 minutes before the end. New access tokens are limited per hour; above the limit the answer is 429 with "error": "too_many_tokens" and a Retry-After header.
  • Errors come as { "success": false, "error": "...", "message": "..." }; invalid_token (401) means the personal token is wrong or was replaced.
  • A browser page (an embedded map, your own web app) gets the access token from your server endpoint, never the personal token. See Frame Embedding and SDK Embedding.

Using the personal token directly

A program that runs only on your server (a script, a backend service, a scheduled job) does not need access tokens: it can send the personal token itself wherever an access token goes (Sending the token).

curl "https://ais-pib-api.ibosoft.net.tr:2087/opmet-metar-speci/LTAI?hours=3&access_token=ibp_..."
  • No exchange, no renewal: the personal token works until you replace or delete it.
  • The same roles and the same developer rate limits apply as with an access token.
  • Never use it this way in anything that runs in a browser or on a user's device; there, use access tokens from your server.

3. Sending the token

Service How
AIS PIB API, AIS Charts API, AIS Jeppesen API, Tile Server, Geo Server, Broadcasts, Surveillance, Data Link API ?access_token= query parameter
Data Link Backend /stream, /health ?token= query parameter (an EventSource cannot send headers)
Data Link Backend /decode Authorization: Bearer header
curl "https://ais-pib-api.ibosoft.net.tr:2087/opmet-metar-speci/LTAI?hours=3&access_token=eyJ..."
<audio controls preload="none"
       src="https://atc1.ibosoft.net.tr:2096/ANTALYA-125-500?access_token=eyJ..."></audio>
  • Keep the other query parameters as they are; add access_token to them. For tile and WMS/WFS clients, add it to the base URL of the layer.
  • Tokens in URLs can end up in logs. Do not share links that contain a token.

Answers

Status Meaning What to do
401 No token, or the token is invalid or expired Get a new access token and repeat the request
403 The token is valid, but your account has no role for this data, or the path is not open Check your roles
429 Rate limit reached Wait the seconds in Retry-After (Rate Limits)

A change of your roles, or a replaced personal token, can take up to about 10 minutes to apply to tokens already in use.

Türkçe

ibonav.aero veri hizmetlerine (PIB API, Charts API, Jeppesen API, Tile Server, Geo Server, ATC, Data Link) giden her istek bir erişim anahtarı (access token) taşır. Token, hizmete kimin sorduğunu ve hangi rollerin geçerli olduğunu söyler.

Genel akış

  1. Hesabınıza bir geliştirici rolü verilir (Roles).
  2. Hesap sayfanızda bir kişisel API anahtarı (ibp_…) oluşturursunuz. Bu anahtar sunucunuzda kalır.
  3. Sunucunuz kişisel anahtarı 1 saat geçerli bir erişim anahtarıyla değiştirir.
  4. Veri hizmetlerine giden her istek erişim anahtarını taşır.

Sunucudan sunucuya kullanım: yalnızca sunucunuzda çalışan bir program 3. adımı atlayıp her istekte kişisel anahtarın kendisini gönderebilir. Bkz. Kişisel anahtarın doğrudan kullanımı.

1. Kişisel API anahtarı

  • https://auth.ibosoft.net.tr adresindeki hesabınızda ibonav.aero - API & Data Access kartını açın ve kişisel API anahtarı oluşturun. Anahtar bölümü, en az bir geliştirici rolünüz olduğunda görünür.
  • Anahtar yalnızca bir kez gösterilir. Sunucunuzda gizli bir depoda veya ortam değişkeninde saklayın.
  • Bir hesabın tek kişisel anahtarı olur. Yenisini oluşturmak veya silmek, eski anahtarı ve onunla alınmış tüm erişim anahtarlarını hemen geçersiz kılar.
  • Kişisel anahtarı tarayıcı sayfasına, mobil uygulama paketine veya herkese açık bir repoya koymayın. Sızarsa yenisini oluşturun.

2. Erişim anahtarı

Sunucunuz kişisel anahtarla erişim anahtarı ister:

curl -X POST https://auth.ibosoft.net.tr/api/gateway/token \
     -H "Authorization: Bearer ibp_..."
{ "success": true, "token": "eyJ...", "expires_in": 3600, "roles": [] }
Alan Açıklama
token Erişim anahtarı
expires_in Saniye cinsinden geçerlilik süresi (1 saat)
roles Geliştirici token'larında her zaman boş (yalnızca ibonav.aero web sitesi üyeleri için kullanılır)
  • Erişim anahtarını süresi dolmadan kısa bir süre öncesine kadar yeniden kullanın; bitişine yaklaşık 5 dakika kala yenileyin. Yeni erişim anahtarı alma saatlik olarak sınırlıdır; sınır aşılınca yanıt 429, "error": "too_many_tokens" ve Retry-After başlığıdır.
  • Hatalar { "success": false, "error": "...", "message": "..." } biçimindedir; invalid_token (401) kişisel anahtarın yanlış olduğu veya yenisiyle değiştirildiği anlamına gelir.
  • Tarayıcı sayfası (yerleştirilmiş harita, kendi web uygulamanız) erişim anahtarını sizin sunucunuzdaki bir adresten alır, kişisel anahtarı asla almaz. Bkz. Frame Embedding ve SDK Embedding.

Kişisel anahtarın doğrudan kullanımı

Yalnızca sunucunuzda çalışan bir program (betik, arka uç hizmeti, zamanlanmış görev) erişim anahtarına ihtiyaç duymaz: erişim anahtarının gönderildiği her yerde kişisel anahtarın kendisini gönderebilir (Token'ın gönderilmesi).

curl "https://ais-pib-api.ibosoft.net.tr:2087/opmet-metar-speci/LTAI?hours=3&access_token=ibp_..."
  • Değiştirme ve yenileme gerekmez: kişisel anahtar, siz yenisini oluşturana veya silene kadar çalışır.
  • Erişim anahtarıyla aynı roller ve aynı geliştirici hız sınırları geçerlidir.
  • Tarayıcıda veya kullanıcının cihazında çalışan hiçbir şeyde bu şekilde kullanmayın; oralarda sunucunuzdan alınan erişim anahtarlarını kullanın.

3. Token'ın gönderilmesi

Hizmet Nasıl
AIS PIB API, AIS Charts API, AIS Jeppesen API, Tile Server, Geo Server, Broadcasts, Surveillance, Data Link API ?access_token= sorgu parametresi
Data Link Backend /stream, /health ?token= sorgu parametresi (EventSource başlık gönderemez)
Data Link Backend /decode Authorization: Bearer başlığı
curl "https://ais-pib-api.ibosoft.net.tr:2087/opmet-metar-speci/LTAI?hours=3&access_token=eyJ..."
<audio controls preload="none"
       src="https://atc1.ibosoft.net.tr:2096/ANTALYA-125-500?access_token=eyJ..."></audio>
  • Diğer sorgu parametrelerini olduğu gibi bırakın, access_token'ı yanlarına ekleyin. Tile ve WMS/WFS istemcilerinde katmanın temel adresine ekleyin.
  • Adresteki token'lar kayıtlara (log) geçebilir. Token içeren bağlantıları paylaşmayın.

Yanıtlar

Durum Anlamı Ne yapılmalı
401 Token yok ya da geçersiz veya süresi dolmuş Yeni erişim anahtarı alıp isteği tekrarlayın
403 Token geçerli, ancak hesabınızda bu veri için rol yok veya yol erişime kapalı Rollerinizi kontrol edin
429 Hız sınırına ulaşıldı Retry-After başlığındaki süre kadar bekleyin (Rate Limits)

Rollerinizdeki bir değişikliğin veya değiştirilen kişisel anahtarın kullanımdaki token'lara yansıması yaklaşık 10 dakikaya kadar sürebilir.