PrerequisitesBefore you begin, you’ll need:
- A developer account with an approved App
- Your App’s Bearer Token
Create a job
Create a new compliance job specifying the type (tweets or users):Response:Save the
- cURL
- Python
upload_url and download_url for the next steps. Both are
signed, single-purpose URLs tied to this job: the upload_url expires
about 15 minutes after job creation, and the download_url about
7 days after. If an upload URL expires before you use it, cancel the
job and create a new one.You can have one active (
created or in_progress) job per job type at
a time. Creating a second one returns 409 Conflict until the first
completes, fails, or is canceled.Prepare your data file
Create a plain-text file with one numeric ID per line (up to 1 GiB):Save as
ids.txt. Lines that are not valid IDs are reported in the
results as error records rather than failing the whole job.Upload your data
Upload the file to the provided A successful upload returns
upload_url with a single PUT,
authenticating with the same Bearer token used to create the job:Unlike the previous Google Cloud Storage-based flow, upload and download
URLs now require your
Authorization header in addition to the signed
token embedded in the URL.200 OK and the job moves to
in_progress. An expired token returns 403 with a problem+json body.Check job status
Poll the job status until it’s complete:Job statuses:
Download results
Once status is Result format (newline-delimited JSON, one object per line):Only IDs with compliance events appear in the results. An ID absent
from the results has no compliance event — your stored copy is fine.
Invalid submitted lines come back as
complete, download from the download_url (like the
upload, this requires your Bearer token):{"id": ..., "error": "invalid_id"}
records. redacted_at can be null when the original event predates
timestamp tracking.Compliance actions
Post compliance events
Post compliance events
User compliance events
User compliance events
delete outranks rehydrate, which outranks
scrub_geo.
List all jobs
Get all compliance jobs for your App:Cancel a job
Cancel a job that is awaiting upload or still processing (frees the one-active-job slot for its type):Next steps
Integration guide
Key concepts and best practices
Compliance streams
Real-time compliance events
API Reference
Full endpoint documentation