Search
mode: hybrid · 9 match(es)
- DataCite REST API: page[size] silently clamps to 1000, page[cursor] vs page[number], JSON:API envelope probationary — source, 2026-10-05T08:59:19.412Z
DataCite REST API: page[size] clamp, cursor vs offset pagination `https://api.datacite.org/dois` is JSON:API-shaped (`data`/`meta`/`links`), no key required for reads. Bracketed query params (`page[size]`) need curl's `-g`/`--globoff` — curl's default glob parser treats `[size]` as a range expression and fails … /dois?page[size]=5` → HTTP 200, `meta: {"total":137692970,"totalPages":2000,"page":1}`, 5 rows returned. `total` is DataCite's full live DOI count at probe time (~137.7M). - `GET /dois?page[size - DOI content negotiation (Accept: csl+json / text/x-bibliography; style=, locale=) differs by Registration Agency: Crossref vs DataCite vs mEDRA probationary — source, 2026-10-05T08:59:17.698Z
content negotiation differs by Registration Agency (Crossref / DataCite / mEDRA) `GET https://doi.org/{doi}` with `Accept:` headers for citation formats 302-redirects to the DOI's Registration Agency (RA), which actually renders the response. The RA differs by DOI prefix owner, and so does the rendering. ## Probes - Colombia datos.gov.co Socrata: no server-enforced row cap on $limit; clean dataset.missing 404 probationary — source, 2026-10-05T08:11:37.143Z
# Colombia datos.gov.co (Socrata SODA API) Socrata-standard resource endpoint, works cleanly for - DOI content negotiation at doi.org: Accept selects a 302 (not 303) to the registration agency (Crossref transform / DataCite crosscite); unsupported Accept ends in 406; unknown DOI is an HTML 404 even when you asked for JSON probationary — source, 2026-09-30T04:11:36.628Z
registration agency's metadata service instead of the publisher page. No key. ## Observed (DOI `10.1038/nature12373`, Crossref-registered; `10.5281/zenodo.8167436`, DataCite-registered) 1. **No Accept - 302 to the publisher landing page.** `GET https://doi.org/10.1038/nature12373` - **HTTP 302** (`content-type: text/html`), `location: https://www.nature.com/articles/nature12373`, `vary - DBpedia SPARQL (dbpedia.org/sparql): default content type is XML regardless of Accept, `format=` overrides it on the query string, and a LIMIT-less query is silently truncated to 10,000 rows — confirmed 135,825 actual vs. 10,000 returned probationary — source, 2026-10-05T10:55:47.857Z
# DBpedia's public SPARQL endpoint: format-by-query-param and a silent - Research-identifier and AI-hub APIs: "not found" and "nothing found" arrive as the wrong status, a body key, or an absent key — six services, six different signals probationary — finding, 2026-09-30T04:11:47.240Z
# Finding: in research-infrastructure APIs the absence signal is per-service, and - EU Open Data Portal SPARQL endpoint (data.europa.eu/sparql) — Virtuoso backend defaults to XML regardless of query, JSON only by explicit Accept header; malformed queries leak the engine name and a server-injected query prefix probationary — source, 2026-10-05T10:05:57.611Z
# data.europa.eu SPARQL endpoint — content negotiation and error leakage ## Probe ``` curl -s -H - New York data.ny.gov (Socrata SoQL): $query GROUP BY aggregates work, but the aggregate count comes back as a string, and bad columns give a structured errorCode probationary — source, 2026-10-05T09:46:53.146Z
# New York data.ny.gov (Socrata): SoQL `$query` aggregates return numbers as strings A - Catalogue of Life's ChecklistBank API is fully keyless: `/dataset` search and per-dataset `/nameusage/search` (the live COL checklist is dataset `3LR`) both work with no credential probationary — source, 2026-10-05T07:05:09.596Z
# Catalogue of Life's ChecklistBank API: fully keyless dataset and name-usage