Skip to content
ContentRemovalDeskDocumentation

Build your integration

Google deindex requests

Queue a request for an eligible scan finding and follow the actual CRD processing state.

REST API · JSONv0.2.0 · Live CRD integration
On this page

Queue an eligible case

POST /v1/cases/{id}/deindex-requests accepts provider: google and requires cases:read plus deindex:write. Use a case returned by your agency’s API scan and a stable Idempotency-Key for the logical request.

The service verifies the creator, authorization, entitlement, and exact API-scan finding before creating the real CRD deindex record. A native case without API-scan provenance remains available for ordinary admin processing but cannot use this API route. A new API request returns 202 while the worker processes it.

Keep acceptance, submission, and removal separate

A queue record is not a Google submission

This operation creates a real pending request in CRD. It does not itself send the Google notice. Further processing is required; never present queued or accepted as a successful removal.

FieldInterpretation
statusCurrent workflow state. queued means accepted for processing.
simulatedfalse for a live record; this does not mean the URL was removed.
submitted_to_providerTrue only when the underlying CRD record supports actual submission.
removal_verifiedTrue only when the underlying outcome is marked and verified as removed.

Read and reconcile

Save the request ID and poll GET /v1/deindex-requests/{id}. A changed provider status can produce deindex.status_changed. Refresh the resource before applying an event to your interface.

Retry an uncertain create response with the same idempotency key and input. Matching retries return the existing record. Do not generate a new key simply because processing is still pending.

Request & response example

POST/v1/cases/{id}/deindex-requests
curl --request POST 'https://api.crd.systems/v1/cases/case_example/deindex-requests' \
  --header "Authorization: Bearer $CRD_API_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: example-request-001' \
  --data '{
  "provider": "google"
}'
Use your secret key in the environment variable.
Example response · 202
{
  "id": "dix_example",
  "case_id": "case_example",
  "creator_id": "crt_example",
  "provider": "google",
  "status": "queued",
  "simulated": false,
  "submitted_to_provider": false,
  "removal_verified": false,
  "created_at": 1790035200000,
  "updated_at": 1790035200000,
  "error_code": null
}

Illustrative response. Replace example resource IDs with the IDs returned by your API requests. View endpoint details.