Aller au contenu
AdiosDocumentation
Parcourir la documentation

API des sources des espaces de travail

Gérez les dépôts montés dans un espace de travail. Utilisez les identifiants renvoyés par l’API pour les références aux dépôts.

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/workspace_sourceLister les sources de l’espace de travail
POST/v1/workspace_sourceCréer une source d'espace de travail
GET/v1/workspace_source/{id}Obtenir la source de l'espace de travail
PUT/v1/workspace_source/{id}Mettre à jour la source de l'espace de travail
DELETE/v1/workspace_source/{id}Supprimer la source de l'espace de travail

Lister les sources de l’espace de travail

GET /v1/workspace_source

Renvoie une liste paginée de WorkspaceSource

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/workspace_source" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

Liste de WorkspaceSource

Champs de réponse

ChampTypeDescription
datatableau
data[].aliaschaîne
data[].branchchaîne
data[].commitchaîne
data[].created_atentier(horodatage Unix)
data[].deleted_atentier(horodatage Unix)
data[].external_auth_refchaîneRéférence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici
data[].external_connection_idchaîne
data[].external_providerchaîneValeurs autorisées : none, github, gitlab, bitbucket, ssh, git.
data[].external_repository_urlchaîne
data[].internal_repository_idchaîneDépôt faisant autorité dans Adios Git
data[].internal_repository_urlchaîneURL de clonage sans identifiants pour le dépôt Adios Git faisant autorité
data[].last_synced_atentier(horodatage Unix)
data[].metadataobjet
data[].mountchaîne
data[].repository_pathchaîne
data[].rolechaîneValeurs autorisées : primary, include.
data[].source_keychaîneIdentité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail
data[].statuschaîneValeurs autorisées : active, archived.
data[].sync_directionchaîneValeurs autorisées : none, pull, push, bidirectional.
data[].sync_errorobjet
data[].sync_statuschaîneValeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error.
data[].team_idchaîne
data[].updated_atentier(horodatage Unix)
data[].workspace_idchaîne
data[].workspace_source_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": [
    {
      "alias": "example",
      "branch": "main",
      "commit": "",
      "created_at": 1791072000,
      "deleted_at": 0,
      "external_auth_ref": "",
      "external_connection_id": "",
      "external_provider": "none",
      "external_repository_url": "",
      "internal_repository_id": "000000000000000000000000001",
      "internal_repository_url": "example",
      "last_synced_at": 0,
      "metadata": {},
      "mount": ".",
      "repository_path": ".",
      "role": "include",
      "source_key": "",
      "status": "active",
      "sync_direction": "none",
      "sync_error": "",
      "sync_status": "internal_only",
      "team_id": "000000000000000000000000001",
      "updated_at": 1791072000,
      "workspace_id": "000000000000000000000000001",
      "workspace_source_id": "000000000000000000000000001"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 1,
    "total": 1
  }
}

Créer une source d'espace de travail

POST /v1/workspace_source

Crée un nouvel objet WorkspaceSource

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
aliaschaîneoui
branchchaîneouiValeur par défaut : "main".
commitchaînenonValeur par défaut : "".
external_auth_refchaînenonRéférence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici. Valeur par défaut : "".
external_connection_idchaînenonValeur par défaut : "".
external_providerchaîneouiValeurs autorisées : none, github, gitlab, bitbucket, ssh, git. Valeur par défaut : "none".
external_repository_urlchaînenonValeur par défaut : "".
internal_repository_idchaîneouiDépôt faisant autorité dans Adios Git
internal_repository_urlchaîneouiURL de clonage sans identifiants pour le dépôt Adios Git faisant autorité
last_synced_atentiernon(horodatage Unix) Valeur par défaut : 0.
metadataobjetnon
mountchaîneouiValeur par défaut : ".".
repository_pathchaîneouiValeur par défaut : ".".
rolechaîneouiValeurs autorisées : primary, include. Valeur par défaut : "include".
source_keychaîneouiIdentité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail. Valeur par défaut : "".
statuschaîneouiValeurs autorisées : active, archived. Valeur par défaut : "active".
sync_directionchaîneouiValeurs autorisées : none, pull, push, bidirectional. Valeur par défaut : "none".
sync_errorobjetnonValeur par défaut : "".
sync_statuschaîneouiValeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. Valeur par défaut : "internal_only".
team_idchaîneoui
workspace_idchaîneoui

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/workspace_source" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "alias": "example",
  "branch": "main",
  "commit": "",
  "external_auth_ref": "",
  "external_connection_id": "",
  "external_provider": "none",
  "external_repository_url": "",
  "internal_repository_id": "YOUR_INTERNAL_REPOSITORY_ID",
  "internal_repository_url": "YOUR_INTERNAL_REPOSITORY_URL",
  "last_synced_at": 0,
  "mount": ".",
  "repository_path": ".",
  "role": "include",
  "source_key": "",
  "status": "active",
  "sync_direction": "none",
  "sync_error": "",
  "sync_status": "internal_only",
  "team_id": "YOUR_TEAM_ID",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

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

Réponse : HTTP 201

WorkspaceSource créé

Champs de réponse

ChampTypeDescription
aliaschaîne
branchchaîne
commitchaîne
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
external_auth_refchaîneRéférence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici
external_connection_idchaîne
external_providerchaîneValeurs autorisées : none, github, gitlab, bitbucket, ssh, git.
external_repository_urlchaîne
internal_repository_idchaîneDépôt faisant autorité dans Adios Git
internal_repository_urlchaîneURL de clonage sans identifiants pour le dépôt Adios Git faisant autorité
last_synced_atentier(horodatage Unix)
metadataobjet
mountchaîne
repository_pathchaîne
rolechaîneValeurs autorisées : primary, include.
source_keychaîneIdentité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail
statuschaîneValeurs autorisées : active, archived.
sync_directionchaîneValeurs autorisées : none, pull, push, bidirectional.
sync_errorobjet
sync_statuschaîneValeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error.
team_idchaîne
updated_atentier(horodatage Unix)
workspace_idchaîne
workspace_source_idchaîne

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

{
  "alias": "example",
  "branch": "main",
  "commit": "",
  "created_at": 1791072000,
  "deleted_at": 0,
  "external_auth_ref": "",
  "external_connection_id": "",
  "external_provider": "none",
  "external_repository_url": "",
  "internal_repository_id": "000000000000000000000000001",
  "internal_repository_url": "example",
  "last_synced_at": 0,
  "metadata": {},
  "mount": ".",
  "repository_path": ".",
  "role": "include",
  "source_key": "",
  "status": "active",
  "sync_direction": "none",
  "sync_error": "",
  "sync_status": "internal_only",
  "team_id": "000000000000000000000000001",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001",
  "workspace_source_id": "000000000000000000000000001"
}

Obtenir la source de l'espace de travail

GET /v1/workspace_source/{id}

Renvoie un seul WorkspaceSource

Définissez workspace_source_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/workspace_source/${ADIOS_WORKSPACE_SOURCE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

WorkspaceSource

Champs de réponse

ChampTypeDescription
aliaschaîne
branchchaîne
commitchaîne
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
external_auth_refchaîneRéférence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici
external_connection_idchaîne
external_providerchaîneValeurs autorisées : none, github, gitlab, bitbucket, ssh, git.
external_repository_urlchaîne
internal_repository_idchaîneDépôt faisant autorité dans Adios Git
internal_repository_urlchaîneURL de clonage sans identifiants pour le dépôt Adios Git faisant autorité
last_synced_atentier(horodatage Unix)
metadataobjet
mountchaîne
repository_pathchaîne
rolechaîneValeurs autorisées : primary, include.
source_keychaîneIdentité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail
statuschaîneValeurs autorisées : active, archived.
sync_directionchaîneValeurs autorisées : none, pull, push, bidirectional.
sync_errorobjet
sync_statuschaîneValeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error.
team_idchaîne
updated_atentier(horodatage Unix)
workspace_idchaîne
workspace_source_idchaîne

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

{
  "alias": "example",
  "branch": "main",
  "commit": "",
  "created_at": 1791072000,
  "deleted_at": 0,
  "external_auth_ref": "",
  "external_connection_id": "",
  "external_provider": "none",
  "external_repository_url": "",
  "internal_repository_id": "000000000000000000000000001",
  "internal_repository_url": "example",
  "last_synced_at": 0,
  "metadata": {},
  "mount": ".",
  "repository_path": ".",
  "role": "include",
  "source_key": "",
  "status": "active",
  "sync_direction": "none",
  "sync_error": "",
  "sync_status": "internal_only",
  "team_id": "000000000000000000000000001",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001",
  "workspace_source_id": "000000000000000000000000001"
}

Mettre à jour la source de l'espace de travail

PUT /v1/workspace_source/{id}

Met à jour un objet WorkspaceSource existant

Définissez workspace_source_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
aliaschaîneoui
branchchaîneouiValeur par défaut : "main".
commitchaînenonValeur par défaut : "".
external_auth_refchaînenonRéférence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici. Valeur par défaut : "".
external_connection_idchaînenonValeur par défaut : "".
external_providerchaîneouiValeurs autorisées : none, github, gitlab, bitbucket, ssh, git. Valeur par défaut : "none".
external_repository_urlchaînenonValeur par défaut : "".
internal_repository_idchaîneouiDépôt faisant autorité dans Adios Git
internal_repository_urlchaîneouiURL de clonage sans identifiants pour le dépôt Adios Git faisant autorité
last_synced_atentiernon(horodatage Unix) Valeur par défaut : 0.
metadataobjetnon
mountchaîneouiValeur par défaut : ".".
repository_pathchaîneouiValeur par défaut : ".".
rolechaîneouiValeurs autorisées : primary, include. Valeur par défaut : "include".
source_keychaîneouiIdentité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail. Valeur par défaut : "".
statuschaîneouiValeurs autorisées : active, archived. Valeur par défaut : "active".
sync_directionchaîneouiValeurs autorisées : none, pull, push, bidirectional. Valeur par défaut : "none".
sync_errorobjetnonValeur par défaut : "".
sync_statuschaîneouiValeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error. Valeur par défaut : "internal_only".
team_idchaîneoui
workspace_idchaîneoui

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/workspace_source/${ADIOS_WORKSPACE_SOURCE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "alias": "example",
  "branch": "main",
  "commit": "",
  "external_auth_ref": "",
  "external_connection_id": "",
  "external_provider": "none",
  "external_repository_url": "",
  "internal_repository_id": "YOUR_INTERNAL_REPOSITORY_ID",
  "internal_repository_url": "YOUR_INTERNAL_REPOSITORY_URL",
  "last_synced_at": 0,
  "mount": ".",
  "repository_path": ".",
  "role": "include",
  "source_key": "",
  "status": "active",
  "sync_direction": "none",
  "sync_error": "",
  "sync_status": "internal_only",
  "team_id": "YOUR_TEAM_ID",
  "workspace_id": "YOUR_WORKSPACE_ID"
}
JSON

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

Réponse : HTTP 200

WorkspaceSource mis à jour

Champs de réponse

ChampTypeDescription
aliaschaîne
branchchaîne
commitchaîne
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
external_auth_refchaîneRéférence d’identifiant uniquement ; aucune valeur secrète n’est conservée ici
external_connection_idchaîne
external_providerchaîneValeurs autorisées : none, github, gitlab, bitbucket, ssh, git.
external_repository_urlchaîne
internal_repository_idchaîneDépôt faisant autorité dans Adios Git
internal_repository_urlchaîneURL de clonage sans identifiants pour le dépôt Adios Git faisant autorité
last_synced_atentier(horodatage Unix)
metadataobjet
mountchaîne
repository_pathchaîne
rolechaîneValeurs autorisées : primary, include.
source_keychaîneIdentité logique sans identifiants permettant de réutiliser un même dépôt interne entre plusieurs espaces de travail
statuschaîneValeurs autorisées : active, archived.
sync_directionchaîneValeurs autorisées : none, pull, push, bidirectional.
sync_errorobjet
sync_statuschaîneValeurs autorisées : internal_only, pending, synced, ahead, behind, diverged, error.
team_idchaîne
updated_atentier(horodatage Unix)
workspace_idchaîne
workspace_source_idchaîne

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

{
  "alias": "example",
  "branch": "main",
  "commit": "",
  "created_at": 1791072000,
  "deleted_at": 0,
  "external_auth_ref": "",
  "external_connection_id": "",
  "external_provider": "none",
  "external_repository_url": "",
  "internal_repository_id": "000000000000000000000000001",
  "internal_repository_url": "example",
  "last_synced_at": 0,
  "metadata": {},
  "mount": ".",
  "repository_path": ".",
  "role": "include",
  "source_key": "",
  "status": "active",
  "sync_direction": "none",
  "sync_error": "",
  "sync_status": "internal_only",
  "team_id": "000000000000000000000000001",
  "updated_at": 1791072000,
  "workspace_id": "000000000000000000000000001",
  "workspace_source_id": "000000000000000000000000001"
}

Supprimer la source de l'espace de travail

DELETE /v1/workspace_source/{id}

Supprime un objet WorkspaceSource

Définissez workspace_source_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/workspace_source/${ADIOS_WORKSPACE_SOURCE_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"
}