# info.description
The Pingle Censorship API provides public, read-only access to country-level censorship risk, incident records, evidence links, source metadata, and AI service accessibility signals.

Use it to power monitoring dashboards, research pipelines, editorial workflows, civic transparency projects, and connectivity-aware products that need a stable machine-readable view of internet censorship conditions. Public operations are GET-only, require no API key, and are served from `https://api.pingle.one`.

## Quickstart

```bash
curl https://api.pingle.one/v1/countries
```

## Methodology

Scores are deterministic and combine measurements, incident severity, source corroboration, recency, and confidence. AI-assisted analysis can support private classification and review workflows, but AI output does not assign country scores or turn provider-side restrictions into censorship scores by itself.

## Data model

Country scores summarize current censorship pressure. Incidents describe observed blocking or interference events, evidence links connect incidents to public measurements or source material, and sources explain provenance and freshness.

## Safety boundary

Mutating ingestion, review, moderation, and administration workflows are private systems and are not exposed in this public contract. The API is intended for retrieval, analysis, citation, and synchronization; clients should treat unknown or missing measurements as insufficient data rather than censorship evidence.

# info.summary
Public read-only REST API for internet censorship intelligence.

# paths./v1/accessibility/check.get.description
Use this endpoint to look up the current accessibility signal for a specific domain and country pair. It returns an existing measurement when available and otherwise reports insufficient data without creating a new probe.

# paths./v1/ai-services.get.description
Use this endpoint to discover AI services tracked for accessibility analysis. It provides stable service IDs and metadata that can be used before requesting per-country accessibility status.

# paths./v1/ai-services/{service_id}/countries.get.description
Use this endpoint to list country-level accessibility results for a tracked AI service. It is useful for products that show where a provider is blocked, degraded, restricted by provider policy, or not yet sufficiently measured.

# paths./v1/countries.get.description
Use this endpoint to discover the countries currently covered by the API. It is the stable lookup table for country codes used by score, profile, incident, and accessibility endpoints.

# paths./v1/countries/{country_code}.get.description
Use this endpoint to resolve an ISO 3166-1 alpha-2 code to the country record used by Pingle. It is useful when validating user input or displaying country names before requesting score or profile data.

# paths./v1/countries/{country_code}/incidents.get.description
Use this endpoint to list incidents observed for one country, with pagination and optional time filters. It is the right source for country-specific timelines, alerts, and investigation queues.

# paths./v1/countries/{country_code}/incidents.get.responses.200.content.application/json.examples.success.value.data[].summary
Local fixture record used to verify public API rendering.

# paths./v1/countries/{country_code}/profile.get.description
Use this endpoint when a product needs one consolidated country view. It combines country metadata, the latest score, recent incidents, and public source metadata for country detail pages or risk panels.

# paths./v1/countries/{country_code}/profile.get.responses.200.content.application/json.examples.success.value.recent_incidents[].summary
Local fixture record used to verify public API rendering.

# paths./v1/exports/incidents.jsonl.get.description
Use this endpoint to download incidents as newline-delimited JSON for analytics, archival, or ETL pipelines. It supports the same incident filters as list endpoints while returning a stream-friendly text format.

# paths./v1/incidents.get.description
Use this endpoint to search the incident catalog across countries. Filters let integrations build global monitoring views by country, severity, status, source, incident type, and time window.

# paths./v1/incidents.get.responses.200.content.application/json.examples.success.value.data[].summary
Local fixture record used to verify public API rendering.

# paths./v1/incidents.get.responses.200.content.application/json.examples.success.value.data[].title
Fixture: regional mobile internet disruption

# paths./v1/incidents.get.responses.200.content.application/json.examples.success.value.data[].summary
Local fixture record used to verify public API rendering.

# paths./v1/incidents.get.responses.200.content.application/json.examples.success.value.data[].title
Fixture: bandwidth throttling during political events

# paths./v1/incidents.get.responses.200.content.application/json.examples.success.value.data[].summary
Local fixture record used to verify public API rendering.

# paths./v1/incidents/delta.get.description
Use this endpoint to synchronize incident changes since a timestamp. It is designed for scheduled jobs that need incremental updates without repeatedly fetching the full incident catalog.

# paths./v1/incidents/delta.get.responses.200.content.application/json.examples.success.value.data[].summary
Local fixture record used to verify public API rendering.

# paths./v1/incidents/delta.get.responses.200.content.application/json.examples.success.value.data[].title
Fixture: regional mobile internet disruption

# paths./v1/incidents/delta.get.responses.200.content.application/json.examples.success.value.data[].summary
Local fixture record used to verify public API rendering.

# paths./v1/incidents/delta.get.responses.200.content.application/json.examples.success.value.data[].title
Fixture: bandwidth throttling during political events

# paths./v1/incidents/delta.get.responses.200.content.application/json.examples.success.value.data[].summary
Local fixture record used to verify public API rendering.

# paths./v1/incidents/{incident_id}.get.description
Use this endpoint to retrieve the canonical record for a single incident. It gives clients a stable detail page payload and a durable ID for linking evidence, reports, and exports.

# paths./v1/incidents/{incident_id}.get.responses.200.content.application/json.examples.success.value.summary
Local fixture record used to verify public API rendering.

# paths./v1/incidents/{incident_id}/evidence.get.description
Use this endpoint to list public evidence attached to an incident. It is intended for researchers and editorial teams that need measurement links, source references, and confidence values behind a claim.

# paths./v1/incidents/{incident_id}/report.get.description
Use this endpoint to produce a compact citation report for one incident. Markdown is the default for human review, while BibTeX and RIS are available for research tools through the `format` query parameter.

# paths./v1/incidents/{incident_id}/report.get.responses.200.content.text/markdown.examples.success.value
# Fixture: coordinated platform access restrictions

Incident ID: inc_fixture_ru_2026_05

Country: RU

Local fixture record used to verify public API rendering.

Canonical URL: https://pingle.example/censorship/inc_fixture_ru_2026_05

# paths./v1/index/latest.get.description
Use this endpoint to compare current censorship pressure across all supported countries. It returns the latest deterministic score, confidence, trend, and driver breakdown for each country so dashboards can sort or alert without recalculating the index.

# paths./v1/platforms/ai/risk.get.description
Use this endpoint to read the current scoring policy for provider-side AI restrictions. It clarifies whether provider restrictions inflate censorship scores so clients do not overstate censorship risk.

# paths./v1/sources.get.description
Use this endpoint to inspect the public source catalog used by the index. It helps integrators explain provenance, filter records by source family, and display freshness or source-of-truth metadata.

# tags[].description
Country coverage, current censorship scores, and consolidated country profiles.

# tags[].description
Observed censorship incidents, supporting evidence, source provenance, and citation reports.

# tags[].description
Incremental and bulk incident synchronization endpoints for integrations and data pipelines.

# tags[].description
Read-only AI service accessibility and provider restriction policy endpoints.