Aller au contenu
AdiosDocumentation
Parcourir la documentation

API des routes de passerelle

Acheminez un nom d’hôte vérifié vers un workload, un workflow, une URL ou un bucket d’objets. Définissez l’identifiant correspondant à target_kind.

Utiliser Authentification API pour les requêtes protégées. Les exemples utilisent vos propres ID de ressources et un jeton temporaire ; les exemples de réponses enregistrés sont synthétiques.

MéthodeCheminOpération
GET/v1/gateway_routeLister les routes de passerelle
POST/v1/gateway_routeCréer une route de passerelle
GET/v1/gateway_route/{id}Obtenir la route de passerelle
PUT/v1/gateway_route/{id}Mettre à jour la route de passerelle
DELETE/v1/gateway_route/{id}Supprimer la route de passerelle

Lister les routes de passerelle

GET /v1/gateway_route

Renvoie une liste paginée de GatewayRoute

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.
pagerequêtenonNuméro de page
per_pagerequêtenonÉléments par page

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/gateway_route" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

Liste de GatewayRoute

Champs de réponse

ChampTypeDescription
datatableau
data[].auth_policyobjetPolitique d’authentification des utilisateurs de la passerelle. Elle concerne l’authentification de l’application, pas celle de l’API ou de l’administration.
data[].created_atentier(horodatage Unix)
data[].deleted_atentier(horodatage Unix)
data[].enabledbooléen
data[].exposurechaîneValeurs autorisées : public, auth, private.
data[].geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays
data[].hostnamechaîne
data[].object_bucket_idchaîne
data[].path_prefixchaîne
data[].priorityentier
data[].rewrite_tochaîneChemin de réécriture facultatif appliqué avant le proxy (par exemple /v1)
data[].route_idchaîne
data[].security_policyobjetSurcharge facultative des paramètres de sécurité HTTP au niveau de la route
data[].strip_prefixbooléen
data[].target_kindchaîneValeurs autorisées : workload, workflow, url, object_storage.
data[].target_urlchaîneURL absolue utilisée lorsque target_kind=url
data[].team_idchaîne
data[].traffic_policyobjetPolitique régionale de trafic facultative au niveau de la route, pour sélectionner la cible de passerelle
data[].trigger_namechaîne
data[].updated_atentier(horodatage Unix)
data[].workflow_idchaîne
data[].workload_idchaîne
paginationobjet
pagination.pageentierNuméro de page actuel
pagination.per_pageentierNombre d’éléments par page
pagination.totalentierNombre total d’éléments

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "data": [
    {
      "auth_policy": {},
      "created_at": 1791072000,
      "deleted_at": 0,
      "enabled": true,
      "exposure": "public",
      "geo_policy": {},
      "hostname": "app.example.com",
      "object_bucket_id": "000000000000000000000000001",
      "path_prefix": "/",
      "priority": 0,
      "rewrite_to": "example",
      "route_id": "000000000000000000000000001",
      "security_policy": {},
      "strip_prefix": false,
      "target_kind": "workload",
      "target_url": "example",
      "team_id": "000000000000000000000000001",
      "traffic_policy": {},
      "trigger_name": "example",
      "updated_at": 1791072000,
      "workflow_id": "example",
      "workload_id": "000000000000000000000000001"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 1,
    "total": 1
  }
}

Créer une route de passerelle

POST /v1/gateway_route

Crée un nouvel objet GatewayRoute

Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.

Champs de la requête (le corps contient un exemple modifiable) :

ChampTypeRequisDescription
auth_policyobjetnonPolitique d’authentification des utilisateurs de la passerelle. Elle concerne l’authentification de l’application, pas celle de l’API ou de l’administration.
enabledbooléenouiValeur par défaut : true.
exposurechaîneouiValeurs autorisées : public, auth, private. Valeur par défaut : "public".
geo_policyobjetnonPolitique facultative d’autorisation ou de blocage par pays
hostnamechaîneoui
object_bucket_idchaînenon
path_prefixchaîneouiValeur par défaut : "/".
priorityentierouiValeur par défaut : 0.
rewrite_tochaînenonChemin de réécriture facultatif appliqué avant le proxy (par exemple /v1)
security_policyobjetnonSurcharge facultative des paramètres de sécurité HTTP au niveau de la route
strip_prefixbooléenouiValeur par défaut : false.
target_kindchaîneouiValeurs autorisées : workload, workflow, url, object_storage. Valeur par défaut : "workload".
target_urlchaînenonURL absolue utilisée lorsque target_kind=url
team_idchaîneoui
traffic_policyobjetnonPolitique régionale de trafic facultative au niveau de la route, pour sélectionner la cible de passerelle
trigger_namechaînenon
workflow_idchaînenon
workload_idchaînenon

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request POST "$ADIOS_API_URL/v1/gateway_route" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "team_id": "YOUR_TEAM_ID",
  "hostname": "YOUR_HOSTNAME",
  "path_prefix": "/",
  "target_kind": "workload",
  "workload_id": "YOUR_WORKLOAD_ID",
  "exposure": "public",
  "priority": 0,
  "strip_prefix": false,
  "enabled": true
}
JSON

Remplacez YOUR_* du corps avant l’envoi. Le heredoc entre guillemets préserve le JSON littéral.

Réponse : HTTP 201

GatewayRoute créé

Champs de réponse

ChampTypeDescription
auth_policyobjetPolitique d’authentification des utilisateurs de la passerelle. Elle concerne l’authentification de l’application, pas celle de l’API ou de l’administration.
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
enabledbooléen
exposurechaîneValeurs autorisées : public, auth, private.
geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays
hostnamechaîne
object_bucket_idchaîne
path_prefixchaîne
priorityentier
rewrite_tochaîneChemin de réécriture facultatif appliqué avant le proxy (par exemple /v1)
route_idchaîne
security_policyobjetSurcharge facultative des paramètres de sécurité HTTP au niveau de la route
strip_prefixbooléen
target_kindchaîneValeurs autorisées : workload, workflow, url, object_storage.
target_urlchaîneURL absolue utilisée lorsque target_kind=url
team_idchaîne
traffic_policyobjetPolitique régionale de trafic facultative au niveau de la route, pour sélectionner la cible de passerelle
trigger_namechaîne
updated_atentier(horodatage Unix)
workflow_idchaîne
workload_idchaîne

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "auth_policy": {},
  "created_at": 1791072000,
  "deleted_at": 0,
  "enabled": true,
  "exposure": "public",
  "geo_policy": {},
  "hostname": "app.example.com",
  "object_bucket_id": "000000000000000000000000001",
  "path_prefix": "/",
  "priority": 0,
  "rewrite_to": "example",
  "route_id": "000000000000000000000000001",
  "security_policy": {},
  "strip_prefix": false,
  "target_kind": "workload",
  "target_url": "example",
  "team_id": "000000000000000000000000001",
  "traffic_policy": {},
  "trigger_name": "example",
  "updated_at": 1791072000,
  "workflow_id": "example",
  "workload_id": "000000000000000000000000001"
}

Obtenir la route de passerelle

GET /v1/gateway_route/{id}

Renvoie un seul GatewayRoute

Définissez gateway_route_id en utilisant les ID de vos propres réponses API.

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
idcheminouiIdentifiant de ressource issu des résultats API de votre équipe.
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/gateway_route/${ADIOS_GATEWAY_ROUTE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

GatewayRoute

Champs de réponse

ChampTypeDescription
auth_policyobjetPolitique d’authentification des utilisateurs de la passerelle. Elle concerne l’authentification de l’application, pas celle de l’API ou de l’administration.
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
enabledbooléen
exposurechaîneValeurs autorisées : public, auth, private.
geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays
hostnamechaîne
object_bucket_idchaîne
path_prefixchaîne
priorityentier
rewrite_tochaîneChemin de réécriture facultatif appliqué avant le proxy (par exemple /v1)
route_idchaîne
security_policyobjetSurcharge facultative des paramètres de sécurité HTTP au niveau de la route
strip_prefixbooléen
target_kindchaîneValeurs autorisées : workload, workflow, url, object_storage.
target_urlchaîneURL absolue utilisée lorsque target_kind=url
team_idchaîne
traffic_policyobjetPolitique régionale de trafic facultative au niveau de la route, pour sélectionner la cible de passerelle
trigger_namechaîne
updated_atentier(horodatage Unix)
workflow_idchaîne
workload_idchaîne

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "auth_policy": {},
  "created_at": 1791072000,
  "deleted_at": 0,
  "enabled": true,
  "exposure": "public",
  "geo_policy": {},
  "hostname": "app.example.com",
  "object_bucket_id": "000000000000000000000000001",
  "path_prefix": "/",
  "priority": 0,
  "rewrite_to": "example",
  "route_id": "000000000000000000000000001",
  "security_policy": {},
  "strip_prefix": false,
  "target_kind": "workload",
  "target_url": "example",
  "team_id": "000000000000000000000000001",
  "traffic_policy": {},
  "trigger_name": "example",
  "updated_at": 1791072000,
  "workflow_id": "example",
  "workload_id": "000000000000000000000000001"
}

Mettre à jour la route de passerelle

PUT /v1/gateway_route/{id}

Met à jour un objet GatewayRoute existant

Définissez gateway_route_id en utilisant les ID de vos propres réponses API.

Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.

Champs de la requête (le corps contient un exemple modifiable) :

ChampTypeRequisDescription
auth_policyobjetnonPolitique d’authentification des utilisateurs de la passerelle. Elle concerne l’authentification de l’application, pas celle de l’API ou de l’administration.
enabledbooléenouiValeur par défaut : true.
exposurechaîneouiValeurs autorisées : public, auth, private. Valeur par défaut : "public".
geo_policyobjetnonPolitique facultative d’autorisation ou de blocage par pays
hostnamechaîneoui
object_bucket_idchaînenon
path_prefixchaîneouiValeur par défaut : "/".
priorityentierouiValeur par défaut : 0.
rewrite_tochaînenonChemin de réécriture facultatif appliqué avant le proxy (par exemple /v1)
security_policyobjetnonSurcharge facultative des paramètres de sécurité HTTP au niveau de la route
strip_prefixbooléenouiValeur par défaut : false.
target_kindchaîneouiValeurs autorisées : workload, workflow, url, object_storage. Valeur par défaut : "workload".
target_urlchaînenonURL absolue utilisée lorsque target_kind=url
team_idchaîneoui
traffic_policyobjetnonPolitique régionale de trafic facultative au niveau de la route, pour sélectionner la cible de passerelle
trigger_namechaînenon
workflow_idchaînenon
workload_idchaînenon

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
idcheminouiIdentifiant de ressource issu des résultats API de votre équipe.
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/gateway_route/${ADIOS_GATEWAY_ROUTE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "team_id": "YOUR_TEAM_ID",
  "hostname": "YOUR_HOSTNAME",
  "path_prefix": "/",
  "target_kind": "workload",
  "workload_id": "YOUR_WORKLOAD_ID",
  "exposure": "public",
  "priority": 0,
  "strip_prefix": false,
  "enabled": true
}
JSON

Remplacez YOUR_* du corps avant l’envoi. Le heredoc entre guillemets préserve le JSON littéral.

Réponse : HTTP 200

GatewayRoute mis à jour

Champs de réponse

ChampTypeDescription
auth_policyobjetPolitique d’authentification des utilisateurs de la passerelle. Elle concerne l’authentification de l’application, pas celle de l’API ou de l’administration.
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
enabledbooléen
exposurechaîneValeurs autorisées : public, auth, private.
geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays
hostnamechaîne
object_bucket_idchaîne
path_prefixchaîne
priorityentier
rewrite_tochaîneChemin de réécriture facultatif appliqué avant le proxy (par exemple /v1)
route_idchaîne
security_policyobjetSurcharge facultative des paramètres de sécurité HTTP au niveau de la route
strip_prefixbooléen
target_kindchaîneValeurs autorisées : workload, workflow, url, object_storage.
target_urlchaîneURL absolue utilisée lorsque target_kind=url
team_idchaîne
traffic_policyobjetPolitique régionale de trafic facultative au niveau de la route, pour sélectionner la cible de passerelle
trigger_namechaîne
updated_atentier(horodatage Unix)
workflow_idchaîne
workload_idchaîne

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "auth_policy": {},
  "created_at": 1791072000,
  "deleted_at": 0,
  "enabled": true,
  "exposure": "public",
  "geo_policy": {},
  "hostname": "app.example.com",
  "object_bucket_id": "000000000000000000000000001",
  "path_prefix": "/",
  "priority": 0,
  "rewrite_to": "example",
  "route_id": "000000000000000000000000001",
  "security_policy": {},
  "strip_prefix": false,
  "target_kind": "workload",
  "target_url": "example",
  "team_id": "000000000000000000000000001",
  "traffic_policy": {},
  "trigger_name": "example",
  "updated_at": 1791072000,
  "workflow_id": "example",
  "workload_id": "000000000000000000000000001"
}

Supprimer la route de passerelle

DELETE /v1/gateway_route/{id}

Supprime un objet GatewayRoute

Définissez gateway_route_id en utilisant les ID de vos propres réponses API.

Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
idcheminouiIdentifiant de ressource issu des résultats API de votre équipe.
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/gateway_route/${ADIOS_GATEWAY_ROUTE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

Ressource supprimée.

Champs de réponse

ChampTypeDescription
messagechaîne

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "message": "Deleted successfully"
}