post
https://nextdoor.com/external/api/partner/v1/ingestion_report
Use this endpoint to check whether specific CMS-supplied articles were successfully ingested and published on Nextdoor.
Request
| Field | Type | Description |
|---|---|---|
| guids | array of string | One or more GUIDs previously provided in the guid field when you created raw articles. |
{
"guids": [
"abc-123",
"def-456",
"... more GUID strings ..."
]
}
Successful Response – 200 OK
| Element | Type | Meaning |
|---|---|---|
| guid | string | The GUID you asked about |
| success | boolean | true if the article’s post_id exists (i.e. the article is live); false otherwise |
| error_msgs | array of string | Human-readable descriptions of validation errors when success is false (empty when success is true) |
| status | string | "valid", "invalid" or "unprocessed" |
{
"results": [
{
"guid": "abc-123",
"success": true,
"error_msgs": [],
"status": "valid"
},
{
"guid": "def-456",
"success": false,
"error_msgs": [
"Title is missing",
"Content failed validation"
],
"status": "invalid"
}
]
}
Error Responses
| Status | When it happens | Body |
|---|---|---|
| 400 Bad Request | • JSON cannot be parsed<br>• Body is not an object<br>• guids key missing or empty<br>• Endpoint has been temporarily disabled via kill-switch | {"error": "bad_request", "error_description": "…details…" } |
| 401 Unauthorized | The caller’s access token is missing the openid scope (or token not supplied) | {"error": "unauthenticated", "error_description": "…details…" } |
| 403 Forbidden | Caller lacks one of the required CMS API scopes | {"error": "forbidden", "error_description": "insufficient_scope" } |
| 429 Too Many Requests | Rate limit exceeded (standard for all external APIs) | Empty body or rate-limit message |
| 5xx Server Error | Unexpected server failure | Standard JSON error envelope |