Skip to content
AdiosDocumentation
Browse documentation

Workspace sources API

Manage repositories mounted into a workspace. Use identifiers returned by the API for repository references.

Use API authentication for protected requests. Examples use your own resource IDs and a temporary token; saved response examples are synthetic.

MethodPathOperation
GET/v1/workspace_sourceList workspace sources
POST/v1/workspace_sourceCreate workspace source
GET/v1/workspace_source/{id}Get workspace source
PUT/v1/workspace_source/{id}Update workspace source
DELETE/v1/workspace_source/{id}Delete workspace source

List workspace sources

GET /v1/workspace_source

Returns a paginated list of WorkspaceSource

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.
pagequerynoPage number
per_pagequerynoItems per page

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

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"

Response: HTTP 200

List of WorkspaceSource

Response fields

FieldTypeDescription
dataarray
data[].aliasstring
data[].branchstring
data[].commitstring
data[].created_atinteger(Unix timestamp)
data[].deleted_atinteger(Unix timestamp)
data[].external_auth_refstringCredential reference only; secret values are never persisted here
data[].external_connection_idstring
data[].external_providerstringAllowed: none, github, gitlab, bitbucket, ssh, git.
data[].external_repository_urlstring
data[].internal_repository_idstringAuthoritative repository in Adios Git
data[].internal_repository_urlstringCredential-free clone URL for the authoritative Adios Git repository
data[].last_synced_atinteger(Unix timestamp)
data[].metadataobject
data[].mountstring
data[].repository_pathstring
data[].rolestringAllowed: primary, include.
data[].source_keystringCredential-free logical identity used to reuse one internal repository across workspaces
data[].statusstringAllowed: active, archived.
data[].sync_directionstringAllowed: none, pull, push, bidirectional.
data[].sync_errorobject
data[].sync_statusstringAllowed: internal_only, pending, synced, ahead, behind, diverged, error.
data[].team_idstring
data[].updated_atinteger(Unix timestamp)
data[].workspace_idstring
data[].workspace_source_idstring
paginationobject
pagination.pageintegerCurrent page number
pagination.per_pageintegerNumber of items per page
pagination.totalintegerTotal number of items

Illustrative example; not a live response:

{
  "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
  }
}

Create workspace source

POST /v1/workspace_source

Creates a new WorkspaceSource

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
aliasstringyes
branchstringyesDefault: "main".
commitstringnoDefault: "".
external_auth_refstringnoCredential reference only; secret values are never persisted here Default: "".
external_connection_idstringnoDefault: "".
external_providerstringyesAllowed: none, github, gitlab, bitbucket, ssh, git. Default: "none".
external_repository_urlstringnoDefault: "".
internal_repository_idstringyesAuthoritative repository in Adios Git
internal_repository_urlstringyesCredential-free clone URL for the authoritative Adios Git repository
last_synced_atintegerno(Unix timestamp) Default: 0.
metadataobjectno
mountstringyesDefault: ".".
repository_pathstringyesDefault: ".".
rolestringyesAllowed: primary, include. Default: "include".
source_keystringyesCredential-free logical identity used to reuse one internal repository across workspaces Default: "".
statusstringyesAllowed: active, archived. Default: "active".
sync_directionstringyesAllowed: none, pull, push, bidirectional. Default: "none".
sync_errorobjectnoDefault: "".
sync_statusstringyesAllowed: internal_only, pending, synced, ahead, behind, diverged, error. Default: "internal_only".
team_idstringyes
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

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

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 201

WorkspaceSource created

Response fields

FieldTypeDescription
aliasstring
branchstring
commitstring
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
external_auth_refstringCredential reference only; secret values are never persisted here
external_connection_idstring
external_providerstringAllowed: none, github, gitlab, bitbucket, ssh, git.
external_repository_urlstring
internal_repository_idstringAuthoritative repository in Adios Git
internal_repository_urlstringCredential-free clone URL for the authoritative Adios Git repository
last_synced_atinteger(Unix timestamp)
metadataobject
mountstring
repository_pathstring
rolestringAllowed: primary, include.
source_keystringCredential-free logical identity used to reuse one internal repository across workspaces
statusstringAllowed: active, archived.
sync_directionstringAllowed: none, pull, push, bidirectional.
sync_errorobject
sync_statusstringAllowed: internal_only, pending, synced, ahead, behind, diverged, error.
team_idstring
updated_atinteger(Unix timestamp)
workspace_idstring
workspace_source_idstring

Illustrative example; not a live response:

{
  "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"
}

Get workspace source

GET /v1/workspace_source/{id}

Returns a single WorkspaceSource

Set workspace_source_id using IDs from your own API responses.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

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"

Response: HTTP 200

WorkspaceSource

Response fields

FieldTypeDescription
aliasstring
branchstring
commitstring
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
external_auth_refstringCredential reference only; secret values are never persisted here
external_connection_idstring
external_providerstringAllowed: none, github, gitlab, bitbucket, ssh, git.
external_repository_urlstring
internal_repository_idstringAuthoritative repository in Adios Git
internal_repository_urlstringCredential-free clone URL for the authoritative Adios Git repository
last_synced_atinteger(Unix timestamp)
metadataobject
mountstring
repository_pathstring
rolestringAllowed: primary, include.
source_keystringCredential-free logical identity used to reuse one internal repository across workspaces
statusstringAllowed: active, archived.
sync_directionstringAllowed: none, pull, push, bidirectional.
sync_errorobject
sync_statusstringAllowed: internal_only, pending, synced, ahead, behind, diverged, error.
team_idstring
updated_atinteger(Unix timestamp)
workspace_idstring
workspace_source_idstring

Illustrative example; not a live response:

{
  "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"
}

Update workspace source

PUT /v1/workspace_source/{id}

Updates an existing WorkspaceSource

Set workspace_source_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Request fields (the body contains an editable example):

FieldTypeRequiredDescription
aliasstringyes
branchstringyesDefault: "main".
commitstringnoDefault: "".
external_auth_refstringnoCredential reference only; secret values are never persisted here Default: "".
external_connection_idstringnoDefault: "".
external_providerstringyesAllowed: none, github, gitlab, bitbucket, ssh, git. Default: "none".
external_repository_urlstringnoDefault: "".
internal_repository_idstringyesAuthoritative repository in Adios Git
internal_repository_urlstringyesCredential-free clone URL for the authoritative Adios Git repository
last_synced_atintegerno(Unix timestamp) Default: 0.
metadataobjectno
mountstringyesDefault: ".".
repository_pathstringyesDefault: ".".
rolestringyesAllowed: primary, include. Default: "include".
source_keystringyesCredential-free logical identity used to reuse one internal repository across workspaces Default: "".
statusstringyesAllowed: active, archived. Default: "active".
sync_directionstringyesAllowed: none, pull, push, bidirectional. Default: "none".
sync_errorobjectnoDefault: "".
sync_statusstringyesAllowed: internal_only, pending, synced, ahead, behind, diverged, error. Default: "internal_only".
team_idstringyes
workspace_idstringyes

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

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

Replace YOUR_* body placeholders before sending. The quoted heredoc keeps the JSON literal.

Response: HTTP 200

WorkspaceSource updated

Response fields

FieldTypeDescription
aliasstring
branchstring
commitstring
created_atinteger(Unix timestamp)
deleted_atinteger(Unix timestamp)
external_auth_refstringCredential reference only; secret values are never persisted here
external_connection_idstring
external_providerstringAllowed: none, github, gitlab, bitbucket, ssh, git.
external_repository_urlstring
internal_repository_idstringAuthoritative repository in Adios Git
internal_repository_urlstringCredential-free clone URL for the authoritative Adios Git repository
last_synced_atinteger(Unix timestamp)
metadataobject
mountstring
repository_pathstring
rolestringAllowed: primary, include.
source_keystringCredential-free logical identity used to reuse one internal repository across workspaces
statusstringAllowed: active, archived.
sync_directionstringAllowed: none, pull, push, bidirectional.
sync_errorobject
sync_statusstringAllowed: internal_only, pending, synced, ahead, behind, diverged, error.
team_idstring
updated_atinteger(Unix timestamp)
workspace_idstring
workspace_source_idstring

Illustrative example; not a live response:

{
  "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"
}

Delete workspace source

DELETE /v1/workspace_source/{id}

Deletes a WorkspaceSource

Set workspace_source_id using IDs from your own API responses.

This request changes data or starts an action. Review the target and body before sending it.

Authentication: bearer token and the team header shown below.

Parameters

NameLocationRequiredDescription
idpathyesResource identifier from your team's API results.
X-Tenant-IDheaderyesActive team ID. Must match the tenant bound to a diagnostic token.

Request example

Set ADIOS_API_URL=https://api.adios.dev. For protected requests, set ADIOS_ACCESS_TOKEN and ADIOS_TEAM_ID as in the quickstart. Set any additional ADIOS_* variables from your own resource results.

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"

Response: HTTP 200

Resource deleted.

Response fields

FieldTypeDescription
messagestring

Illustrative example; not a live response:

{
  "message": "Deleted successfully"
}