Skip to main content

Customer Portal Domain Administration

6 API calls in this section.

System admin endpoints to manage delivery customer portal custom domains across tenants.

List Customer Portal Domains​

System Configuration / Storefront Administration / Customer Portal Domain Administration
GET/system/delivery/customer-portal-domains

Returns paginated customer portal custom domain records across tenants.

Query parameters

ParameterTypeDescription
pagestring

Example: 1

limitstring

Example: 20

statusstring

pending_dns | dns_verified | active | disconnecting | archived

searchstring

Search by custom domain or tenant name/slug

languagestring

Example: en

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/system/delivery/customer-portal-domains?page=1&limit=20&status=&search=&language=en" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"

Response examples

200Success
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

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

Query parameters

ParameterTypeDescription
searchOptionalstring

Optional tenant slug or name search

languagestring

Example: en

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/system/delivery/customer-portal-domains/available-tenants?search=&language=en" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"

Response examples

200Success
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

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

Path parameters

ParameterTypeDescription
tenantIdRequiredstring

Example: tenant-uuid

Query parameters

ParameterTypeDescription
languagestring

Example: en

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/system/delivery/${TENANTID}/customer-portal/custom-domain?language=en" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"

Response examples

200Success
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

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

Path parameters

ParameterTypeDescription
tenantIdRequiredstring

Example: tenant-uuid

Query parameters

ParameterTypeDescription
languagestring

Example: en

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Body parameters

ParameterTypeDescription
custom_domainstring—
Staging
Request
curl
1curl --globoff --request POST "https://staging-api.ondi.io/functions/v1/system/delivery/${TENANTID}/customer-portal/custom-domain/connect?language=en" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json" \4  --data-raw '{5  "custom_domain": "portal.tenant.com"6}'

Response examples

201Created
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

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

Path parameters

ParameterTypeDescription
tenantIdRequiredstring

Example: tenant-uuid

Query parameters

ParameterTypeDescription
languagestring

Example: en

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Staging
Request
curl
1curl --globoff --request POST "https://staging-api.ondi.io/functions/v1/system/delivery/${TENANTID}/customer-portal/custom-domain/verify?language=en" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"

Response examples

200Verified
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}

Disconnect Customer Portal Domain​

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

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

Path parameters

ParameterTypeDescription
tenantIdRequiredstring

Example: tenant-uuid

Query parameters

ParameterTypeDescription
languagestring

Example: en

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Staging
Request
curl
1curl --globoff --request DELETE "https://staging-api.ondi.io/functions/v1/system/delivery/${TENANTID}/customer-portal/custom-domain?language=en" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"

Response examples

200Success
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}