Skip to Content
SeyloDocs

Add an automatic domain

POST
/api/v1/domains.addAuto

Adds . from the wildcard A record of the node the service runs on. Works right away with no DNS change. Fails when the node has no wildcard domain set.

Needs domains.edit on the service (a grant on its project covers it). Available to MCP clients and the assistant.

Authorization

cookieseylo_session<token>

Request Body

application/json
  1. body
serviceId*string

Panel-issued id.

Match^[a-z0-9]{16}$
subdomain?string
Match^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
Length1 <= length <= 63
targetPort?integer

Port the container listens on.

Range1 <= value <= 65535

Response Body

Success.

application/json
  1. response
id*string

Panel-issued id.

Match^[a-z0-9]{16}$
serviceId*string

Panel-issued id.

Match^[a-z0-9]{16}$
host*string

Lower-case host name without scheme or port, for example shop.example.com.

Match^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z][a-z0-9-]{0,62}$
Length3 <= length <= 253
pathPrefix*string

Only requests under this path match. "/" is the whole host.

Match^/[A-Za-z0-9._~!$&'()*+,;=:@%/-]*$
Length1 <= length <= 200
stripPrefix*boolean
targetPort*integer

Port the container listens on.

Range1 <= value <= 65535
https*string|string|string
redirectToHttps*boolean
auto*boolean
primary*boolean
forward*|null
middlewares*
dnsStatus*string|string|string|string|string
dnsCheckedAt*|null
certificate*
liveAt*|null
url*string
createdAt*string
Formatdate-time
updatedAt*string
Formatdate-time
Example Request
curl -X POST 'https://example.com/api/v1/domains.addAuto' \  -H 'Content-Type: application/json' \  -d '{  "serviceId": "string"}'
Example Response
{  "id": "string",  "serviceId": "string",  "host": "string",  "pathPrefix": "string",  "stripPrefix": true,  "targetPort": 1,  "https": "acme",  "redirectToHttps": true,  "auto": true,  "primary": true,  "forward": {    "url": "stringst",    "permanent": true,    "keepPath": true  },  "middlewares": {    "basicAuth": {      "usernames": [        "string"      ]    },    "ipAllowList": [      "string"    ],    "rateLimit": {      "average": 1,      "burst": 1,      "periodSeconds": 1    },    "redirects": [      {        "from": "string",        "to": "string",        "permanent": true      }    ]  },  "dnsStatus": "unknown",  "dnsCheckedAt": "2019-08-24T14:15:22Z",  "certificate": {    "status": "none",    "expiresAt": "2019-08-24T14:15:22Z",    "issuer": "string",    "error": "string"  },  "liveAt": "2019-08-24T14:15:22Z",  "url": "string",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}