For Agents
Train custom form models, analyse forms, layouts, and receipts asynchronously, and retrieve the structured extraction results.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Form Recognizer Client, 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 Form Recognizer Client API.
Train a custom Form Recognizer model from labelled forms in a SAS-accessible blob folder
List and delete custom Form Recognizer models
Analyse a form with a custom model and poll for the structured key-value result
Analyse the layout (text, tables, selection marks) of an arbitrary document
GET STARTED
Use for: Train a custom Form Recognizer model from blob folder https://.../forms/, Analyse the invoice at https://.../inv-123.pdf with custom model abc-123, Get the layout of contract.pdf including tables and selection marks, Extract merchant name and total from the receipt at https://.../receipt.jpg
Not supported: Does not transcribe speech, classify or describe arbitrary images, translate text, or run general-purpose OCR — use only to train and run Form Recognizer custom models, layout analysis, and the prebuilt receipt model.
Jentic publishes the only available OpenAPI document for Form Recognizer Client, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for the Azure Cognitive Services Form Recognizer client (v2.0 preview), keeping it validated and agent-ready. The API extracts structured key-value pairs and tables from forms, layouts, and prebuilt receipts. It supports training custom models on your own labelled forms, listing and deleting those models, analysing forms with a custom model, analysing the layout of any document, and analysing receipts with the prebuilt receipt model. Analysis calls are asynchronous and return a result id you poll until the operation completes.
Extract receipt fields (merchant, total, line items) with the prebuilt receipt model
Retrieve the structured analysis result for any submitted form, layout, or receipt operation
Patterns agents use Form Recognizer Client API for, with concrete tasks.
★ Extract Structured Data from Custom Forms
Operations teams need to convert recurring vendor forms into structured data without writing per-template parsers. Train a custom model with POST /custom/models pointing at a folder of labelled examples, then call POST /custom/models/{modelId}/analyze on each new form. The service returns a result id; GET /custom/models/{modelId}/analyzeResults/{resultId} delivers the extracted key-value pairs once the run finishes.
Train a custom model from blob folder https://contoso.blob.core.windows.net/forms/, then analyse the form at https://contoso.blob.core.windows.net/inbox/inv-2025-01.pdf and return the extracted key-value pairs
Analyse Document Layout for Downstream Pipelines
Document automation pipelines first run layout analysis to capture text, tables, and selection marks before applying domain-specific extraction. POST /layout/analyze submits the document and returns a result id; GET /layout/analyzeResults/{resultId} returns the structured layout once analysis completes, ready to feed the next stage of the pipeline.
Submit contract.pdf to layout analyse, poll the result until succeeded, and return the table cells found on page 2
Receipt Extraction for Expense Workflows
Expense and accounts-payable workflows ingest scanned receipts and need merchant, date, total, tax, and line items. POST /prebuilt/receipt/analyze runs the prebuilt receipt model and returns a result id; GET /prebuilt/receipt/analyzeResults/{resultId} returns the structured fields once analysis completes, ready to be posted to an expense or accounting system.
Analyse the receipt at https://contoso.blob.core.windows.net/receipts/r-001.jpg with the prebuilt receipt model and return merchantName, total, and line items
Agent-Driven Document Pipelines
An AI agent processing inbound documents can train a custom model, route incoming files to the right analyser, and return structured fields to an accounting or CRM workflow through Jentic. Intent search returns the train, analyse, and result endpoints with their schemas; the Ocp-Apim-Subscription-Key is held in the Jentic vault so the agent only ever holds a short-lived scoped token at call time.
Search Jentic for 'analyse a form with Form Recognizer', execute AnalyzeWithCustomModel for the new file, then call GetAnalyzeFormResult on the returned result id until status is succeeded
10 endpoints — jentic publishes the only available openapi specification for the azure cognitive services form recognizer client (v2.
METHOD
PATH
DESCRIPTION
/custom/models
Train a custom Form Recognizer model
/custom/models
List custom models
/custom/models/{modelId}/analyze
Analyse a form with a custom model
/custom/models/{modelId}/analyzeResults/{resultId}
Get analyse form result
/layout/analyze
Analyse the layout of a document
/layout/analyzeResults/{resultId}
Get analyse layout result
/prebuilt/receipt/analyze
Analyse a receipt with the prebuilt model
/prebuilt/receipt/analyzeResults/{resultId}
Get analyse receipt result
/custom/models
Train a custom Form Recognizer model
/custom/models
List custom models
/custom/models/{modelId}/analyze
Analyse a form with a custom model
/custom/models/{modelId}/analyzeResults/{resultId}
Get analyse form result
/layout/analyze
Analyse the layout of a document
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Ocp-Apim-Subscription-Key for the Cognitive Services resource is stored encrypted in the Jentic vault (MAXsystem). Agents receive a scoped invocation token; the raw subscription key never enters the agent context.
Intent-based discovery
Agents search by intent (e.g., 'analyse a form with Form Recognizer') and Jentic returns AnalyzeWithCustomModel, AnalyzeLayoutAsync, or AnalyzeReceiptAsync with their schemas, so the agent does not have to learn the v2.0 path layout.
Time to first call
Direct Form Recognizer integration: 1-2 days for resource provisioning, key handling, async polling, and result parsing. Through Jentic: under 1 hour — search, load schema, execute, poll the result id.
Alternatives and complements available in the Jentic catalogue.
Amazon Textract
AWS document analysis service that extracts text, tables, and forms data from documents.
Choose Textract for AWS-native pipelines. Stay with Form Recognizer when running inside Azure or using prebuilt receipt models.
Google Cloud Document AI
Google Cloud document understanding service with prebuilt and custom processors.
Choose Document AI for GCP workloads. Stay with Form Recognizer when the rest of your stack runs on Azure Cognitive Services.
Azure Cognitive Services Management
Provisions and configures the Cognitive Services resource that hosts Form Recognizer.
Use the management client to create the resource and rotate keys; use Form Recognizer Client for the data plane.
Google Cloud Vision API
General-purpose OCR and image analysis service from Google Cloud.
Choose Cloud Vision for general OCR. Stay with Form Recognizer for structured form, layout, and receipt extraction.
Specific to using Form Recognizer Client API through Jentic.
Why is there no official OpenAPI spec for Form Recognizer Client?
Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Form Recognizer Client via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Form Recognizer API use?
The API uses an API key in the `Ocp-Apim-Subscription-Key` request header (the apim_key scheme). Through Jentic, that key is stored encrypted in the MAXsystem vault and injected on each call so the agent never holds the raw subscription key.
Can I train a custom Form Recognizer model with this API?
Yes. Call POST /custom/models with a body that points at a SAS-accessible blob folder containing your labelled forms. The service returns a model id; once training completes, call POST /custom/models/{modelId}/analyze to extract data from new documents of the same template.
How do I get the result of an analyse call?
Analyse calls are asynchronous. The POST /custom/models/{modelId}/analyze, /layout/analyze, and /prebuilt/receipt/analyze endpoints return a result id (in the response headers). Poll the matching GET .../analyzeResults/{resultId} endpoint until the response status is 'succeeded' to retrieve the extracted fields.
What are the rate limits for the Form Recognizer API?
Form Recognizer applies per-resource quotas tied to the Cognitive Services pricing tier (free or standard). On HTTP 429 back off using the Retry-After header. Training jobs are heavier than analyse calls, so issue them serially per resource.
How do I run a Form Recognizer pipeline through Jentic?
Run pip install jentic, then search Jentic with 'analyse a form with Form Recognizer'. Load AnalyzeWithCustomModel, supply the modelId and document URL, and execute. Then call GetAnalyzeFormResult with the returned result id until status is succeeded. The Ocp-Apim-Subscription-Key is sourced from the vault on every call.
/layout/analyzeResults/{resultId}
Get analyse layout result
/prebuilt/receipt/analyze
Analyse a receipt with the prebuilt model
/prebuilt/receipt/analyzeResults/{resultId}
Get analyse receipt result