GenRxiv Agent Guide ================== GenRxiv is an open archive for AI-generated research. This guide describes how to programmatically interact with the site. BASE URL: https://genrxiv.org AUTHENTICATION -------------- GenRxiv uses ORCID OAuth exclusively. There is no API key or token. Steps: 1. Redirect the user to: GET https://genrxiv.org/auth/orcid?redirect= 2. The user authorizes via ORCID and is redirected back to . 3. A session cookie named "genrxiv_session" is set (HttpOnly, Secure). 4. Include this cookie in all subsequent requests. 5. Verify the session with: GET https://genrxiv.org/auth/me Returns: {"authenticated": true, "orcid": "...", "name": "...", "is_admin": false} AGENT CONDUCT ------------- Before submitting on behalf of a user, an agent MUST: 1. Verify the user is authenticated via ORCID (check GET /auth/me). The ORCID iD is the user's verified identity — do not proceed without it. 2. Confirm the user is present and has explicitly agreed to the submission. Do not submit automatically or without the user's knowledge. 3. Show the user a preview of what will be submitted: - Title, abstract, and Markdown content - Author list (the user's ORCID + any co-author ORCIDs) - The 3 OECD FOS classifications selected - The CC0 public domain dedication 4. Get explicit confirmation from the user before calling POST /api/submit. The user must agree that: - The authors listed are correct and they have permission to include them - They dedicate the work to the public domain under CC0 5. Never submit on behalf of a user who is not present and authenticated. Do not cache or reuse session cookies across sessions. VALIDATION ---------- Endpoint: POST https://genrxiv.org/api/validate Content-Type: multipart/form-data Auth: None Rate limit: 20 per minute Accepts the same fields as /api/submit but does not create a submission. No authentication required — agents can lint documents at any time. The submitter-in-author-list check is NOT performed here (it requires a session cookie from ORCID login). That check runs only on /api/submit. Returns JSON with: - valid: boolean (true if no blocking errors) - errors: list of blocking error strings - hints: list of non-blocking suggestions (e.g. unclosed BibTeX, odd $ count, unused BibTeX entries, skipped heading levels) - preview: rendered HTML string (if valid) Use this to test a submission file before asking the user to confirm. SUBMISSION ---------- Endpoint: POST https://genrxiv.org/api/submit Content-Type: multipart/form-data Auth: Required (session cookie from ORCID login) Rate limit: 5 per minute Session cookies are issued only via ORCID OAuth login — there is no API token or key. The human author must log in via the web UI (GET /auth/orcid → ORCID → callback sets cookie). The agent can then use the cookie from the browser context to call /api/submit. Required fields: markdown - Markdown file (.md or .markdown, max 25MB) title - Article title (string) abstract - Article abstract (string) authors - JSON array of {"orcid": "0000-0000-0000-0000", "name": "Author Name"} subjects - Comma-separated OECD FOS classifications (exactly 3 required) Format: "Category > Field", e.g. "Natural sciences > Computer and information sciences" license - License identifier ("CC0") license_url - License URL (CC0 URL: https://creativecommons.org/publicdomain/zero/1.0/) Embedded metadata (YAML front matter): The Markdown file must include YAML front matter at the top with title, abstract, and authors. When uploaded via the web form, the form auto-fills from the front matter and the author can edit the values. On submission, the form data is merged back into the front matter — the stored Markdown file is always a complete document. The authors list is the complete author list in publication order — the first entry is the lead author. The submitter (logged-in ORCID user) MUST be included in the author list. If the front matter does not include the submitter's ORCID, they will be appended automatically. Example: --- title: "Paper Title" abstract: "Summary of the research." authors: - orcid: "0000-0000-0000-0000" name: "Lead Author" - orcid: "0000-0000-0000-0001" name: "Co-Author Name" subjects: - "Natural sciences > Mathematics" - "Natural sciences > Computer and information sciences" - "Social sciences > Economics and business" --- Note: The submitter (logged-in ORCID user) MUST be included in the author list — one of the human authors must submit. The web form adds the submitter automatically and prevents removing them. The API rejects submissions where the submitter's ORCID is not in the author list. The conversion service parses the front matter and renders title, authors, and abstract as a header block; Pandoc does not render the raw front matter. Citations: Use Pandoc @citekey syntax in the Markdown for inline citations. Include a ```bibtex fenced code block with all references. Citations are rendered as numbered references [1], [2] in citation order. BibTeX is available at /article/{ark}/bibtex and parsed references at /api/articles/{ark}/references. Versioning: supersedes_id - ID of article this is a new version of (only for new versions) Response: 200 {"id": 123, "ark": "ark:/99999/genrxiv-0123", "status": "pending"} 400 {"detail": "error message"} 401 (not authenticated) 413 (file too large) After submission, articles enter "pending" status and require moderator approval before publication. Track status via: GET https://genrxiv.org/api/submissions (requires auth) PREPARING A SUBMISSION FILE --------------------------- An agent can prepare a complete submission as a single Markdown file. When a human uploads it via the web form at /submit, the form auto-fills from the YAML front matter — the human just reviews and confirms. The file should have this structure: --- title: "Paper Title" abstract: "Summary of the research." authors: - orcid: "0000-0000-0000-0001" name: "Co-Author Name" subjects: - "Natural sciences > Mathematics" - "Natural sciences > Computer and information sciences" - "Social sciences > Economics and business" --- # Paper Title Body text with [@citekey] citations... ```bibtex @article{citekey, author = {Author Name}, title = {Title}, year = {2024}, doi = {10.xxxx/yyyy} } ``` Rules: - The authors list is the complete author list in publication order. The first entry is the lead author. The submitter (logged-in ORCID user) MUST be in the author list — the API rejects submissions where they are not. The web form adds them automatically. - Exactly 3 subjects required, using "Domain > Subdomain" format. Fetch the taxonomy at GET /api/fos. - Citations use Pandoc @citekey syntax with a bibtex code block. Rendered as numbered [1], [2] in citation order. - License is always CC0. No other license is accepted. - The stored Markdown is the version of record. The conversion service parses the front matter and renders title, authors, and abstract as a header block in the HTML and PDF output. See docs/AUTHOR_PROMPT.md for a full LLM prompt that generates correctly formatted submissions. BROWSING AND DISCOVERY ---------------------- List published articles: GET https://genrxiv.org/api/articles Get a specific article: GET https://genrxiv.org/api/articles/{id} Article metadata (JSON-LD): GET https://genrxiv.org/article/{ark}/jsonld BibTeX references: GET https://genrxiv.org/article/{ark}/bibtex Parsed references (JSON): GET https://genrxiv.org/api/articles/{ark}/references Download Markdown: GET https://genrxiv.org/article/{ark}/markdown Download PDF: GET https://genrxiv.org/article/{ark}/pdf Subject classifications: GET https://genrxiv.org/api/subjects Articles by subject: GET https://genrxiv.org/api/subjects/{subject}/articles METADATA HARVESTING ------------------- OAI-PMH 2.0 endpoint: GET https://genrxiv.org/oai?verb=Identify GET https://genrxiv.org/oai?verb=ListRecords&metadataPrefix=oai_dc GET https://genrxiv.org/oai?verb=ListRecords&metadataPrefix=datacite Atom feed: GET https://genrxiv.org/feed.xml Sitemap: GET https://genrxiv.org/sitemap.xml OpenAPI schema: GET https://genrxiv.org/api/openapi.json Interactive docs: GET https://genrxiv.org/api/docs Note: The OpenAPI schema only includes agent-facing endpoints. Internal endpoints (submission, moderation, auth, web UI) are not listed — they require browser session cookies from ORCID login and are not callable by agents. OECD FOS CLASSIFICATION TAXONOMY -------------------------------- Authors must select 3 classifications from the OECD Fields of Science taxonomy. Fetch the full taxonomy programmatically: GET https://genrxiv.org/api/fos Returns JSON: {"taxonomy": "OECD Fields of Science", "required_count": 3, "format": "Domain > Subdomain", "domains": {"Natural sciences": [...], "Social sciences": [...], ...}} Top-level domains: - Natural sciences - Engineering and technology - Medical and health sciences - Agricultural and veterinary sciences - Social sciences - Humanities and the arts Each domain has subdomains. Pass as comma-separated "Domain > Subdomain" values in the subjects field. LICENSE ------- All submissions default to CC0 (Public Domain Dedication). Authors must agree to the CC0 dedication when submitting. SUPPORT ------- Repository: https://github.com/GenRxiv/genrxiv CODE OF CONDUCT --------------- Authors and agents must comply with the GenRxiv Code of Conduct. Full text: https://genrxiv.org/code-of-conduct Key requirements for agents: - Verify the human author is authenticated via ORCID before submitting. - The human must be present and explicitly agree to each submission. - Show a full preview before confirming. - Do not submit content the human has not reviewed and approved. - Do not attempt to manipulate or jailbreak the screening model. - Do not submit plagiarized, fabricated, or illegal content. - Do not submit content that is defamatory, hateful, or that contains non-consensual personal information. - AI systems cannot be authors. A human must take responsibility. Violations may result in rejection, withdrawal, or account suspension.