JSON API · Datatype

Letters

Pro-life organizational letters scored against the abolitionist standard (type: "letter"), the organizations that signed them (type: "letter-organization"), and the people who signed (type: "letter-person"). 55 letters, 482 organizations, 525 people, 1299 signature rows. One file per record, no tiers.

A record, end to end

One real published record of each type, abridged. Every field is documented below.

letters/<id>.json
{
  "schema": "abhortion.org/letter.v1/v1",
  "id": "pl-2002-001",
  "dataset_id": "PL-2002-001",
  "type": "letter",
  "no": 1,
  "title": "Letter to President George W. Bush urging a comprehensive ban on human cloning",
  "date": "2002-01-14",
  "date_label": "January 14, 2002",
  "letter_type": "coalition_letter",
  "letter_type_label": "Coalition letter",
  "lead_org": "Coalition of 25+ pro-life leaders and academics",
  "recipient": "President George W. Bush",
  "topic": "Human cloning / embryo research",
  "shortfall_type": "incrementalist_by_implication",
  "shortfall_type_label": "Incrementalist by implication",
  "scores": {
    "D1": 0,
    "D2": 0,
    "D3": 1,
    "D4": 0,
    "D5": 0,
    "D6": 2
  },
  "composite": 3,
  "composite_max": 12,
  "rationale": {
    "D3": "Seeks regulation/defunding/enforcement rather than abolition; takes no position on equal protec…",
    "D6": "Argued on fiscal, legal, medical or political grounds rather than Scripture/Gospel."
  },
  "key_language": "urged a comprehensive ban on all human cloning",
  "verification": "secondary",
  "verification_label": "Secondary coverage only",
  "completeness": {
    "status": "incomplete_letter_not_recovered",
    "status_label": "Signature block not recovered",
    "signers_reported": "25+",
    "signature_rows": 0
  },
  "sources": {
    "primary": {
      "name": "lifesitenews.com/news/major-pro-life…",
      "href": "https://www.lifesitenews.com/news/major-pro-life-campaigns-launched-in-us/"
    },
    "secondary": [
      {
        "name": "lifesitenews.com/news/lifesite-daily…",
        "href": "https://www.lifesitenews.com/news/lifesite-daily-news-for-monday-january-14-2002/"
      }
    ]
  },
  "notes": "Signature block not recovered; Washington Times original. No signature rows.",
  "links": {
    "html": "https://www.abhortion.org/letters/pl-2002-001.html",
    "markdown": "https://www.abhortion.org/letters/pl-2002-001.md",
    "json": "https://www.abhortion.org/letters/pl-2002-001.json"
  }
}

The scorecard (scores, composite, rationale), the signature rows as printed, and references to every organization and person on the letter.

Lines in this colour are elisions made for this page, not part of the format.

Conventions

MinifiedJSON is emitted minified (single line). Pretty-print it locally if you need to read it.
Single fileNo summary/full/verbose tiers — one file per letter, organization, or person holds everything.
Three record types, one networkLetters, organizations, and people reference each other through compact reference objects (id, dataset_id, a few identifying fields, and links). Follow links.json to fetch the full record.
Distance, not verdictThe rubric records distance from the standard published by Abolitionists Rising, not a moral verdict; every organization scored here regards itself as pro-life. Scores are judgment calls applied consistently by the published rubric.
As printed vs. normalizedEvery *_as_printed field is a verbatim transcription; the organization / person references beside it are the normalization layer. Keep them apart if you need the political arm and the c3 separate.
Heuristic fieldsorg_type, state, and parent are heuristics for filtering, not authoritative registrations.
Absent = not applicableEmpty values (null, "", [], {}) are omitted. A missing key means "not present / not applicable" — an unscored letter simply has no composite.
Absolute cross-linksThe links block uses absolute https://www.abhortion.org URLs.

Files

  • Letters index: https://www.abhortion.org/letters.json — also carries a dataset block: title, generated date, the rubric text, shortfall types, verification levels, scope notes, and the standard's source URLs.
  • Per letter: /letters/<id>.json
  • Organizations index: https://www.abhortion.org/letters/organizations.json
  • Per organization: /letters/orgs/<id>.json
  • People index: https://www.abhortion.org/letters/people.json
  • Per person: /letters/people/<id>.json
Index items carry the identifying fields of each record type (letters: id, dataset_id, no, title, date, letter_type, lead_org, recipient, topic, shortfall_type, composite, verification, signature_rows; organizations: name, aliases, type, state, parent, counts; people: name, variants, primary organization, counts) and links.

The rubric

Six dimensions, each scored 0 (none), 1 (implied) or 2 (explicit); composite is their sum, maximum 12. D2 and D4 are the fault line the abolitionist critique cares most about.

KeyDimension012
D1ExceptionsNoneImplied — backs a bill known to contain themExplicitly supports rape, incest or health exceptions
D2Immunity for the mother (fault line)NoneImpliedExplicitly opposes prosecuting or criminalizing women
D3IncrementalismNoneBy implication — a funding, drug, research, Hyde or Title X letter that takes no abolition positionExplicitly endorses a regulatory or gestational bill instead of abolition
D4Opposition to abolition or equal-protection bills (fault line)NoneImplied, or support withheldExplicitly opposes or lobbies against one
D5FramingNoneImpliedExplicit leave-it-to-the-states, court-viability or electoral-pragmatism framing
D6Secular framingExplicitly Gospel-centred or biblicalMixed — mentions prayer or faith, or mixed religious signersWholly secular, legal, fiscal, medical or political argument

Letter record fields

FieldTypeDescription
schemastringAlways abhortion.org/letter.v1/v1.
idstringURL stem, the dataset id lower-cased (e.g. pl-2022-001).
dataset_idstringThe id as authored in the dataset (PL-YYYY-NNN).
typestringAlways letter.
nointegerChronological number, 1 = oldest.
titlestringTitle of the letter or statement.
datestringAs known: YYYY-MM-DD, YYYY-MM, YYYY, or a YYYY-YYYY range for a standing position.
date_labelstringThe date rendered at its known precision.
letter_typestringKind of document.
coalition_letter
Coalition letter
coalition_statement
Coalition statement
single_org_statement
Single-organization statement
single_org_letter
Single-organization letter
model_legislation
Model legislation
religious_body_statement
Religious-body statement
letter_type_labelstringHuman label for letter_type.
lead_orgstringLead organization as recorded (free text; may be descriptive, e.g. "Pro-life coalition").
lead_organizationobjectPresent when lead_org resolves to a dataset organization. A compact reference: id (URL stem), dataset_id, name, org_type, state, and links.
recipientstringAddressee.
topicstringSubject of the document.
shortfall_typestringHow the document falls short of the abolitionist standard (or why it is a control).
explicit_opposition_to_tenet
Takes a position directly contrary to an Abolitionists Rising tenet (exceptions, mother-immunity, opposing an abolition bill).
incrementalist_endorsement_explicit
Explicitly endorses a regulatory/gestational bill or exceptions as policy.
incrementalist_by_implication
Coalition letter on funding, drugs, research or related policy that takes no abolition position; scored D3=1.
exceeds_standard_contrast
Record that meets or exceeds the standard on the dimension at issue; kept for contrast, scores null or low.
out_of_scope_international
Non-US coalition; kept for signatory network only, not scored.
shortfall_type_labelstringHuman label for shortfall_type.
scoresobjectRubric scores D1D6: exceptions, immunity for the mother, incrementalism, opposition to abolition or equal-protection bills, framing, secular framing. Each 0–2.
0
None.
1
Implied.
2
Explicit.
compositeintegerSum of D1–D6. Absent for unscored records (contrast and international).
composite_maxintegerAlways 12 when composite is present.
rationaleobjectOne line per non-zero dimension, keyed D1D6: the editor's reason for that score.
key_languagestringA short quotation (under 20 words) that carries the position.
verificationstringHow the text was obtained.
primary
Letter/statement text read from the organization’s own document.
primary_archive
Text preserved by a third party (e.g., Free the States repost, archive.org).
primary_repost
Full text reposted by another outlet with signature block intact.
secondary
Only press coverage located.
verification_labelstringHuman label for verification.
completenessobjectstatus (see below), status_label, signers_reported (the letter's own count, when stated), signature_rows, source_file.
complete_from_letter_text
Full signature block transcribed from the letter itself.
incomplete_letter_not_recovered
A letter record exists but the signature block was not located; no signature rows.
n/a_single_org_or_statement
A single-organization record; the spokesperson row is illustrative, not a signature block.
signaturesarrayOne entry per signature row, in printed order: row (global row number in the dataset), name_as_printed, title_as_printed, org_as_printed, and resolved organization / person references when normalization matched them. Organization-only lines have no person; people signing in their own name have no organization.
organizationsarrayDistinct organizations on the letter after normalization. A compact reference: id (URL stem), dataset_id, name, org_type, state, and links.
peoplearrayDistinct named individuals on the letter. A compact reference: id (URL stem), dataset_id, name, and links.
sourcesobjectprimary — one { name, href }; secondary — an array of { name, href }.
legacy_idsarrayIds used in the earlier research report (e.g. L01).
notesstringEditorial notes on sourcing and transcription.
linksobjectAbsolute URLs: html, markdown, json.

Organization record fields

FieldTypeDescription
schemastringAlways abhortion.org/letter-organization.v1/v1.
idstringURL stem, the dataset id lower-cased (e.g. o001).
dataset_idstringThe id as authored (ONNN).
typestringAlways letter-organization.
nointegerPosition in the index (most letters signed first).
namestringCanonical name after normalization of renamed and affiliated entities.
aliasesarrayEvery other spelling encountered.
names_as_printedarrayEvery org_as_printed value on this organization's signature rows.
org_typestringHeuristic classification.
right_to_life_group
Right-to-life group. Heuristic, for filtering.
family_policy_council
Family policy council. Heuristic, for filtering.
religious_body
Religious body. Heuristic, for filtering.
legal
Legal. Heuristic, for filtering.
medical
Medical. Heuristic, for filtering.
political_party_or_office
Political party or office. Heuristic, for filtering.
academic
Academic. Heuristic, for filtering.
media
Media. Heuristic, for filtering.
advocacy_or_other
Advocacy or other. Heuristic, for filtering.
org_type_labelstringHuman label for org_type.
statestringTwo-letter US state, inferred from the name; absent for national bodies.
is_usbooleanWhether the organization is US-based.
parentobjectPresent for state Right-to-Life / Citizens-for-Life bodies linked to NRLC by naming pattern. A compact reference: id (URL stem), dataset_id, name, org_type, state, and links. Plus inferred — true when the link is a naming heuristic, not a verified affiliation.
affiliatesarrayOrganizations whose parent is this one; same shape as parent.
letter_countintegerDistinct letters signed.
signer_countintegerDistinct named individuals who signed for this organization.
active_yearsarrayYears of the letters signed, ascending.
profileobjectDerived from the letters signed, not a rating of the organization: scored_letters, mean_composite, composite_max, fault_line_letters (letters scoring D2 ≥ 1 or D4 ≥ 1), by_shortfall_type (counts keyed by shortfall type).
lettersarrayLetters signed, oldest first. Each: A compact reference: id (URL stem), dataset_id, title, date, letter_type, shortfall_type, composite, and links. Plus signed_as — the signature rows on that letter for this organization (row, name_as_printed, title_as_printed, org_as_printed, person).
peoplearrayNamed signers. A compact reference: id (URL stem), dataset_id, name, and links. Plus titles_as_printed and letter_count.
linksobjectAbsolute URLs: html, markdown, json.

Person record fields

FieldTypeDescription
schemastringAlways abhortion.org/letter-person.v1/v1.
idstringURL stem, the dataset id lower-cased (e.g. i0001).
dataset_idstringThe id as authored (INNNN).
typestringAlways letter-person.
nointegerPosition in the index (most letters signed first).
namestringCanonical name: honorifics and credentials stripped, known variants merged.
name_variantsarrayOther forms of the name encountered.
primary_organizationobjectThe organization most associated with this person. A compact reference: id (URL stem), dataset_id, name, org_type, state, and links.
signed_in_own_namebooleanTrue when at least one signature row carries no organization.
letter_countintegerDistinct letters signed.
org_countintegerDistinct organizations signed for.
active_yearsarrayYears of the letters signed, ascending.
titles_as_printedarrayEvery distinct title_as_printed across the person's rows.
signaturesarrayOne entry per signature row, oldest letter first: row, name_as_printed, title_as_printed, org_as_printed, organization (reference, when matched), and letter (reference). A person can appear twice on one letter when they signed for two organizations.
organizationsarrayOrganizations signed for. A compact reference: id (URL stem), dataset_id, name, org_type, state, and links. Plus letter_count for that organization.
linksobjectAbsolute URLs: html, markdown, json.