---
title: "The CustomDomain™ services the domain uses"
method: GET
path: "/connections/{id}/services"
tags: ["Connections"]
---

# The CustomDomain™ services the domain uses

`GET /connections/{id}/services`

## Request

- Base URL: `https://api.customdomain.ai/v1`
- URL: `https://api.customdomain.ai/v1/connections/{id}/services`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Every CustomDomain™ service with whether this domain uses it, computed from stored facts: DNS connect (with the rail that wrote the records and the access CustomDomain™ holds), managed DNS, edge serving, the HTTPS certificate, Power, monitoring, automatic repair, redirects, email records and CAA. `state` is `active`, `pending` (set up, not serving yet), `attention` (in use, and something needs a person), `paused` (automatic repair where CustomDomain™ holds the access but the deployment has not switched repair on, `MONITOR_AUTO_REPAIR`) or `inactive`. An end user's widget token (scope `connect`) reads this only when it is bound to the domain and minted with the connection's own `end_user_ref`; use an API key otherwise.

## Path parameters

- `id` string, required

## Response `200`

The services

- ConnectionServices
  - `connection_id` string, required
  - `application_id` string, required
  - `domain` string, required
  - `status` string, required
  - `provider` string
  - `provider_name` string
  - `access` object, required
    - `mode` 'kept' | 'one_time' | 'none', required: `kept`: CustomDomain™ holds continuous access (the zone it hosts, a kept sign-in or Domain Connect grant, a continuous provider account, the Route 53 access role). `one_time`: the records were written with access that was not kept. `none`: a person or the provider wrote them.
    - `via` 'managed_dns' | 'sign_in' | 'domain_connect' | 'provider_account' | 'route53_role'
    - `detail` string, required
    - `connected_via` string, required: The rail that wrote the records.
  - `services` object[], required
    - `id` 'dns_connect' | 'managed_dns' | 'edge' | 'tls' | 'power' | 'monitoring' | 'auto_repair' | 'redirects' | 'email_records' | 'caa', required
    - `name` string, required
    - `active` boolean, required
    - `state` 'active' | 'pending' | 'attention' | 'paused' | 'inactive', required
    - `detail` string, required
    - `since` string, date-time
  - `active_count` integer, required

## Other responses

- `401`: Error envelope: {code, title, details}.
- `403`: Error envelope: {code, title, details}.
- `404`: Error envelope: {code, title, details}.

---

[API](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api.md) · [All operations](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/revisions/34d89cb7a7cd?raw)
