Developers

The NetaGraph API.

JSON over HTTPS. Authenticated via X-API-KEY headers. Stable v1 surface, semver-versioned, with deprecation notices six months in advance. Served from India-region edge with TLS 1.3 and per-key audit logs.

Why developers ship on us

Four primitives, one API.

Authentication, surface, push, and quotas — each documented and instrumented.

Access

Scoped keys, instant rotation.

Per-environment keys with IP allowlists, scope masks, and one-click rotation. Every call is audit-logged with a stable key hash.

Get a key
curl https://api.netagraph.in/v1/ping \
  -H "X-API-KEY: $NETAGRAPH_KEY"
Resources

Everything you need to integrate.

Quickstart

From zero to your first signed response in under 60 seconds.

Read guide →

API Reference

Every endpoint, every field, every status code.

Browse spec →

Changelog

Versioned, semver-bumped, six-month deprecation windows.

See history →

Status

Live latency, error rates, and incident history.

Open status →
Quickstart

From zero to first response in 60 seconds.

# 1. Create a key in the workspace
#    https://netagraph.in/workspace/keys
#
# 2. Export it
export NETAGRAPH_KEY="ng_live_••••••••••••"

# 3. Make your first call
curl https://api.netagraph.in/v1/analytics/constituencies/blr-south \
  -H "X-API-KEY: $NETAGRAPH_KEY"

Authentication

Every request must carry an X-API-KEY header with a key generated from your workspace. Keys are scoped to an environment (production or staging) and can be rotated or revoked instantly.

Versioning & stability

The current major is v1. Breaking changes ship behind a new path prefix. Field deprecations are flagged in response headers (X-NG-Deprecated) at least six months before removal.

Pagination & filtering

List endpoints accept limit, cursor, and resource-specific filters (e.g. state, ulb). Default page size is 50; maximum is 500.

Webhooks

Subscribe to report.*, contractor.* and sentiment.* events. Payloads are signed with HMAC-SHA256 over the request body; verify using the X-NG-Signature header.

Endpoints

Core analytics surfaces.

13 of 13
Description
GET/v0/analytics/legacyAnalyticsLegacy v0 analytics — sunset 2026-12210msdeprecated
GET/v1/analytics/constituencies/:idAnalyticsSentiment, top issues, infra indicators38msstable
GET/v1/analytics/contractorsAnalyticsContractor SLAs and site status by ULB71msstable
GET/v1/analytics/sentiment/boothsAnalyticsBooth-level sentiment heatmap96msbeta
GET/v1/analytics/trendsAnalyticsTime-series by state, district or AC54msstable
POST/v1/auth/keys/rotateAuthRotate the current API key47msstable
GET/v1/geo/constituencies/:stateGeoAssembly + Lok Sabha boundaries110msstable
GET/v1/geo/wards/:stateGeoMunicipal ward GeoJSON polygons124msstable
POST/v1/reportsReportsSubmit a geo-tagged citizen report88msstable
GET/v1/reports/:idReportsFetch report with evidence trail42msstable
POST/v1/reports/:id/verifyReportsVolunteer verification action61msbeta
POST/v1/webhooksWebhooksSubscribe to event topics33msstable
DELETE/v1/webhooks/:idWebhooksRevoke an existing subscription29msstable
Errors

Standard codes, predictable bodies.

MeaningAction
400bad_requestClientMalformed request bodyValidate payload against schema
401invalid_keyAuthMissing or invalid X-API-KEYCheck X-API-KEY header
401key_revokedAuthKey was rotated or revokedRe-issue from /workspace/keys
403scope_deniedAuthKey not entitled to scopeUpgrade tier or request scope
404not_foundClientResource does not existVerify identifier
409conflictClientIdempotency key reuseGenerate a new key
429rate_limitedLimitPer-minute quota exceededHonour Retry-After header
429burst_limitedLimitPer-second burst exceededAdd exponential backoff
502upstream_failureServerUpstream data source downBackoff x5 then alert
504timeoutServerEdge timeout (>5s)Retry with smaller window
Rate limits

By tier.

GovTechNegotiated—Streaming + hooksYesNegotiated
Journalist10,00020 / s——Free
Newsroom100,00050 / s5 topics—₹35k / mo
Campaign1,000,000200 / sUnlimitedYes₹2.4L / mo
Consultancy5,000,000500 / sUnlimitedYes₹6.0L / mo