A read-first REST API for page records and contributor profiles, plus endpoints for publishers to open requests on their own verified sites.
api.citepep.comMost integrations need only the first step. Reading a page record is open to everyone.
curl "https://api.citepep.com/v1/pages/record?url=\ https://publisher.example/overthinking-and-rumination"
Public records are open to read. Publisher actions need an API key from your dashboard, sent as a bearer token. Keys are scoped to your verified domains.
curl https://api.citepep.com/v1/requests \ -H "Authorization: Bearer $CITEPEP_KEY"
/v1/pages/record?url={url}Returns the public contribution history for a page: every accepted contribution, its role, contributor and date.
urlstring · requiredFull URL of the page.{
"url": "https://publisher.example/overthinking-and-rumination",
"status": "verified",
"contributions": [
{ "role": "author", "name": "Contributor A",
"accepted": "2024-03-03" },
{ "role": "correction", "name": "Contributor B",
"accepted": "2026-07-12",
"change": { "from": "the published rate", "to": "the current rate" } }
]
}/v1/panels/{id}Returns the current version of an expert panel statement: the answer, certainty, vote, named panellists, revisit date and what would reopen it early. Open access.
?version=1Read an earlier version. Replaced versions stay available.GET /v1/panels?topic=List statements for a topic, newest first.panel.updatedWebhook sent when a new version is issued, including the fields that changed.{
"id": "reef-shading-2026",
"question": "Should publishers shade nurseries during the October heat alert?",
"version": 1,
"status": "issued",
"answer": "Yes, for nurseries shallower than 3 m",
"certainty": "low-moderate",
"vote": { "agree": 6, "dissent": 1 },
"panel": [{ "name": "Reviewer", "role": "chair", "vote": "agree" }, …],
"issued_at": "2026-09-26T08:00:00Z",
"revisit_by": "2026-10-26",
"reopen_triggers": ["new_study", "source_corrected", "alert_extended"]
}/v1/contributors/{id}Returns a contributor’s public profile: scores, topic authority and accepted work. Private fields stay private.
idstring · requiredContributor ID or profile slug.{
"id": "mc-sariyer",
"name": "Contributor B",
"contribution_score": 171,
"trust_score": 0.96,
"topics": [{ "topic": "baseline-rise", "authority": 84 }]
}/v1/requestsOpens a review or correction request for a page you have verified.
urlstring · requiredA page on a verified domain.typestring · requiredreview, edit, correction or source.topicstringUsed to match specialists.{
"id": "req_8f21",
"status": "open",
"url": "https://yoursite.com/guide",
"type": "review"
}Register an HTTPS endpoint in your dashboard to be told when something changes on your pages. Each delivery is signed so you can check it came from CitePep.
contribution.submittedSomeone proposes work on your pagecontribution.acceptedYou or a teammate accept itcontribution.withdrawnThe contributor withdraws itrequest.takenA specialist takes your open requestFailed deliveries are retried for 24 hours with increasing delays. Verify the CitePep-Signature header with your endpoint secret.
{
"event": "contribution.submitted",
"created": "2026-09-21T10:14:02Z",
"page": "https://publisher.example/regional-ice",
"contribution": {
"id": "ctb_41c9",
"type": "correction",
"contributor": "elena-marsh"
}
}Add one script tag to show the verified contribution history on any page of a verified site. It updates automatically as new work is accepted.
<script src="https://citepep.com/embed.js" data-page="auto" async></script>
data-pageauto, or a full URLautodata-stylefull, compact, badgefulldata-langen, de, fr, es…page languageThe block shows only accepted work and keeps readers private.
Errors return a JSON body with a machine-readable code and a sentence you can show a person.
400A parameter is missing or invalid401Missing or invalid key403The page is not on one of your verified sites404No record for that URL yet429Too many requests: wait and retryNo key60 requests per minute per IPWith a key600 requests per minuteEmbedCached; unlimited for readers{
"error": {
"code": "page_not_verified",
"message": "whennotesfly.com is not a verified site on this account."
}
}The version is in the path. Within /v1 we only add fields, so existing ones stay stable. Breaking changes get a new version and at least 12 months’ notice.
1 Sep 2026Added contribution.withdrawn webhook9 Aug 2026Added change.from / change.to to corrections1 Mar 2026v1 releasedEndpoints and fields are illustrative for this design.