Create a compliance portal
post
https://api.expiryedge.com/v1/createPortaladmin60/minJede Methode
Anfrage
curl -X POST 'https://api.expiryedge.com/v1/createPortal' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Northwind Dental - Vendor Compliance",
"description": "Current licenses and insurance certificates for Northwind Dental.",
"client_name": "Northwind Dental",
"client_email": "priya@northwinddental.example",
"expiry_ids": [
"exp_4Tq9sLm2",
"exp_8Jd3kQw1"
],
"password": "harbor-2026",
"link_expires_at": "2026-12-31T23:59:59.000Z"
}'Antwort
{
"success": true,
"portal": {
"id": "prt_5Vb1nK",
"name": "Northwind Dental - Vendor Compliance",
"description": "Current licenses and insurance certificates for Northwind Dental.",
"client_name": "Northwind Dental",
"client_email": "priya@northwinddental.example",
"expiry_ids": [
"exp_4Tq9sLm2",
"exp_8Jd3kQw1"
],
"link_expires_at": "2026-12-31T23:59:59.000Z",
"organization_id": "org_northwind",
"created_by": "u_71bXq",
"access_token": "0f5c2a8e-6d4b-4e3a-9c1f-7b2d8e9a3c41",
"has_password": true,
"is_active": true,
"view_count": 0,
"last_viewed_at": null,
"created_at": "2026-09-27T14:05:00.000Z",
"updated_at": "2026-09-27T14:05:00.000Z"
},
"portalUrl": "https://app.expiryedge.com/portal/0f5c2a8e-6d4b-4e3a-9c1f-7b2d8e9a3c41"
}Creates an active portal and returns its public URL. expiry_ids must all be in your organization (max 1000).
namestringerforderlichRequired on create.descriptionstringclient_namestringclient_emailstringexpiry_idsarray of stringExpiry ids shown on the portal. Every id must belong to your organization (400 otherwise); duplicates are removed.max items: 1000passwordstringOptional viewer password. On update, an empty string removes the password. Never returned.link_expires_atstring | nullAfter this time viewPortal returns 410.format: date-time
201
Created.
successbooleanportalobjectA shareable, read-only compliance portal. The password hash is never returned.portalUrlstringformat: uri
400 | The request is missing required fields or contains invalid values. |
401 | Missing, expired or invalid bearer token. |
403 | Authenticated, but your role or organization does not allow this action. |
429 | Too many requests for this endpoint from your IP. Wait Retry-After seconds. |
500 | Unexpected server error. Retry later; quote requestId to support. |
