---
title: "List subdomains"
method: GET
path: "/subdomains/v1"
tags: ["Subdomains"]
---

# List subdomains

`GET /subdomains/v1`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/subdomains/v1`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-admin-key`

List subdomains. service_key sees the project's subdomains; admin auth (ADMIN_KEY or admin wallet SIWx) sees all subdomains.

## Response `200`

Subdomain list

- object
  - `subdomains` Subdomain[]
    - `name` string
    - `deployment_id` string
    - `release_id` string, nullable: On a claim response: the release the bound deployment belongs to, when the target was resolved from a release, an operation, or the live release.
    - `resolved_from` 'deployment_id' | 'release_id' | 'operation_id' | 'live_release' | 'latest_deployment', nullable: On a claim response: how the bound deployment was chosen.
    - `url` string, uri
    - `deployment_url` string, uri
    - `project_id` string: Run402 project ID. Public IDs are not UUIDs.
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `401`: Missing or invalid authentication. Run402-originated JSON bodies use the canonical ErrorEnvelope.

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
