Create submission
Create a written testimonial by hand. Use this to bring in a review you collected somewhere else.
POST /testimonials/submissionsThis endpoint creates a text testimonial. It is marked with source manual. To collect reviews from customers directly, use a form instead. See Create a testimonial form .
Authentication
Send your API key as a bearer token. See Authentication .
Request body
| Field | Type | Required | Notes |
projectId | UUID | yes | The project to add the review to. |
content | string | yes | The review text. Must not be empty. |
name | string | no | The reviewer name. |
email | string | no | The reviewer email. |
company | string | no | The reviewer company. |
jobTitle | string | no | The reviewer job title. |
status | string | no | pending, approved, or rejected. Defaults to pending. |
{
"projectId": "8a7b6c5d-4e3f-2a1b-0c9d-8e7f6a5b4c3d",
"content": "Best support team we have worked with.",
"name": "Jordan Lee",
"email": "jordan@example.com",
"company": "Example Ltd",
"jobTitle": "Head of Marketing",
"status": "approved"
}Response
Returns the created submission. See List testimonial submissions for the meaning of each field.
{
"testimonialSubmissionId": "c2e1d4b3-7a5f-4c9b-8d2e-3f4a5b6c7d8e",
"projectId": "8a7b6c5d-4e3f-2a1b-0c9d-8e7f6a5b4c3d",
"formBuilderId": null,
"customerId": null,
"type": "text",
"kind": "testimonial",
"content": "Best support team we have worked with.",
"rating": null,
"hasConsent": true,
"videoUrl": null,
"sourceUrl": null,
"tags": null,
"sentiment": null,
"status": "approved",
"source": "manual",
"approvedAt": "2026-08-29T12:00:00.000Z",
"createdAt": "2026-08-29T12:00:00.000Z",
"updatedAt": "2026-08-29T12:00:00.000Z"
}Example
curl -X POST "https://app.contendar.com/api/v1/testimonials/submissions" \
-H "Authorization: Bearer ck_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"projectId": "YOUR_PROJECT_ID",
"content": "Best support team we have worked with.",
"name": "Jordan Lee",
"status": "approved"
}'Related pages
Was this helpful?