curl --request DELETE \
--url 'https://api-prod.usefini.com/v2/hc-interactions/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"ids": [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b"
]
}'
import requests
response = requests.delete(
"https://api-prod.usefini.com/v2/hc-interactions/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"ids": [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b",
]
},
)
result = response.json()
const response = await fetch(
"https://api-prod.usefini.com/v2/hc-interactions/public",
{
method: "DELETE",
headers: {
Authorization: "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
ids: [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b",
],
}),
}
);
const result = await response.json();
{
"success": true
}
{
"statusCode": 406,
"message": "One or more interactions not accessible to the user",
"error": "Not Acceptable"
}
{
"statusCode": 401,
"message": "Invalid or revoked API key",
"error": "Unauthorized"
}
{
"statusCode": 403,
"message": "API key does not have the required scope for this operation",
"error": "Forbidden"
}
Conversations
Bulk delete conversations
Delete up to 50 conversations in one request through the public Conversations API.
DELETE
/
v2
/
hc-interactions
/
public
curl --request DELETE \
--url 'https://api-prod.usefini.com/v2/hc-interactions/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"ids": [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b"
]
}'
import requests
response = requests.delete(
"https://api-prod.usefini.com/v2/hc-interactions/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"ids": [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b",
]
},
)
result = response.json()
const response = await fetch(
"https://api-prod.usefini.com/v2/hc-interactions/public",
{
method: "DELETE",
headers: {
Authorization: "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
ids: [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b",
],
}),
}
);
const result = await response.json();
{
"success": true
}
{
"statusCode": 406,
"message": "One or more interactions not accessible to the user",
"error": "Not Acceptable"
}
{
"statusCode": 401,
"message": "Invalid or revoked API key",
"error": "Unauthorized"
}
{
"statusCode": 403,
"message": "API key does not have the required scope for this operation",
"error": "Forbidden"
}
Use this endpoint to delete multiple conversations from the workspace tied to your API key in one request.
Use List conversations to discover IDs before deleting. If you only need to delete one conversation, use Delete conversation.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.DELETE /v2/hc-interactions/public
Authorization: Bearer fini_xxxxxxxxxxxxxxxxx
Content-Type: application/json
Body parameters
array
required
Array of unique conversation IDs to delete. Provide between
1 and 50 UUIDs in one request.curl --request DELETE \
--url 'https://api-prod.usefini.com/v2/hc-interactions/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"ids": [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b"
]
}'
import requests
response = requests.delete(
"https://api-prod.usefini.com/v2/hc-interactions/public",
headers={
"Authorization": "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
json={
"ids": [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b",
]
},
)
result = response.json()
const response = await fetch(
"https://api-prod.usefini.com/v2/hc-interactions/public",
{
method: "DELETE",
headers: {
Authorization: "Bearer fini_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
ids: [
"0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
"4d3f4c48-0467-4d7e-bbfd-2f7d02d84b5b",
],
}),
}
);
const result = await response.json();
Current implementation note: bulk delete is not atomic. Matching conversations are removed before the route verifies that every requested ID was accessible. If any ID is missing, already removed, or belongs to a different workspace, the route returns
406 Not Acceptable, but the matching conversations remain removed.Response
boolean
true when the route completed successfully.{
"success": true
}
{
"statusCode": 406,
"message": "One or more interactions not accessible to the user",
"error": "Not Acceptable"
}
{
"statusCode": 401,
"message": "Invalid or revoked API key",
"error": "Unauthorized"
}
{
"statusCode": 403,
"message": "API key does not have the required scope for this operation",
"error": "Forbidden"
}
Errors
400 Bad Request
400 Bad Request
The body is malformed,
ids is missing, there are duplicate IDs, one of the IDs is not a UUID, or you sent more than 50 IDs.401 Unauthorized
401 Unauthorized
The API key is missing, malformed, revoked, or invalid. Confirm you are sending
Authorization: Bearer fini_... with the full key.403 Forbidden
403 Forbidden
The API key does not include the
write scope required for these routes.406 Not Acceptable
406 Not Acceptable
One or more requested IDs were not accessible to the workspace tied to the API key. The current response message still uses the backend term
interactions.500 Internal Server Error
500 Internal Server Error
Fini failed while updating the conversation rows in storage.
Was this page helpful?

