API de fuentes de los espacios de trabajo
Gestiona los repositorios montados en un espacio de trabajo. Usa los identificadores devueltos por la API para las referencias a repositorios.
Usa Autenticación de la API para las solicitudes protegidas. Los ejemplos usan tus propios IDs de recursos y un token temporal; las respuestas de ejemplo guardadas son sintéticas.
| Método | Ruta | Operación |
|---|---|---|
GET | /v1/workspace_source | Listar fuentes del espacio de trabajo |
POST | /v1/workspace_source | Crear fuente de espacio de trabajo |
GET | /v1/workspace_source/{id} | Obtener fuente del espacio de trabajo |
PUT | /v1/workspace_source/{id} | Actualizar fuente del espacio de trabajo |
DELETE | /v1/workspace_source/{id} | Eliminar la fuente del espacio de trabajo |
Listar fuentes del espacio de trabajo
GET /v1/workspace_source
Devuelve una lista paginada de WorkspaceSource
Autenticación: token bearer y la cabecera de equipo que se muestra a continuación.
Parámetros
| Nombre | Ubicación | Obligatorio | Descripción |
|---|---|---|---|
X-Tenant-ID | cabecera | sí | ID del equipo activo. Debe coincidir con el tenant vinculado al token de diagnóstico. |
page | consulta | no | Número de página |
per_page | consulta | no | Elementos por página |
Ejemplo de solicitud
Configura ADIOS_API_URL=https://api.adios.dev. Para las solicitudes protegidas, configura ADIOS_ACCESS_TOKEN y ADIOS_TEAM_ID como en el inicio rápido. Configura las variables adicionales ADIOS_* a partir de los resultados de tus propios recursos.
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"
Respuesta: HTTP 200
Lista de WorkspaceSource
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
data | array | |
data[].alias | string | |
data[].branch | string | |
data[].commit | string | |
data[].created_at | integer | (marca de tiempo Unix) |
data[].deleted_at | integer | (marca de tiempo Unix) |
data[].external_auth_ref | string | Solo referencia a credenciales; los valores secretos nunca se guardan aquí |
data[].external_connection_id | string | |
data[].external_provider | string | Valores permitidos: none, github, gitlab, bitbucket, ssh, git. |
data[].external_repository_url | string | |
data[].internal_repository_id | string | Repositorio de referencia en Adios Git |
data[].internal_repository_url | string | URL de clonación sin credenciales para el repositorio de referencia de Adios Git |
data[].last_synced_at | integer | (marca de tiempo Unix) |
data[].metadata | object | |
data[].mount | string | |
data[].repository_path | string | |
data[].role | string | Valores permitidos: primary, include. |
data[].source_key | string | Identidad lógica sin credenciales usada para reutilizar un repositorio interno entre espacios de trabajo |
data[].status | string | Valores permitidos: active, archived. |
data[].sync_direction | string | Valores permitidos: none, pull, push, bidirectional. |
data[].sync_error | object | |
data[].sync_status | string | Valores permitidos: internal_only, pending, synced, ahead, behind, diverged, error. |
data[].team_id | string | |
data[].updated_at | integer | (marca de tiempo Unix) |
data[].workspace_id | string | |
data[].workspace_source_id | string | |
pagination | object | |
pagination.page | integer | Número de página actual |
pagination.per_page | integer | Número de elementos por página |
pagination.total | integer | Número total de elementos |
Ejemplo ilustrativo; no es una respuesta real:
{
"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
}
}
Crear fuente de espacio de trabajo
POST /v1/workspace_source
Crea un nuevo WorkspaceSource
Esta solicitud modifica datos o inicia una acción. Revisa el destino y el cuerpo antes de enviarla.
Campos de la solicitud (el cuerpo contiene un ejemplo editable):
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
alias | string | sí | |
branch | string | sí | Valor predeterminado: "main". |
commit | string | no | Valor predeterminado: "". |
external_auth_ref | string | no | Solo referencia a credenciales; los valores secretos nunca se guardan aquí. Valor predeterminado: "". |
external_connection_id | string | no | Valor predeterminado: "". |
external_provider | string | sí | Valores permitidos: none, github, gitlab, bitbucket, ssh, git. Valor predeterminado: "none". |
external_repository_url | string | no | Valor predeterminado: "". |
internal_repository_id | string | sí | Repositorio de referencia en Adios Git |
internal_repository_url | string | sí | URL de clonación sin credenciales para el repositorio de referencia de Adios Git |
last_synced_at | integer | no | (marca de tiempo Unix) Valor predeterminado: 0. |
metadata | object | no | |
mount | string | sí | Valor predeterminado: ".". |
repository_path | string | sí | Valor predeterminado: ".". |
role | string | sí | Valores permitidos: primary, include. Valor predeterminado: "include". |
source_key | string | sí | Identidad lógica sin credenciales usada para reutilizar un repositorio interno entre espacios de trabajo. Valor predeterminado: "". |
status | string | sí | Valores permitidos: active, archived. Valor predeterminado: "active". |
sync_direction | string | sí | Valores permitidos: none, pull, push, bidirectional. Valor predeterminado: "none". |
sync_error | object | no | Valor predeterminado: "". |
sync_status | string | sí | Valores permitidos: internal_only, pending, synced, ahead, behind, diverged, error. Valor predeterminado: "internal_only". |
team_id | string | sí | |
workspace_id | string | sí |
Autenticación: token bearer y la cabecera de equipo que se muestra a continuación.
Parámetros
| Nombre | Ubicación | Obligatorio | Descripción |
|---|---|---|---|
X-Tenant-ID | cabecera | sí | ID del equipo activo. Debe coincidir con el tenant vinculado al token de diagnóstico. |
Ejemplo de solicitud
Configura ADIOS_API_URL=https://api.adios.dev. Para las solicitudes protegidas, configura ADIOS_ACCESS_TOKEN y ADIOS_TEAM_ID como en el inicio rápido. Configura las variables adicionales ADIOS_* a partir de los resultados de tus propios recursos.
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
Reemplaza los marcadores YOUR_* del cuerpo antes de enviar la solicitud. El heredoc entrecomillado conserva el JSON literal.
Respuesta: HTTP 201
WorkspaceSource creado
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
alias | string | |
branch | string | |
commit | string | |
created_at | integer | (marca de tiempo Unix) |
deleted_at | integer | (marca de tiempo Unix) |
external_auth_ref | string | Solo referencia a credenciales; los valores secretos nunca se guardan aquí |
external_connection_id | string | |
external_provider | string | Valores permitidos: none, github, gitlab, bitbucket, ssh, git. |
external_repository_url | string | |
internal_repository_id | string | Repositorio de referencia en Adios Git |
internal_repository_url | string | URL de clonación sin credenciales para el repositorio de referencia de Adios Git |
last_synced_at | integer | (marca de tiempo Unix) |
metadata | object | |
mount | string | |
repository_path | string | |
role | string | Valores permitidos: primary, include. |
source_key | string | Identidad lógica sin credenciales usada para reutilizar un repositorio interno entre espacios de trabajo |
status | string | Valores permitidos: active, archived. |
sync_direction | string | Valores permitidos: none, pull, push, bidirectional. |
sync_error | object | |
sync_status | string | Valores permitidos: internal_only, pending, synced, ahead, behind, diverged, error. |
team_id | string | |
updated_at | integer | (marca de tiempo Unix) |
workspace_id | string | |
workspace_source_id | string |
Ejemplo ilustrativo; no es una respuesta real:
{
"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"
}
Obtener fuente del espacio de trabajo
GET /v1/workspace_source/{id}
Devuelve un único WorkspaceSource
Configura workspace_source_id usando IDs de tus propias respuestas de la API.
Autenticación: token bearer y la cabecera de equipo que se muestra a continuación.
Parámetros
| Nombre | Ubicación | Obligatorio | Descripción |
|---|---|---|---|
id | ruta | sí | Identificador del recurso obtenido de los resultados de la API de tu equipo. |
X-Tenant-ID | cabecera | sí | ID del equipo activo. Debe coincidir con el tenant vinculado al token de diagnóstico. |
Ejemplo de solicitud
Configura ADIOS_API_URL=https://api.adios.dev. Para las solicitudes protegidas, configura ADIOS_ACCESS_TOKEN y ADIOS_TEAM_ID como en el inicio rápido. Configura las variables adicionales ADIOS_* a partir de los resultados de tus propios recursos.
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"
Respuesta: HTTP 200
WorkspaceSource
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
alias | string | |
branch | string | |
commit | string | |
created_at | integer | (marca de tiempo Unix) |
deleted_at | integer | (marca de tiempo Unix) |
external_auth_ref | string | Solo referencia a credenciales; los valores secretos nunca se guardan aquí |
external_connection_id | string | |
external_provider | string | Valores permitidos: none, github, gitlab, bitbucket, ssh, git. |
external_repository_url | string | |
internal_repository_id | string | Repositorio de referencia en Adios Git |
internal_repository_url | string | URL de clonación sin credenciales para el repositorio de referencia de Adios Git |
last_synced_at | integer | (marca de tiempo Unix) |
metadata | object | |
mount | string | |
repository_path | string | |
role | string | Valores permitidos: primary, include. |
source_key | string | Identidad lógica sin credenciales usada para reutilizar un repositorio interno entre espacios de trabajo |
status | string | Valores permitidos: active, archived. |
sync_direction | string | Valores permitidos: none, pull, push, bidirectional. |
sync_error | object | |
sync_status | string | Valores permitidos: internal_only, pending, synced, ahead, behind, diverged, error. |
team_id | string | |
updated_at | integer | (marca de tiempo Unix) |
workspace_id | string | |
workspace_source_id | string |
Ejemplo ilustrativo; no es una respuesta real:
{
"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"
}
Actualizar fuente del espacio de trabajo
PUT /v1/workspace_source/{id}
Actualiza un WorkspaceSource existente
Configura workspace_source_id usando IDs de tus propias respuestas de la API.
Esta solicitud modifica datos o inicia una acción. Revisa el destino y el cuerpo antes de enviarla.
Campos de la solicitud (el cuerpo contiene un ejemplo editable):
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
alias | string | sí | |
branch | string | sí | Valor predeterminado: "main". |
commit | string | no | Valor predeterminado: "". |
external_auth_ref | string | no | Solo referencia a credenciales; los valores secretos nunca se guardan aquí. Valor predeterminado: "". |
external_connection_id | string | no | Valor predeterminado: "". |
external_provider | string | sí | Valores permitidos: none, github, gitlab, bitbucket, ssh, git. Valor predeterminado: "none". |
external_repository_url | string | no | Valor predeterminado: "". |
internal_repository_id | string | sí | Repositorio de referencia en Adios Git |
internal_repository_url | string | sí | URL de clonación sin credenciales para el repositorio de referencia de Adios Git |
last_synced_at | integer | no | (marca de tiempo Unix) Valor predeterminado: 0. |
metadata | object | no | |
mount | string | sí | Valor predeterminado: ".". |
repository_path | string | sí | Valor predeterminado: ".". |
role | string | sí | Valores permitidos: primary, include. Valor predeterminado: "include". |
source_key | string | sí | Identidad lógica sin credenciales usada para reutilizar un repositorio interno entre espacios de trabajo. Valor predeterminado: "". |
status | string | sí | Valores permitidos: active, archived. Valor predeterminado: "active". |
sync_direction | string | sí | Valores permitidos: none, pull, push, bidirectional. Valor predeterminado: "none". |
sync_error | object | no | Valor predeterminado: "". |
sync_status | string | sí | Valores permitidos: internal_only, pending, synced, ahead, behind, diverged, error. Valor predeterminado: "internal_only". |
team_id | string | sí | |
workspace_id | string | sí |
Autenticación: token bearer y la cabecera de equipo que se muestra a continuación.
Parámetros
| Nombre | Ubicación | Obligatorio | Descripción |
|---|---|---|---|
id | ruta | sí | Identificador del recurso obtenido de los resultados de la API de tu equipo. |
X-Tenant-ID | cabecera | sí | ID del equipo activo. Debe coincidir con el tenant vinculado al token de diagnóstico. |
Ejemplo de solicitud
Configura ADIOS_API_URL=https://api.adios.dev. Para las solicitudes protegidas, configura ADIOS_ACCESS_TOKEN y ADIOS_TEAM_ID como en el inicio rápido. Configura las variables adicionales ADIOS_* a partir de los resultados de tus propios recursos.
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
Reemplaza los marcadores YOUR_* del cuerpo antes de enviar la solicitud. El heredoc entrecomillado conserva el JSON literal.
Respuesta: HTTP 200
WorkspaceSource actualizado
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
alias | string | |
branch | string | |
commit | string | |
created_at | integer | (marca de tiempo Unix) |
deleted_at | integer | (marca de tiempo Unix) |
external_auth_ref | string | Solo referencia a credenciales; los valores secretos nunca se guardan aquí |
external_connection_id | string | |
external_provider | string | Valores permitidos: none, github, gitlab, bitbucket, ssh, git. |
external_repository_url | string | |
internal_repository_id | string | Repositorio de referencia en Adios Git |
internal_repository_url | string | URL de clonación sin credenciales para el repositorio de referencia de Adios Git |
last_synced_at | integer | (marca de tiempo Unix) |
metadata | object | |
mount | string | |
repository_path | string | |
role | string | Valores permitidos: primary, include. |
source_key | string | Identidad lógica sin credenciales usada para reutilizar un repositorio interno entre espacios de trabajo |
status | string | Valores permitidos: active, archived. |
sync_direction | string | Valores permitidos: none, pull, push, bidirectional. |
sync_error | object | |
sync_status | string | Valores permitidos: internal_only, pending, synced, ahead, behind, diverged, error. |
team_id | string | |
updated_at | integer | (marca de tiempo Unix) |
workspace_id | string | |
workspace_source_id | string |
Ejemplo ilustrativo; no es una respuesta real:
{
"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"
}
Eliminar la fuente del espacio de trabajo
DELETE /v1/workspace_source/{id}
Elimina un WorkspaceSource
Configura workspace_source_id usando IDs de tus propias respuestas de la API.
Esta solicitud modifica datos o inicia una acción. Revisa el destino y el cuerpo antes de enviarla.
Autenticación: token bearer y la cabecera de equipo que se muestra a continuación.
Parámetros
| Nombre | Ubicación | Obligatorio | Descripción |
|---|---|---|---|
id | ruta | sí | Identificador del recurso obtenido de los resultados de la API de tu equipo. |
X-Tenant-ID | cabecera | sí | ID del equipo activo. Debe coincidir con el tenant vinculado al token de diagnóstico. |
Ejemplo de solicitud
Configura ADIOS_API_URL=https://api.adios.dev. Para las solicitudes protegidas, configura ADIOS_ACCESS_TOKEN y ADIOS_TEAM_ID como en el inicio rápido. Configura las variables adicionales ADIOS_* a partir de los resultados de tus propios recursos.
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"
Respuesta: HTTP 200
Recurso eliminado.
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
message | string |
Ejemplo ilustrativo; no es una respuesta real:
{
"message": "Deleted successfully"
}