ZuploZuplo
LoginSign Up
  • Documentation
  • API Reference
Information
Analytics
    Get recent requests for a given deployment in the last 24 hoursgetGet statistics on requests by status code for a given deploymentget
API Keys - Buckets
    Lists bucketsgetCreates a bucketpostGets a bucketgetDeletes a bucketdeleteUpdates a bucketpatch
API Keys - Consumers
    Lists consumersgetCreates a consumerpostGets a consumergetDeletes a consumerdeleteUpdates a consumerpatchRoll consumer keyspost
API Keys - Keys
    Lists keysgetCreates an API keypostCreates multiple API keyspostGets an API keygetDeletes an API keydeleteUpdates an API keypatch
API Keys - Managers
    Lists managersgetCreates a managerpostDeletes a managerdelete
Audit Logs
    Query audit logsget
Build Logs
    Get build logsget
Client mTLS CA Certificates
    List Client mTLS CA CertificatesgetCreate Client mTLS CA CertificatepostDelete Client mTLS CA CertificatedeleteUpdate Client mTLS CA Certificatepatch
Custom Domains
    Get Custom DomainsgetCreate Custom DomainpostDelete a Custom DomaindeleteUpdate a Custom Domainpatch
Deployments
    Gets a deployment statusgetLists deploymentsgetUpload deployment sourcepostGet a deploymentgetDeletes a deploymentdeleteRe-deploy a deploymentpost
Environments
    Query environmentsgetGet an environmentget
MCP Servers
    API MCP ServerpostDocs MCP Serverpost
Metering - Features
    List featuresgetCreate featurepostGet featuregetDelete featuredelete
Metering - Meters
    List metersgetCreate meterpostGet metergetUpdate meterputDelete meterdeleteList meter group by valuesgetQuery metergetQuery meterpost
Metering - Plans
    List plansgetCreate a planpostGet plangetUpdate a planputDelete plandeleteArchive plan versionpostPublish planpost
Projects
    Create projectpost
Runtime Logs
    List request logsgetGet request log detailget
Tunnel Services
    Gets a provisioning statusgetGets a service configurationgetConfigures tunnel servicesput
Tunnels
    Lists tunnelsgetCreates a tunnelpostGets a tunnelgetDeletes a tunneldeleteRotates the tokenpostGets a teardown statusget
Variables
    Creates a variablepostUpdates a variablepatch
Other endpoints
    OpenAPI SpecificationgetLists accountsgetLists projectsgetWho Am Iget
Schemas
powered by Zudoku
Zuplo Developer API
Zuplo Developer API

Custom Domains

Manage account custom domains and their deployment mappings


Get Custom Domains

GET
https://dev.zuplo.com
/v1/accounts/{accountName}/custom-domains

Gets the account custom domains

Get Custom Domains › path Parameters

accountName
​string · required

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

Get Custom Domains › Responses

The request has succeeded.

Response containing a paginated list of custom domains.
Zuplo.CustomDomains.CustomDomainsList
​Zuplo.CustomDomains.CustomDomain[] · required

The custom domains returned for the account.

offset
​integer · uint32 · required

The number of records skipped.

Example: 0
limit
​integer · uint32 · required

The maximum number of records returned.

Example: 100
GET/v1/accounts/{accountName}/custom-domains
curl https://dev.zuplo.com/v1/accounts/:accountName/custom-domains
Example Responses
{ "data": [ { "id": "cdm_01HZX8D7A1M9S0K4Y2N6P3Q8R5", "accountName": "chocolate_great_buzzard", "projectName": "todo-list-api", "deployments": [ { "deploymentName": "todo-list-api-main-59eec11", "branch": "main", "environmentType": "PRODUCTION", "isDefault": true, "stage": "api", "cname": "todo-list-api-main-59eec11.zuplo.app" } ], "hostname": "api.example.com", "provider": "cloudflare" } ], "offset": 0, "limit": 100 }
json
application/json

Create Custom Domain

POST
https://dev.zuplo.com
/v1/accounts/{accountName}/custom-domains

Creates a custom domain

Create Custom Domain › path Parameters

accountName
​string · required

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

Create Custom Domain › Request Body

Request body for creating a custom domain.
Zuplo.CustomDomains.CustomDomainCreateBody
hostname
​string · required

The hostname to configure as a custom domain.

Example: api.example.com
deploymentName
​string

The deployment to associate with the hostname.

Example: todo-list-api-main-59eec11
stage
​string · enum

The stage to expose on the hostname.

Enum values:
api
dev-portal
Example: api
isDefault
​boolean

Whether this domain should be the default domain for the deployment.

Example: true
isAlias
​boolean

Whether the domain should be configured as an alias.

Example: false

Create Custom Domain › Responses

The request has succeeded.

The result of creating or updating a custom domain.
Zuplo.CustomDomains.CustomDomainMutationResult
deploymentName
​string | null · required

The deployment associated with the hostname.

Example: todo-list-api-main-59eec11
hostname
​string · required

The hostname that was created or updated.

Example: api.example.com
stage
​string · enum · required

The stage exposed by the hostname.

Enum values:
api
dev-portal
Example: api
ownershipVerification
​object | null · required

The DNS record required to verify domain ownership, if any.

Example: {"name":"_zuplo.api.example.com","type":"TXT","value":"zuplo-verification-token"}
cname
​string | null · required

The CNAME target for the custom domain, if any.

Example: todo-list-api-main-59eec11.zuplo.app
POST/v1/accounts/{accountName}/custom-domains
curl https://dev.zuplo.com/v1/accounts/:accountName/custom-domains \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "hostname": "api.example.com", "deploymentName": "todo-list-api-main-59eec11", "stage": "api", "isDefault": true, "isAlias": false }'
Example Request Body
{ "hostname": "api.example.com", "deploymentName": "todo-list-api-main-59eec11", "stage": "api", "isDefault": true, "isAlias": false }
json
Example Responses
{ "deploymentName": "todo-list-api-main-59eec11", "hostname": "api.example.com", "stage": "api", "ownershipVerification": { "name": "_zuplo.api.example.com", "type": "TXT", "value": "zuplo-verification-token" }, "cname": "todo-list-api-main-59eec11.zuplo.app" }
json
application/json

Delete a Custom Domain

DELETE
https://dev.zuplo.com
/v1/accounts/{accountName}/custom-domains

Delete a custom domain

Delete a Custom Domain › path Parameters

accountName
​string · required

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

Delete a Custom Domain › query Parameters

hostname
​string · required

The hostname of the custom domain to delete.

deploymentName
​string

The deployment associated with the hostname, when deleting a deployment-specific mapping.

Delete a Custom Domain › Responses

The request has succeeded.

No data returned
DELETE/v1/accounts/{accountName}/custom-domains
curl 'https://dev.zuplo.com/v1/accounts/:accountName/custom-domains?hostname=<string>' \ --request DELETE
Example Responses
No example specified for this content type

Update a Custom Domain

PATCH
https://dev.zuplo.com
/v1/accounts/{accountName}/custom-domains

Updates a custom domain

Update a Custom Domain › path Parameters

accountName
​string · required

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

Update a Custom Domain › Request Body

Request body for updating a custom domain.
Zuplo.CustomDomains.CustomDomainUpdateBody
hostname
​string · required

The hostname to update.

Example: api.example.com
deploymentName
​string

The deployment to associate with the hostname.

Example: todo-list-api-main-59eec11
isDefault
​boolean

Whether this domain should be the default domain for the deployment.

Example: true

Update a Custom Domain › Responses

The request has succeeded.

The result of creating or updating a custom domain.
Zuplo.CustomDomains.CustomDomainMutationResult
deploymentName
​string | null · required

The deployment associated with the hostname.

Example: todo-list-api-main-59eec11
hostname
​string · required

The hostname that was created or updated.

Example: api.example.com
stage
​string · enum · required

The stage exposed by the hostname.

Enum values:
api
dev-portal
Example: api
ownershipVerification
​object | null · required

The DNS record required to verify domain ownership, if any.

Example: {"name":"_zuplo.api.example.com","type":"TXT","value":"zuplo-verification-token"}
cname
​string | null · required

The CNAME target for the custom domain, if any.

Example: todo-list-api-main-59eec11.zuplo.app
PATCH/v1/accounts/{accountName}/custom-domains
curl https://dev.zuplo.com/v1/accounts/:accountName/custom-domains \ --request PATCH \ --header 'Content-Type: application/json' \ --data '{ "hostname": "api.example.com", "deploymentName": "todo-list-api-main-59eec11", "isDefault": true }'
Example Request Body
{ "hostname": "api.example.com", "deploymentName": "todo-list-api-main-59eec11", "isDefault": true }
json
Example Responses
{ "deploymentName": "todo-list-api-main-59eec11", "hostname": "api.example.com", "stage": "api", "ownershipVerification": { "name": "_zuplo.api.example.com", "type": "TXT", "value": "zuplo-verification-token" }, "cname": "todo-list-api-main-59eec11.zuplo.app" }
json
application/json

Client mTLS CA CertificatesDeployments