Docs / Help

Troubleshooting

Find your symptom. Each entry gives the cause and the fix, from the smallest problem to the biggest.

Work down your symptom's section. If nothing here fits, post in the community with the request_id or fact_check_id from the response.

Quick checklist (do this first)

  1. Is the key copied exactly, with no space or line break at the end?
  2. Is the header Authorization: Bearer pij_live_... (with the word Bearer)?
  3. Is the body valid JSON, and is Content-Type application/json?
  4. Is text a string between 1 and 8,000 characters?
  5. Are you using async: true?
  6. Have you used your 100 free checks this month?

Signing in

SymptomCauseFix
Code never arrivesMistyped email, mail filter, or the code expired.Check spam. Wait a minute and request a new code. Codes last 10 minutes.
Code is rejectedOld code, or you requested a newer one.Only the latest code works. Request another and use it straight away.
"Please use your organisation email"You used Gmail, Yahoo, Outlook or similar.Use your work address. Workspaces belong to organisations.
"Ask your workspace owner"Your organisation already has a workspace and you are not in it.Ask the owner to add you on the Team tab.
"Could not prepare a sign-in code"A server setting is wrong (our side or a self-hosted copy).Try again in a minute. If it persists, tell us in the community.
Dashboard shows the sign-in page againYour session ended or browser storage is blocked.Sign in again. Allow site data for this site, and avoid private windows.

Keys

SymptomCauseFix
401 invalid_api_keyWrong key, extra space, missing Bearer, or revoked.Re-copy the key. If unsure, create a new one and revoke the old.
It worked yesterday, 401 todaySomeone revoked the key.Check the Activity tab for key events. Create a new key.
I lost my keyKeys are shown once.Create a new key and revoke the lost one.
I pasted a key in publicAnyone may use it.Revoke it now. Then create a new one.
No API keys tabOnly owners and admins see keys.Ask an owner or admin.

Requests

SymptomCauseFix
400 bad_textEmpty, missing or too long.Send 1 to 8,000 characters. Split long articles by section.
400 bad_jsonBroken JSON.Check quotes and commas. In shells, wrap the body in single quotes.
Browser shows a CORS errorYou called the API from a web page.Call it from your server instead. See Connect a website.
Text with special characters failsWrong encoding or unescaped quotes.Send UTF-8. Let a JSON library build the body instead of joining strings by hand.
Windows command cuts the textCommand line length limit.Read the text from a file in a script.
402 free_limit_reached100 free checks used.Wait for the 1st of the month. Billing will allow more.

Slow or timed-out checks

SymptomCauseFix
Timeout or 524 after about 100 secondsA synchronous check takes longer than the network allows.Use async: true and poll /v1/job/{id}.
Job stays running a long timeLong text, many claims, or a busy period.Keep polling every 10 to 15 seconds for up to 15 minutes.
Job is failedThe check did not finish.Send it again. It is not counted.
404 no_such_jobWrong ID, or another account's job.Use the exact ID from your own key's request.
502 check_failedThe check did not complete.Retry with 5, 15, then 45 seconds between tries. Shorten the text.

Answers that look wrong or incomplete

SymptomCauseFix
text and disclosure are empty, and formatter_warnings mentions the formatterThe write-up step did not run (a temporary service problem).The verdict is valid but there is no write-up. Send the check again. Never publish without the disclosure.
No verdict, status is not_yet_confirmedThe claim was held for your editor.Open Review queue in the dashboard and decide.
Verdict is unverifiableReal evidence was searched and none was found.This is a finding. Add more specific details to the claim (who, where, when) and check again.
The claim was split into severalYour text held more than one claim.Expected. Each claim gets its own verdict.
Confidence is lowThin or conflicting evidence.Expect it to be held. Add specifics, or have an editor decide.
previously_checked: trueThe same claim was checked before.Expected. It was still re-checked with fresh evidence.
Answer is in the wrong languageNo language sent and the default is not what you want.Send language or change the default under House style.
Wording in Hausa, Igbo, Yoruba or Pidgin reads oddlyAI-drafted wording is still being reviewed by native speakers.Post the phrase in the community so we can fix it.

House style

SymptomCauseFix
Style is not appliedSaved after the check started, or sent without a key from your workspace.Run a new check. Style applies from the next check.
Style applied on the dashboard but not by APIDifferent key or different workspace.Create keys in the workspace where you set the style.
Style rule ignoredIt conflicts with a fact, or is too vague.Make it short and concrete. Facts always win over style.
Someone changed itAdmins can edit.Check Activity for the change and the person.

Team and roles

SymptomCauseFix
Cannot add a colleagueTheir email is not at your domain, or is personal.Use their organisation address.
Person says they cannot joinThey are not added yet, or they used another email.Add exactly the address they sign in with.
Cannot see Review queueMembers cannot review.Ask an admin to make you an editor.
Owner left the companyNo owner to manage.Ask us in the community. We will confirm and help move ownership.

When it is on our side

If many things fail at once, or /v1/health says the gateway is unreachable, the problem is probably ours. Wait a few minutes, then post in the community. Include the time, the status code and the request_id.

curl https://api.chatniai.com/v1/health

What to include when you ask for help

CarefulNever paste your API key into the community, an email or a screenshot.