Audience: Application developers
Editorial status: Published — Source Validated
Product: FeraCalendar
Classification: administrative
DELETE /api/v1/people/k/{key}
Overview
Implements controller.delete in routes/api/v1/person/routes.js:12. The authenticated boundary enforces managed-product and owner/member role rules, uses owner-scoped keys/UUIDs, applies visibility masks only after access resolution, and records mutations.
Deprecated compatibility paths
DELETE /api/people/k/{key}
Use the versioned canonical path for new integrations.
Authentication and access
Security scheme: authToken
| Control | Contract |
|---|---|
| Authentication | authenticated |
| Authorization | The route validates a JWT but does not invoke the available FeraAuth named-permission checker; VIEW/EDIT calendar, person, resource, and event grants are provisioned for owners but are not enforced by this router. |
| Licensing | The global managed-product middleware requires the resolved FeraCal product instance to exist in Active lifecycle state before this route executes. |
| Instance Context | The instance header selects the FeraCal product instance. A trusted API-plane caller may replace it only with signed x-feradel-owner-instance, service, timestamp, and scope-signature headers. |
| Ownership | Reads and deletes constrain persistence lookups to the resolved product instance; calendar membership, visibility, inviter, person, and resource rules further limit the returned or mutated state. |
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
key |
path | string | Yes | Owner-scoped external person or resource lookup key. |
Request body
No request body.
Example request
cURL
curl --request DELETE \ \
--url 'https://cal.feradel.com/api/v1/people/k/primary' \
--header 'x-auth-token: $FERA_AUTH_TOKEN'
Responses
200 The source-traced FeraCal handler completed and returned its calendar, event, person, resource, access, invitation, or lifecycle representation.
Content type: application/json; schema: CalResult
{
"success": true,
"item": {
"uuid": "715c9ebb-0470-11f1-a928-0ed2cd1b87df",
"name": "Client consultation",
"calendarUuid": "715c9ebb-0470-11f1-a928-0ed2cd1b87df",
"startsAt": "2026-09-01T13:00:00Z",
"endsAt": "2026-09-01T14:00:00Z",
"attendees": [],
"resources": []
},
"items": [],
"uuid": "715c9ebb-0470-11f1-a928-0ed2cd1b87df",
"visibility": 7
}
400 UUID, key, date range, fields, invite target, or command validation failed.
Content type: application/json; schema: CalError
{
"success": false,
"error": {
"message": "The calendar operation could not be completed.",
"category": "calendar",
"number": 800000
}
}
401 The x-auth-token or lifecycle HMAC is invalid.
Content type: application/json; schema: CalError
{
"success": false,
"error": {
"message": "The calendar operation could not be completed.",
"category": "calendar",
"number": 800000
}
}
403 Managed-product, owner, role, share/inviter, or lifecycle sender permission is missing.
Content type: application/json; schema: CalError
{
"success": false,
"error": {
"message": "The calendar operation could not be completed.",
"category": "calendar",
"number": 800000
}
}
404 The owner-scoped calendar, event, person, resource, or invite target was not found.
Content type: application/json; schema: CalError
{
"success": false,
"error": {
"message": "The calendar operation could not be completed.",
"category": "calendar",
"number": 800000
}
}
500 Persistence, invitation, lifecycle, or internal calendar processing failed.
Content type: application/json; schema: CalError
{
"success": false,
"error": {
"message": "The calendar operation could not be completed.",
"category": "calendar",
"number": 800000
}
}
Status and retry matrix
| Status | Condition | Retryable | Developer action |
|---|---|---|---|
200 |
The source-traced FeraCal handler completed and returned its calendar, event, person, resource, access, invitation, or lifecycle representation. | No | Continue with the returned calendar state. |
400 |
UUID, key, date range, fields, invite target, or command validation failed. | No | Correct identity, scope, role, dates, invitation, resource, or dependency before retrying. |
401 |
The x-auth-token or lifecycle HMAC is invalid. | No | Correct identity, scope, role, dates, invitation, resource, or dependency before retrying. |
403 |
Managed-product, owner, role, share/inviter, or lifecycle sender permission is missing. | No | Correct identity, scope, role, dates, invitation, resource, or dependency before retrying. |
404 |
The owner-scoped calendar, event, person, resource, or invite target was not found. | No | Correct identity, scope, role, dates, invitation, resource, or dependency before retrying. |
500 |
Persistence, invitation, lifecycle, or internal calendar processing failed. | Yes | Correct identity, scope, role, dates, invitation, resource, or dependency before retrying. |
Related operations and events
- Operation
calendar_post_people - Operation
calendar_get_peopleOKKey} - Operation
calendar_get_peopleAvailableSStartAtEEndAt} - Operation
calendar_delete_peopleIUuid}
Source trace
Repository: feradelinc/feradel.calendar.api
Route: routes/api/v1/person/routes.js
Handler: controller.delete
Contract: OpenAPI 3.1, source-traced and publication-validated.