Skip to main content
Beta

Pre-submission checks, as an API

Call reference verification, AI-writing detection, and source-quality checks from your own product or workflow. One request, and the result comes back in the response.

Read the API docs
cURL
curl -X POST https://api.nubint.ai/api/v1/preflight/check \
  -H "X-API-Key: $NUBINT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Full manuscript text...",
    "references": [
      "Spiegel, K., Leproult, R., & Van Cauter, E. (1999). Impact of sleep debt on metabolic and endocrine function. The Lancet, 354(9188), 1435-1439.",
      "Anderson, R. T., & Liu, M. (2023). Chronotype misalignment and cognitive load in higher education. Educational Neuroscience Quarterly, 11(4), 501-519."
    ]
  }'

Results you can put in front of users

These results go straight to researchers. So we chose an honest "we don't know" over confident mistakes.

We never call a reference fake

Books, statutes, and older journals are simply absent from paper indexes. What we can't find is marked "not in the index" and left for the user to check, not labeled as fabricated.

Failures never pass as clean

If the index or the detection model doesn't respond, that section comes back as failed. A failed lookup is never reported as "no issues".

Every verdict comes with evidence

Each verdict carries its basis (identifier match, title match, and so on) and the matched paper's metadata. Near misses come back as nearMissTitle, a clue for fixing a mistyped reference.

We're upfront about AI detection

Thresholds are set conservatively to avoid flagging human writing as AI. The trade-off is that many AI passages go uncaught, so a clean result does not mean a human wrote it.

Your first request in three steps

  1. 1

    Get an API key

    Create one in the Nubint app under Settings → API/MCP. The key is shown only once, so store it right away.

  2. 2

    Send a request

    Put the key in the X-API-Key header and send your reference list. The example on the right works as-is.

  3. 3

    Read the result

    Only items whose status isn't verified need a look. summary.needsReview tells you how many.

curl -X POST https://api.nubint.ai/api/v1/citations/verify \
  -H "X-API-Key: $NUBINT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "references": [
      "Spiegel, K., Leproult, R., & Van Cauter, E. (1999). Impact of sleep debt on metabolic and endocrine function. The Lancet, 354(9188), 1435-1439.",
      "Anderson, R. T., & Liu, M. (2023). Chronotype misalignment and cognitive load in higher education. Educational Neuroscience Quarterly, 11(4), 501-519."
    ]
  }'
Response
{
  "results": [
    {
      "text": "Spiegel, K., Leproult, R., & Van Cauter, E. (1999). ...",
      "status": "verified",
      "basis": "title_exact",
      "paper": {
        "canonicalId": "https://doi.org/10.1016/s0140-6736(99)01376-8",
        "csl": {
          "type": "article-journal",
          "title": "Impact of sleep debt on metabolic and endocrine function",
          "container-title": "The Lancet",
          "DOI": "10.1016/s0140-6736(99)01376-8"
        }
      },
      "csl": null,
      "matchedTitle": "Impact of sleep debt on metabolic and endocrine function",
      "nearMissTitle": null
    },
    {
      "text": "Anderson, R. T., & Liu, M. (2023). ...",
      "status": "off_index",
      "basis": "parsed",
      "paper": null,
      "csl": {
        "type": "article-journal",
        "title": "Chronotype misalignment and cognitive load in higher education",
        "container-title": "Educational Neuroscience Quarterly"
      },
      "matchedTitle": null,
      "nearMissTitle": null
    }
  ],
  "summary": {
    "total": 2,
    "verified": 1,
    "uncertain": 0,
    "offIndex": 1,
    "unparseable": 0,
    "needsReview": 1
  }
}

Want it in ChatGPT or Claude?

No code needed. Connect Nubint to ChatGPT or Claude and the same checks are available mid-chat with just a sign-in, no API key.

Connect via MCP

FAQ

Get a key and send your first request

The API and MCP server are in beta and available on the Pro and Max plans. One key works for both.

Read the API docs