Get a connection
const url = 'https://api.aletheia-ops.com/api/v1/aws/connections/example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.aletheia-ops.com/api/v1/aws/connections/example \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”OK
A connection with its setup material and steps
object
Public shape of a connection, with account counts
object
Whether a connection’s deployed role template is behind the latest and, if so, the releases the customer would gain by upgrading
object
One template version newer than the deployed one and the IAM actions it newly grants (shown in the upgrade wizard)
object
Deployment material a customer needs to deploy the read-only role (external id, role name, pre-filled CloudFormation/Terraform aids)
object
One onboarding step row
object
object
Examplegenerated
{ "connection": { "id": "example", "name": "example", "connection_type": "example", "status": "example", "role_name": "example", "management_role_arn": "example", "default_regions": [ "example" ], "template_version": "example", "accounts_total": 1, "accounts_connected": 1, "last_validated_at": "2026-04-15T12:00:00Z", "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z", "upgrade": { "available": true, "latest_version": "example", "releases": [ { "version": "example", "summary": "example", "actions": [ "example" ] } ], "grants_new_access": true } }, "setup": { "external_id": "example", "role_name": "example", "principal_arn": "example", "quick_create_url": "example", "update_stack_url": "example", "template_url": "example", "terraform_snippet": "example", "template_version": "example" }, "steps": [ { "id": "example", "aws_account_id": "example", "step": "example", "status": "example", "attempt": 1, "detail": {}, "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z" } ]}No valid credential was presented, or it has expired.
object
Stable, machine-readable identifier. Branch on this.
Human-readable explanation. Safe to display; do not parse.
Examples
{ "code": "unauthorized", "message": "authentication required"}{ "code": "invalid_credentials", "message": "invalid email or password"}{ "code": "invalid_token", "message": "invalid or expired token"}{ "code": "token_reuse", "message": "session revoked"}{ "code": "webhook_unauthorized", "message": "webhook verification failed"}Authenticated, but not permitted to perform this action.
object
Stable, machine-readable identifier. Branch on this.
Human-readable explanation. Safe to display; do not parse.
Examples
{ "code": "forbidden", "message": "you do not have permission to perform this action"}{ "code": "csrf_failed", "message": "missing or invalid CSRF token"}{ "code": "account_deactivated", "message": "your account is deactivated; contact your administrator"}{ "code": "ai_disabled", "message": "the AI assistant is disabled for this organization"}The resource does not exist, or belongs to another organization. The two are deliberately indistinguishable.
object
Stable, machine-readable identifier. Branch on this.
Human-readable explanation. Safe to display; do not parse.
Examples
{ "code": "not_found", "message": "resource not found"}An unexpected failure. Diagnostic detail is logged server-side and
deliberately not returned. Quote the X-Request-Id response header when
reporting one.
object
Stable, machine-readable identifier. Branch on this.
Human-readable explanation. Safe to display; do not parse.
Examples
{ "code": "internal_error", "message": "internal server error"}