Skip to main content

Customer Portal Domain Administration

6 API calls in this section.

List Customer Portal Domains

System Configuration / Storefront Administration / Customer Portal Domain Administration
GET/system/delivery/customer-portal-domains?page=1&limit=20&status=&search=&language=en

Returns paginated customer portal custom domain records across tenants.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/system/delivery/customer-portal-domains?page=1&limit=20&status=&search=&language=en" \2  --header "Authorization: Bearer {{access_token}}"

Query parameters

pageOptional
query string

1

limitOptional
query string

20

statusOptional
query string

pending_dns | dns_verified | active | disconnecting | archived

searchOptional
query string

Search by custom domain or tenant name/slug

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success200
Response body
json
1{2  "success": true,3  "message": "Customer portal custom domains retrieved successfully",4  "data": {5    "items": [6      {7        "id": "domain-uuid",8        "tenant_id": "tenant-uuid",9        "custom_domain": "portal.tenant.com",10        "status": "active",11        "dns_verified_at": "2026-04-30T10:00:00Z",12        "tenant": {13          "id": "tenant-uuid",14          "slug": "tenant-one",15          "name": {16            "en": "Tenant One"17          }18        }19      }20    ],21    "pagination": {22      "page": 1,23      "limit": 20,24      "total": 1,25      "totalPages": 126    }27  }28}

List Available Tenants For Domain Connection

System Configuration / Storefront Administration / Customer Portal Domain Administration
GET/system/delivery/customer-portal-domains/available-tenants?search=&language=en

Lists tenants that do not have an active or pending customer portal custom domain.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/system/delivery/customer-portal-domains/available-tenants?search=&language=en" \2  --header "Authorization: Bearer {{access_token}}"

Query parameters

searchOptional
query string

Optional tenant slug or name search

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success200
Response body
json
1{2  "success": true,3  "message": "Tenants retrieved successfully",4  "data": {5    "tenants": [6      {7        "id": "tenant-uuid",8        "slug": "tenant-one",9        "name": {10          "en": "Tenant One"11        }12      }13    ]14  }15}

Get Tenant Customer Portal Domain

System Configuration / Storefront Administration / Customer Portal Domain Administration
GET/system/delivery/:tenantId/customer-portal/custom-domain?language=en

Returns the customer portal custom domain currently attached to the tenant.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/system/delivery/:tenantId/customer-portal/custom-domain?language=en" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

tenantIdRequired
path string

tenant-uuid

Query parameters

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success200
Response body
json
1{2  "success": true,3  "message": "Customer portal custom domain retrieved successfully",4  "data": {5    "custom_domain": {6      "id": "domain-uuid",7      "tenant_id": "tenant-uuid",8      "custom_domain": "portal.tenant.com",9      "status": "pending_dns"10    }11  }12}

Connect Customer Portal Domain

System Configuration / Storefront Administration / Customer Portal Domain Administration
POST/system/delivery/:tenantId/customer-portal/custom-domain/connect?language=en

Connects a customer portal custom domain on behalf of a tenant from the system admin console.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request POST "$ONDI_BASE_URL/system/delivery/:tenantId/customer-portal/custom-domain/connect?language=en" \2  --header "Authorization: Bearer {{access_token}}" \3  --header "Content-Type: application/json" \4  --header "Content-Type: application/json" \5  --data '{6  "custom_domain": "portal.tenant.com"7}'
Request body
json
1{2  "custom_domain": "portal.tenant.com"3}

Path parameters

tenantIdRequired
path string

tenant-uuid

Query parameters

languageOptional
query string

en

Request body fields

custom_domainExample
string

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

Created201
Response body
json
1{2  "success": true,3  "message": "Customer portal custom domain connected successfully",4  "data": {5    "custom_domain": {6      "id": "domain-uuid",7      "tenant_id": "tenant-uuid",8      "custom_domain": "portal.tenant.com",9      "status": "pending_dns"10    }11  }12}

Verify Customer Portal Domain

System Configuration / Storefront Administration / Customer Portal Domain Administration
POST/system/delivery/:tenantId/customer-portal/custom-domain/verify?language=en

Re-checks Vercel/DNS verification for the tenant's customer portal domain.

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request POST "$ONDI_BASE_URL/system/delivery/:tenantId/customer-portal/custom-domain/verify?language=en" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

tenantIdRequired
path string

tenant-uuid

Query parameters

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Verified200
Response body
json
1{2  "success": true,3  "message": "Customer portal custom domain verified successfully",4  "data": {5    "verified": true,6    "custom_domain": {7      "id": "domain-uuid",8      "status": "active",9      "dns_verified_at": "2026-04-30T10:00:00Z"10    }11  }12}
Pending DNS200
Response body
json
1{2  "success": true,3  "message": "Customer portal custom domain DNS verification is still pending",4  "data": {5    "verified": false,6    "custom_domain": {7      "id": "domain-uuid",8      "status": "pending_dns",9      "dns_verified_at": null10    }11  }12}

Disconnect Customer Portal Domain

System Configuration / Storefront Administration / Customer Portal Domain Administration
DELETE/system/delivery/:tenantId/customer-portal/custom-domain?language=en

Disconnects the tenant's customer portal custom domain (admin override).

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request DELETE "$ONDI_BASE_URL/system/delivery/:tenantId/customer-portal/custom-domain?language=en" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

tenantIdRequired
path string

tenant-uuid

Query parameters

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success200
Response body
json
1{2  "success": true,3  "message": "Customer portal custom domain disconnected successfully",4  "data": {5    "custom_domain": {6      "id": "domain-uuid",7      "status": "archived",8      "disconnected_at": "2026-04-30T11:00:00Z"9    }10  }11}