Your own Voice
Start paid voice analysis of up to 100 recent posts
Use this endpoint from your own integration, with the same account permissions and safeguards as the app.
Request
POST
/api/v1/voice/{accountId}/refreshExample requestcURL
curl -X POST 'https://postlift.io/api/v1/voice/{accountId}/refresh' \
-H "Authorization: Bearer $POSTLIFT_API_KEY" \
-H 'Idempotency-Key: integration-operation-0001' \
-H 'Content-Type: application/json' \
--data '{
"model": "openai/gpt-6-luna",
"includeReplies": false
}'Replace path placeholders with your Postlift resource IDs. Example timestamps must be replaced with a future time; preserve the same timestamp when retrying the same operation.
Parameters
| Name | Location | Description |
|---|---|---|
accountIdrequired | path | Postlift resource ID belonging to the API key owner. |
Idempotency-Keyrequired | header | Unique operation key. Reuse only for the same payload/account. See retry semantics in the guide.Pattern: ^[A-Za-z0-9_-]{8,128}$. |
Request body
Send JSON with Content-Type: application/json.
| Field | Type & constraints |
|---|---|
modeloptional | stringDefault: "openai/gpt-6-luna". |
includeRepliesoptional | booleanDefault: false. |
View JSON schema
{
"type": "object",
"properties": {
"model": {
"default": "openai/gpt-6-luna",
"type": "string"
},
"includeReplies": {
"default": false,
"type": "boolean"
}
},
"additionalProperties": false
}Response
202 Analysis queued; poll the returned job.
| Field | Type & constraints |
|---|---|
jobrequired | VoiceJob ↗ |
aiRequestsoptional | object[] |
View JSON schema
{
"type": "object",
"properties": {
"job": {
"$ref": "#/components/schemas/VoiceJob"
},
"aiRequests": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"required": [
"job"
],
"additionalProperties": true
}Errors & retries
Failures use a stable error code and request ID. Check the current resource version or request status before retrying a write.
| Status | Meaning |
|---|---|
400 | Invalid input or Jev rejection |
401 | Invalid, expired or revoked API key |
402 | Plan, publishing quota or AI credit requirement |
403 | Missing scope |
404 | Resource not found or not owned |
409 | Version conflict, missing voice or duplicate AI operation |
413 | Payload too large |
429 | Rate or concurrency limit |
500 | Internal error |
502 | Upstream failure; inspect operation status |
503 | Service or review unavailable |