POST /api/human-support/conversations/current/messages
Account required · HTTP API reference
All endpoints · Authentication and retries · Download OpenAPI
- Requires a signed-in account and permission to access this resource. Use identifiers returned by your own account's earlier requests.
- Protected writes require an allowed Origin, the CSRF cookie and matching X-CSRF-Token header.
Request
| Parameter | Location | Type and requirement |
|---|---|---|
x-idempotency-key | header | string · required Pattern: |
Origin | header | string · required An origin allowed by this deployment. |
X-CSRF-Token | header | string · required Must match the CSRF cookie issued to this browser. |
Body · application/json
message required · stringExample
Examples use fictional data. Replace identifiers with resources you can access. For account requests, cookies.txt must contain your own session; set CSRF_TOKEN to the matching CSRF cookie value where required.
{
"message": "Explain the data used in this research."
}curl --include \
--request POST \
'https://api.weavers.app/api/human-support/conversations/current/messages' \
--cookie cookies.txt --cookie-jar cookies.txt \
--header 'x-idempotency-key: example-request-0001' \
--header 'Origin: https://weavers.app' \
--header "X-CSRF-Token: ${CSRF_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @request.jsonResponses
200 · Successful response.
application/json
{
"conversation": {
"id": "1",
"userId": 1,
"title": "Example research",
"status": "waiting_for_human",
"preview": null,
"lastMessageAt": "2025-01-01T00:00:00.000Z",
"lastUserMessageAt": null,
"lastAgentMessageAt": null,
"claimedAt": null,
"resolvedAt": null,
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-01T00:00:00.000Z",
"metadata": {}
},
"message": {
"id": "1",
"conversationId": "1",
"senderRole": "user",
"senderUserId": null,
"content": "Explain the data used in this research.",
"metadata": {},
"createdAt": "2025-01-01T00:00:00.000Z"
},
"createdConversation": false
}View response model
conversation required · objectView conversation model
id required · stringuserId required · numbertitle required · stringstatus required · "waiting_for_human" | "waiting_for_user" | "resolved"preview required · null | stringView preview model
Variant 1: null
null
Variant 2: string
string
lastMessageAt required · stringlastUserMessageAt required · null | stringView lastUserMessageAt model
Variant 1: null
null
Variant 2: string
string
lastAgentMessageAt required · null | stringView lastAgentMessageAt model
Variant 1: null
null
Variant 2: string
string
claimedAt required · null | stringView claimedAt model
Variant 1: null
null
Variant 2: string
string
resolvedAt required · null | stringView resolvedAt model
Variant 1: null
null
Variant 2: string
string
createdAt required · stringupdatedAt required · stringmetadata required · objectView metadata model
Additional fields: JSON value.
Additional fields: JSON values.
message required · objectView message model
id required · stringconversationId required · stringsenderRole required · "user" | "system" | "agent"senderUserId required · null | numberView senderUserId model
Variant 1: null
null
Variant 2: number
number
content required · stringmetadata required · objectView metadata model
Additional fields: JSON value.
createdAt required · stringAdditional fields: JSON values.
createdConversation required · booleanAdditional fields: JSON values.
201 · Resource created.
application/json
{
"conversation": {
"id": "1",
"userId": 1,
"title": "Example research",
"status": "waiting_for_human",
"preview": null,
"lastMessageAt": "2025-01-01T00:00:00.000Z",
"lastUserMessageAt": null,
"lastAgentMessageAt": null,
"claimedAt": null,
"resolvedAt": null,
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-01T00:00:00.000Z",
"metadata": {}
},
"message": {
"id": "1",
"conversationId": "1",
"senderRole": "user",
"senderUserId": null,
"content": "Explain the data used in this research.",
"metadata": {},
"createdAt": "2025-01-01T00:00:00.000Z"
},
"createdConversation": false
}View response model
conversation required · objectView conversation model
id required · stringuserId required · numbertitle required · stringstatus required · "waiting_for_human" | "waiting_for_user" | "resolved"preview required · null | stringView preview model
Variant 1: null
null
Variant 2: string
string
lastMessageAt required · stringlastUserMessageAt required · null | stringView lastUserMessageAt model
Variant 1: null
null
Variant 2: string
string
lastAgentMessageAt required · null | stringView lastAgentMessageAt model
Variant 1: null
null
Variant 2: string
string
claimedAt required · null | stringView claimedAt model
Variant 1: null
null
Variant 2: string
string
resolvedAt required · null | stringView resolvedAt model
Variant 1: null
null
Variant 2: string
string
createdAt required · stringupdatedAt required · stringmetadata required · objectView metadata model
Additional fields: JSON value.
Additional fields: JSON values.
message required · objectView message model
id required · stringconversationId required · stringsenderRole required · "user" | "system" | "agent"senderUserId required · null | numberView senderUserId model
Variant 1: null
null
Variant 2: number
number
content required · stringmetadata required · objectView metadata model
Additional fields: JSON value.
createdAt required · stringAdditional fields: JSON values.
createdConversation required · booleanAdditional fields: JSON values.
400 · Invalid request.
application/json
{
"error": "example",
"code": "example"
}View response model
Variant 1: object
error required · stringcode required · stringAdditional fields: JSON values.
401 · Authentication is missing or invalid.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
403 · Permission, origin or CSRF check failed.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
409 · Revision, state or idempotency conflict.
application/json
{
"error": "example",
"code": "example"
}View response model
error required · stringcode required · stringAdditional fields: JSON values.
429 · Rate limit reached; honor Retry-After when supplied.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
500 · Server failure.
application/json
{
"error": "example",
"code": "example"
}View response model
error required · stringcode required · stringAdditional fields: JSON values.
503 · Service or dependency unavailable.
application/json
{
"error": "example",
"code": "example"
}View response model
error required · stringcode required · stringAdditional fields: JSON values.