Soft-pauses the participant
Sets the participant's `DisabledAt` timestamp. While disabled: inbound resolution skips them (the message will fall through to the connector-level policy / not match an agent), and outbound dispatch returns `DispatchOutcome.Disabled` distinct from the misconfig- flavored `NoChannel`. Agent bindings and channels are preserved so enabling restores the prior state without re-wiring. Returns 404 when the participant does not exist; re-disabling is a no-op (the original timestamp is kept).
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The participant identifier.
uuidThe tenant identifier
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/participants/497f6eca-6276-4993-bfeb-53cbbbba6f08:disable"{
"id": "00000000-0000-0000-0000-000000000000",
"kind": "PERSON",
"tier": "CURATED",
"audience": "UNKNOWN",
"displayName": "string",
"email": "string",
"emailProof": {
"method": "MINTED",
"at": 0
},
"relatedAgentId": "string",
"description": "string",
"expertise": [
"string"
],
"area": "string",
"bio": "string",
"preferredLanguage": "string",
"environmentId": "00000000-0000-0000-0000-000000000000",
"displayNameSource": "SYNCED",
"bioSource": "SYNCED",
"environmentSource": "SYNCED",
"preferences": [
"string"
],
"accounts": [
{
"provider": "string",
"identifier": "string",
"handle": "string",
"profileUrl": "string",
"source": "MANUAL",
"verifiedAt": 0,
"proof": {
"method": "UNSPECIFIED",
"at": 0
}
}
],
"addresses": [
{
"provider": "string",
"address": "string",
"priority": 0,
"label": "string",
"disabled": false,
"proof": {
"method": "UNSPECIFIED",
"at": 0
}
}
],
"isDebugOnly": false,
"agentIds": [
"string"
],
"disabledAt": 0,
"mergedIntoId": "00000000-0000-0000-0000-000000000000",
"enrolled": false,
"autoEnrolled": false,
"health": {
"reachable": false,
"channels": [
{
"address": "string",
"reason": null,
"keyStatus": "UNSPECIFIED",
"keyPrefix": "string",
"lastMessageAt": null
}
],
"reason": "INVALID_FORMAT"
},
"channelActivations": [
{
"agentId": "string",
"bindingId": "00000000-0000-0000-0000-000000000000",
"integrationConfigId": "00000000-0000-0000-0000-000000000000",
"provider": "string",
"address": "string",
"webhookUrl": "string",
"webhookUrlTemplate": "string",
"webhookKeyPrefix": "string",
"scope": "PER_BINDING"
}
],
"avatarFileId": "string",
"avatarSource": "UPLOADED",
"avatarSourceConfigId": "00000000-0000-0000-0000-000000000000",
"avatarSourceAddress": "string",
"avatarSyncedAt": 0,
"avatarAutoSync": {
"synced": false,
"provider": "string",
"address": "string"
},
"createdAt": 0,
"modifiedAt": 0
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Deletes a participant and all its bindings.
Permanently removes the participant along with every agent binding attached to it, and every account the person connected under one of its addresses along with the connect links still open for them. An account another participant's address also reaches is kept. The delete does not cascade to the agents themselves, and agents' memories of the person stay; forget the person first to remove those. Returns 404 when the participant does not exist.
Dry-run dispatch — tests a single (integration config, address) tuple through the full sender pipeline without requiring a persisted participant.
Sends a real test message to an address before saving a participant. Validates the address against the integration's format first; invalid addresses return 400 with a format hint. No participant binding is required and no participant audit record is created.