Replace the domain's routes
Team admins (`team.manage`). Routes are tried in list order: a path prefix on a segment boundary, or with `use_regex` an RE2 expression matched from the start of the path. The path is passed on unchanged. Several workspaces on one route split visitors evenly, sticky for 24 h; swapping the workspaces of a route is blue/green. Every workspace must be a live workspace of the team (422 at `/routes/<i>/workspace_ids/<j>`). An empty list takes the domain off the air.
openapi/harthelm.yaml at v1.5.0__Host-harthelm_session<token>Browser session of the UI (12 h idle, 7 days absolute). State-changing requests also need the header
Harthelm-CSRF: 1 and a matching Origin.
team*integerNumeric resource id.
int641 <= valuedomain*stringA custom domain's name, e.g. shop.example.com.
3 <= length <= 253If-Match?stringETag of the version the change is based on. Declared optional so that the server, not the request binder, answers a missing header with 428.
application/json- body
routes*array<>items <= 50The domain.
application/json- response
id*stringuuidteam_id*IDNumeric resource id.
int641 <= valuename*DomainNameValueA host name of at least two labels (letters, digits, hyphens; IDNs in their xn-- form), compared in lower
case; no wildcard, no IP address, no trailing dot.
3 <= length <= 253url*stringThe domain's HTTPS URL, from its name.
restricted*booleanuse_regex*booleanmax_body_bytes*integerThe effective limit (the installation default when none is set).
int64timeout_seconds*integerThe effective limit.
verification*tls*records*array<>The DNS records to set, in the order the console shows them.
routes*array<>created_by?IDNumeric resource id.
int641 <= valuecreated_at*stringdate-timeupdated_at*stringdate-timeexpires_at?stringAn unverified domain (never verified): when the claim is released and the domain removed (its creation plus
customDomains.claimDays). Absent once verified, and from an older core.
date-timecurl -X PUT 'https://console.example.com/api/v1/teams/1/domains/string/routes' \ -H 'Content-Type: application/json' \ -d '{ "routes": [ { "path": "string", "workspace_ids": [ 1 ] } ]}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "team_id": 1, "name": "string", "url": "string", "restricted": true, "use_regex": true, "max_body_bytes": 0, "timeout_seconds": 0, "verification": { "status": "unchecked", "method": "txt", "checked_at": "2019-08-24T14:15:22Z", "verified_at": "2019-08-24T14:15:22Z", "reason": "string", "txt_missing_since": "2019-08-24T14:15:22Z", "lapses_at": "2019-08-24T14:15:22Z" }, "tls": { "mode": "automated", "status": "pending", "reason": "string", "not_after": "2019-08-24T14:15:22Z", "covered_by": "string" }, "records": [ { "type": "CNAME", "name": "string", "value": "string", "purpose": "verification" } ], "routes": [ { "path": "string", "workspace_ids": [ 1 ] } ], "created_by": 1, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z"}