Create a directory entry
post
https://api.expiryedge.com/v1/createDirectoryEntryeditor or admin60/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/createDirectoryEntry' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Contoso Legal",
"type": "Vendor",
"email": "billing@contosolegal.example",
"phone": "+15550198765",
"address": "400 Market St, Springfield",
"notes": "Outside counsel for licensing.",
"typedFields": {
"website": "https://contosolegal.example"
},
"customFields": [
{
"label": "Account number",
"value": "CL-2231"
}
]
}'Response
{
"message": "Directory entry created successfully.",
"entry": {
"id": "dir_6Hv3",
"name": "Contoso Legal",
"type": "Vendor",
"customType": "",
"phone": "+15550198765",
"email": "billing@contosolegal.example",
"address": "400 Market St, Springfield",
"notes": "Outside counsel for licensing.",
"typedFields": {
"website": "https://contosolegal.example"
},
"customFields": [
{
"label": "Account number",
"value": "CL-2231"
}
],
"organization_id": "org_northwind",
"user_id": "u_71bXq",
"createdAt": "2026-09-27T14:05:00.000Z",
"updatedAt": "2026-09-27T14:05:00.000Z"
}
}name is required; type defaults to Person. customType is kept only when type is Other.
customFields items without a label are dropped.
namestringRequired on create.typestringOne of Person, Company, Vendor, Client, Partner, Asset, Property, Other. Defaults toPerson.customTypestringCustom type label; kept only whentypeisOther.phonestringemailstringaddressstringnotesstringtypedFieldsobjectType-specific fields as key -> value (e.g.website).customFieldsarray of objectsFree-form label/value pairs; items without a label are dropped.
201
Entry created.
messagestringrequiredentryobjectrequiredA directory record (vendor, location, asset, person, ...) that expiries reference viadirectory_entry_ids.
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. |
