For Agents
Submit a document for fraud analysis, fetch fraud, quality, and adaptive-decision results, and post feedback through the Resistant Documents OAuth-protected API.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Resistant Documents API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Resistant Documents API API.
Create a submission and receive a pre-signed upload URL via POST /v2/submission
Attach metadata to a submission via PUT /v2/submission/{submission_id}/characteristics
Fetch fraud analysis results with GET /v2/submission/{submission_id}/fraud
Retrieve quality and content scores for a submission
GET STARTED
Use for: I need to scan a document for fraud signals, Submit an identity document for analysis, Check whether a submitted document was tampered with, Retrieve the adaptive decision for a submission
Not supported: Does not handle biometric liveness, OCR field extraction, or sanctions screening — use for document fraud, quality, and adaptive-decision analysis only.
Jentic publishes the only available OpenAPI document for Resistant Documents API, keeping it validated and agent-ready.
The Resistant Documents API analyses uploaded documents for fraud, content integrity, and quality issues. A typical interaction has three stages: create a submission to obtain a pre-signed upload URL, PUT the document to that URL, then poll the analysis result endpoints (fraud, content, quality, decision, classification, report) using the submission_id. Authentication is OAuth 2.0, and Resistant.ai recommends polling with exponential backoff. The API supports identity-document and financial-document fraud detection workflows, KYC pipelines, and compliance review systems.
Get an adaptive decision verdict via GET /v2/submission/{submission_id}/decision
Submit feedback on analysis accuracy with PUT /v2/submission/{submission_id}/feedback
Patterns agents use Resistant Documents API API for, with concrete tasks.
★ Document Fraud Detection in KYC
Run uploaded identity documents through the three-step submission flow (create submission, upload via the pre-signed URL, poll /fraud) to flag forgeries, manipulations, and synthetic documents in a KYC pipeline. The API issues a stable submission_id you can store alongside the customer record. Polling with exponential backoff keeps load low while the analysis runs.
POST /v2/submission, PUT the document to the returned upload_url, then poll GET /v2/submission/{submission_id}/fraud until status is final and capture the fraud verdict.
Adaptive Decisioning
Use GET /v2/submission/{submission_id}/decision to retrieve a single adaptive verdict that combines fraud, quality, and content signals. This is the most direct path for systems that want one yes/no/review output rather than each component score, suitable for automated review queues.
GET /v2/submission/{submission_id}/decision after upload completes and route the document to auto-approve, manual-review, or reject based on the verdict.
Quality and Content Inspection
Fetch quality and content scores via GET /v2/submission/{submission_id}/quality and /content to assess whether a document is legible and contains the expected fields before it enters downstream OCR or extraction. Combined with /classification, an integration can route the right documents to the right processors.
After submission, call GET /v2/submission/{submission_id}/quality and /classification, and reject any document where quality is below threshold before invoking OCR.
AI Agent Compliance Review via Jentic
An AI agent uses Jentic to search for fraud-detection intents, load the Resistant Documents operations, and orchestrate the submit-upload-poll flow while Jentic manages the OAuth token. This lets compliance agents triage suspect documents without holding the client secret in their runtime context.
Search Jentic for 'check a document for fraud', execute the create-submission, upload, and fraud-poll sequence, and write the verdict to the case record.
11 endpoints — the resistant documents api analyses uploaded documents for fraud, content integrity, and quality issues.
METHOD
PATH
DESCRIPTION
/v2/submission
Create a submission and get an upload URL
/v2/submission/{submission_id}/fraud
Fetch fraud result
/v2/submission/{submission_id}/decision
Fetch adaptive decision
/v2/submission/{submission_id}/quality
Fetch quality result
/v2/submission/{submission_id}/classification
Fetch document classification
/v2/submission/{submission_id}/feedback
Add analysis feedback
/v2/submission
Create a submission and get an upload URL
/v2/submission/{submission_id}/fraud
Fetch fraud result
/v2/submission/{submission_id}/decision
Fetch adaptive decision
/v2/submission/{submission_id}/quality
Fetch quality result
/v2/submission/{submission_id}/classification
Fetch document classification
Three things that make agents converge on Jentic-routed access.
Credential isolation
Resistant Documents OAuth client credentials are stored encrypted in the Jentic vault. Tokens are exchanged at execution time and the Bearer header is injected for the agent, so /v2/submission and result endpoints never see the raw client secret.
Intent-based discovery
Agents search Jentic for intents like 'check a document for fraud' and receive the create-submission, upload, and result-poll operations as a discoverable sequence with their parameter schemas.
Time to first call
Direct integration: 3-5 days to wire OAuth, the pre-signed upload step, and polling with exponential backoff. Through Jentic: a few hours from search to a first end-to-end fraud verdict.
Alternatives and complements available in the Jentic catalogue.
Onfido
Identity verification including document and biometric checks
Choose Onfido when the workflow needs combined document and selfie biometric checks rather than document-only fraud analysis.
Veriff
End-to-end identity verification SaaS
Pick Veriff for a hosted identity verification flow that includes liveness and document review.
Affinda
Document data extraction and OCR
Use Affinda after Resistant.ai clears a document for fraud, to extract structured fields from the verified document.
Specific to using Resistant Documents API API through Jentic.
What authentication does the Resistant Documents API use?
OAuth 2.0. Clients exchange their credentials for an access token and pass it as a Bearer token on each call. Through Jentic, the OAuth client credentials are stored encrypted in the vault and tokens are minted at execution time so the agent never holds the client secret.
Can I detect manipulated identity documents with the Resistant Documents API?
Yes. Create a submission via POST /v2/submission, upload the document to the returned pre-signed URL with PUT, then poll GET /v2/submission/{submission_id}/fraud for the fraud verdict including manipulation, synthetic, and tampering signals.
What are the rate limits for the Resistant Documents API?
The spec does not declare explicit rate limits. Resistant.ai recommends polling result endpoints with exponential backoff to avoid overloading the analysis engine while a submission is processing.
How do I run a fraud check through the Resistant Documents API via Jentic?
Run pip install jentic and search for 'check a document for fraud'. Jentic returns the create-submission, upload, and fraud-poll operations. Execute them in order; Jentic handles the OAuth token exchange and injects the Bearer header automatically.
Can I get a single decision instead of separate scores?
Yes. GET /v2/submission/{submission_id}/decision returns an adaptive verdict that combines fraud, quality, and content signals into one output, useful when you want a single approve/review/reject answer.
How do I submit feedback on an analysis result?
PUT /v2/submission/{submission_id}/feedback writes feedback for the submission. GET on the same path retrieves previously submitted feedback. This helps tune the model when analyst review confirms or contradicts the verdict.
/v2/submission/{submission_id}/feedback
Add analysis feedback