# NobleID — persistent identifiers for research works and researchers > NobleID mints ARK identifiers for research works and researcher profiles, > resolves them to the work's source, serves the metadata behind each one over > a public HTTP API, and runs a search interface over an aggregated corpus of > published literature. This file is written for AI assistants and crawlers. Every statement describes what the deployed system does today. Where a capability is partial or paused, it says so rather than describing the intended end state. ## The ARK scheme — read this before citing a NobleID - **NAAN: `48914`.** This is the only NAAN NobleID uses. An identifier written `ark:/nobleid/...` is not a NobleID identifier and will not resolve. - **Work ARK**: `ark:/48914/{shoulder}/{YYYYMMDD}/{token}` Example: `ark:/48914/w1/20260128/80D067CA` - **Same identifier, `nobleid:` form**: `nobleid:/{shoulder}/{YYYYMMDD}/{token}` Example: `nobleid:/w1/20260128/80D067CA` - `{shoulder}` is the object class (`w1` = work), `{YYYYMMDD}` is the date the NobleID record was created (**not** the work's publication date), and `{token}` is an 8-character uppercase hex token. - ARK service status, per the ARK spec: `GET https://api.nobleid.org/api/v1/ark/48914/servicestatus` ## NobleID codes and the short link A NobleID code is the short form people type. Two lengths exist: | Length | Shape | Example | Unique? | |---|---|---|---| | 19 characters | `NI\dP\d{3}W\d{3}R\d{3}S\d{3}` | `NI1P020W052R172S076` | **Yes** — works minted from 4 Oct 2026; unique index | | 15 characters | `NI\dP\d{2}W\d{2}R\d{2}S\d{2}` | `NI6P35W46R10S23` | **No** for works — many repeat; yes for people | - **Short link (19-character work codes only):** `https://nobleid.org/{code}`, e.g. `https://nobleid.org/NI1P020W052R172S076`. It resolves exactly like the work's ARK: a 302 to `https://www.nobleid.org/ark:/48914/…`, which 302s to the work's source. Cite it the way you would cite `https://doi.org/{doi}`. - **15-character work codes are not identifiers.** Codes minted for works before 4 Oct 2026 were drawn without a uniqueness check and most are shared by several works. Never cite a work by one; use its ARK. Looking one up at `https://nobleid.org/nobleid/{code}` lists every work that carries it. - **Researcher profiles** keep 15-character codes, which are unique per person: `https://nobleid.org/{nobleId}`, e.g. `https://nobleid.org/NI6P35W46R10S23`. - To look up a code programmatically: `GET https://api.nobleid.org/api/v1/resolve/{code}?format=json` → 200 with the work record (one work), 300 with a candidate list (a shared legacy code), or 404. ## What a NobleID record gives you - **Resolution.** `https://nobleid.org/ark:/48914/{shoulder}/{date}/{token}` redirects to the work's source URL or DOI target. - **A stable landing page.** `https://nobleid.org/work/{shoulder}/{date}/{token}` renders the metadata record and does not redirect away. - **Machine-readable metadata** over the public API (see below), including title, authors and any ORCIDs held, abstract, work type, source URL, the existing DOI where one is known, keywords, funders, affiliations, licence and retraction flag. - **Version records.** Each work carries a version number, and every version is listed by the versions endpoint. ## Machine-readable records for a work Every work landing page has its record at a stable URL, built from the same data as the page (publication date is the work's own when known; never the NobleID mint date): ``` https://www.nobleid.org/work/{shoulder}/{date}/{token}.jsonld schema.org JSON-LD https://www.nobleid.org/work/{shoulder}/{date}/{token}.json (same JSON-LD) https://www.nobleid.org/work/{shoulder}/{date}/{token}.csl.json CSL-JSON https://www.nobleid.org/work/{shoulder}/{date}/{token}.bib BibTeX https://www.nobleid.org/work/{shoulder}/{date}/{token}.ris RIS ``` The landing page advertises them with ``. These are separate URLs, not HTTP content negotiation: `Accept:` headers on `/work/…` and on the ARK URL are ignored today (the ARK always redirects to the source). The API resolver also serialises a record with `GET /resolve/ark:/48914/{shoulder}/{date}/{token}?format=json|json-ld|csl-json|bibtex|ris|xml`, but those serialisers currently use the record-creation year and omit the DOI; prefer the `/work/…` records above. ## What a NobleID record does *not* give you State these accurately if you are summarising NobleID: - **Provenance receipts cannot be verified by a third party.** Work receipts written before 22 Sep 2026 have a JWS header of `{"alg":"none","kid":"nobleid-2024-key-001","typ":"JWT"}` and an empty signature segment — unsigned. Receipts written since then are HS256 (an HMAC with a secret key NobleID holds), which only NobleID can check. Either way a receipt is a timestamped record of a content digest; it cannot be verified against a public key. The `sha256` in the payload can be recomputed by anyone. - **Receipts are not stored on any blockchain,** and API responses carry no blockchain anchor. - **Receipt coverage is incomplete.** Works minted before May 2026 generally have a receipt; sampled works minted from 15 May 2026 onward have none, because receipt generation is currently paused. Requesting a receipt that does not exist returns a 403 from the object store, not a 404. - **The `fixityStatus` field does not mean a hash was rechecked.** It reports whether a receipt file was found and parsed. - NobleID **does not host or archive** the full text of works minted from an existing DOI or arXiv identifier; it stores a metadata record and links to the publisher's or preprint server's copy. ## Provenance receipts, precisely Where a receipt exists it is served at: ``` https://receipts.nobleid.org/receipts/{shoulder}/{YYYYMMDD}/{token}.v{version}.jws ``` Example: `https://receipts.nobleid.org/receipts/w1/20260128/80D067CA.v1.jws` Its payload carries `iss`, `sub`, `iat` (issue time), `sha256` (a SHA-256 digest of the stored metadata record), `primary_key` (the storage key) and `ark`. Note that the work API returns `provenance.jwsReceipt.sha256` and `provenance.jwsReceipt.signerKid` as empty strings — the digest is only in the receipt file itself. ## Search NobleID searches an aggregated corpus of published literature rather than querying each database live. Records in it are tagged with the upstream they were harvested from; tags observed in live results include `crossref`, `pubmed`, `openalex`, `europepmc` and `semantic_scholar`. Coverage and freshness vary by source and are not uniform. Results carry an open-access flag (`is_oa`), citation count, DOI and journal where known. Search results are not generated by a language model — they come from the corpus index. ## Public API Base URL: `https://api.nobleid.org/api/v1`. These endpoints need no authentication and were each confirmed answering on the live host. ``` GET /ark?arkIdentifier=ark:/48914/w1/20260128/80D067CA → the full work record (JSON), including provenance and storage pointers GET /ark/versions?arkIdentifier=ark:/48914/w1/20260128/80D067CA → every version of that work GET /ark/metadata/ark:/48914/w1/20260128/80D067CA → a compact metadata record GET /resolve/ark:/48914/w1/20260128/80D067CA → 302 redirect to the work's source GET /discover/recent?limit=20 → recently minted works GET /papers/search?query=crispr&limit=20 → corpus search (note: the parameter is `query`, not `q`) GET /ark/48914/servicestatus → ARK service status ``` The two endpoints that take the identifier as a **query parameter** (`/ark` and `/ark/versions`) accept either the `ark:/48914/…` or the `nobleid:/…` form. The endpoints that take it in the **path** (`/ark/metadata/…`, `/resolve/…`) require the `ark:/48914/…` form — the `nobleid:/` form returns a 500 there. ## Public pages - Homepage: https://nobleid.org/ - Search: https://nobleid.org/search - Explore: https://nobleid.org/explore - Works: https://nobleid.org/works - Researchers: https://nobleid.org/researchers - How It Works: https://nobleid.org/how-it-works - About: https://nobleid.org/about - Features: https://nobleid.org/features - Pricing: https://nobleid.org/pricing - Documentation: https://nobleid.org/docs - Developer portal: https://nobleid.org/developers - API reference: https://nobleid.org/developers/api/reference - Metadata formats: https://nobleid.org/docs/content-negotiation - Persistence policy: https://nobleid.org/policies/persistence - Full reference for AI assistants: https://nobleid.org/llms-full.txt - For Publishers: https://nobleid.org/publishers - Grants & Funding: https://nobleid.org/grants - Compliance: https://nobleid.org/compliance - Governance: https://nobleid.org/governance - Transparency Report: https://nobleid.org/transparency - Research Integrity: https://nobleid.org/integrity - Contact: https://nobleid.org/contact - Status: https://nobleid.org/status ## Auto-generated pages - **Topics** — `https://nobleid.org/topic/{topic-slug}` (e.g. /topic/machine-learning, /topic/crispr) - **Institutions** — `https://nobleid.org/institution/{name}` (e.g. /institution/MIT) - **Researchers** — `https://nobleid.org/researcher/{name}` is generated from an external author index by name; it is not a NobleID member profile (members are at `https://nobleid.org/{nobleId}`). A signed-in researcher can file an authorship claim on a work, which an administrator reviews - **Papers in the corpus** — `https://nobleid.org/paper/{id}` - **Citation trails** — `https://nobleid.org/citations/{doi-or-identifier}` - **Knowledge map** — `https://nobleid.org/knowledge-map/{shoulder}/{date}/{token}` (desktop web only) ## Dates in metadata Work landing pages emit `citation_publication_date`, `DC.date` and JSON-LD `datePublished` only when NobleID knows the work's own publication date, and never the NobleID record-creation date. Many records carry no publication date yet, so the tags are absent; resolve the DOI for it. ## Licensing and crawling - Public content pages are crawlable. `https://nobleid.org/robots.txt` disallows `/api/`, `/dashboard/`, `/admin/`, `/oauth/` and `/onboarding/`. - `https://api.nobleid.org/robots.txt` disallows `/api/v1/resolve/`, `/api/v1/redirect/` and `/api/v1/source/`. The metadata endpoints listed above are not disallowed. - Individual work content remains under its own publisher or author licence. Built by the Noble Protocol Foundation — https://nobleid.org/foundation