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
- You get a developer role on your account (Roles).
- On your account page you create a personal API token (
ibp_…). It stays on your server. - Your server exchanges the personal token for an access token valid for 1 hour.
- 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
429with"error": "too_many_tokens"and aRetry-Afterheader. - 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_tokento 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ış
- Hesabınıza bir geliştirici rolü verilir (Roles).
- Hesap sayfanızda bir kişisel API anahtarı (
ibp_…) oluşturursunuz. Bu anahtar sunucunuzda kalır. - Sunucunuz kişisel anahtarı 1 saat geçerli bir erişim anahtarıyla değiştirir.
- 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.tradresindeki 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"veRetry-Afterbaş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.