Microsoft Azure AI Foundry · Schema
ComposeDocumentModelRequest
Request body to create a composed document model from component document models.
Artificial IntelligenceGenerative AIAI AgentsFoundation ModelsMachine LearningCloudMicrosoft AzureA2A
Properties
| Name | Type | Description |
|---|---|---|
| modelId | string | Unique document model name. |
| description | string | Document model description. |
| classifierId | string | Custom classifier to split and classify the input file. |
| split | string | File splitting behavior. |
| docTypes | object | Dictionary mapping supported docTypes to the corresponding document models. |
| tags | object | List of key-value tag attributes associated with the document model. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/azure-ai-foundry/json-schema/azure-ai-foundry-compose-document-model-request-schema.json",
"title": "ComposeDocumentModelRequest",
"description": "Request body to create a composed document model from component document models.",
"x-generated": "2026-11-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/azure-ai-foundry-document-models-compose-api-openapi.yml#/components/schemas/ComposeDocumentModelRequest",
"type": "object",
"properties": {
"modelId": {
"type": "string",
"description": "Unique document model name.",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$"
},
"description": {
"type": "string",
"description": "Document model description.",
"maxLength": 4096
},
"classifierId": {
"type": "string",
"description": "Custom classifier to split and classify the input file."
},
"split": {
"type": "string",
"description": "File splitting behavior.",
"default": "none",
"enum": [
"auto",
"none",
"perPage"
],
"x-ms-enum": {
"name": "SplitMode",
"modelAsString": true,
"values": [
{
"name": "auto",
"value": "auto",
"description": "Automatically split file into documents."
},
{
"name": "none",
"value": "none",
"description": "Treat the entire file as a single document."
},
{
"name": "perPage",
"value": "perPage",
"description": "Treat each page in the file as a separate document."
}
]
}
},
"docTypes": {
"type": "object",
"description": "Dictionary mapping supported docTypes to the corresponding document models.",
"additionalProperties": {
"$ref": "#/$defs/DocumentTypeDetails"
}
},
"tags": {
"type": "object",
"description": "List of key-value tag attributes associated with the document model.",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"modelId",
"classifierId",
"docTypes"
],
"$defs": {
"DocumentAnalysisFeature": {
"type": "string",
"description": "Document analysis features to enable.",
"enum": [
"ocrHighResolution",
"languages",
"barcodes",
"formulas",
"keyValuePairs",
"styleFont",
"queryFields"
],
"x-ms-enum": {
"name": "DocumentAnalysisFeature",
"modelAsString": true,
"values": [
{
"name": "ocrHighResolution",
"value": "ocrHighResolution",
"description": "Perform OCR at a higher resolution to handle documents with fine print."
},
{
"name": "languages",
"value": "languages",
"description": "Enable the detection of the text content language."
},
{
"name": "barcodes",
"value": "barcodes",
"description": "Enable the detection of barcodes in the document."
},
{
"name": "formulas",
"value": "formulas",
"description": "Enable the detection of mathematical expressions in the document."
},
{
"name": "keyValuePairs",
"value": "keyValuePairs",
"description": "Enable the detection of general key value pairs (form fields) in the document."
},
{
"name": "styleFont",
"value": "styleFont",
"description": "Enable the recognition of various font styles."
},
{
"name": "queryFields",
"value": "queryFields",
"description": "Enable the extraction of additional fields via the queryFields query parameter."
}
]
}
},
"DocumentBuildMode": {
"type": "string",
"description": "Custom document model build mode.",
"enum": [
"template",
"neural"
],
"x-ms-enum": {
"name": "DocumentBuildMode",
"modelAsString": true,
"values": [
{
"name": "template",
"value": "template",
"description": "Target documents with similar visual templates."
},
{
"name": "neural",
"value": "neural",
"description": "Support documents with diverse visual templates."
}
]
}
},
"DocumentFieldSchema": {
"type": "object",
"description": "Description of the field semantic schema using a JSON Schema style syntax.",
"properties": {
"type": {
"$ref": "#/$defs/DocumentFieldType",
"description": "Semantic data type of the field value."
},
"description": {
"type": "string",
"description": "Field description.",
"maxLength": 4096
},
"items": {
"$ref": "#/$defs/DocumentFieldSchema",
"description": "Field type schema of each array element."
},
"properties": {
"type": "object",
"description": "Named sub-fields of the object field.",
"additionalProperties": {
"$ref": "#/$defs/DocumentFieldSchema"
}
}
},
"required": [
"type"
]
},
"DocumentFieldType": {
"type": "string",
"description": "Semantic data type of the field value.",
"enum": [
"string",
"date",
"time",
"phoneNumber",
"number",
"integer",
"selectionMark",
"countryRegion",
"signature",
"array",
"object",
"currency",
"address",
"boolean",
"selectionGroup"
],
"x-ms-enum": {
"name": "DocumentFieldType",
"modelAsString": true,
"values": [
{
"name": "string",
"value": "string",
"description": "Plain text."
},
{
"name": "date",
"value": "date",
"description": "Date, normalized to ISO 8601 (YYYY-MM-DD) format."
},
{
"name": "time",
"value": "time",
"description": "Time, normalized to ISO 8601 (hh:mm:ss) format."
},
{
"name": "phoneNumber",
"value": "phoneNumber",
"description": "Phone number, normalized to E.164 (+{CountryCode}{SubscriberNumber}) format."
},
{
"name": "number",
"value": "number",
"description": "Floating point number, normalized to double precision floating point."
},
{
"name": "integer",
"value": "integer",
"description": "Integer number, normalized to 64-bit signed integer."
},
{
"name": "selectionMark",
"value": "selectionMark",
"description": "Is field selected?"
},
{
"name": "countryRegion",
"value": "countryRegion",
"description": "Country/region, normalized to ISO 3166-1 alpha-3 format (ex. USA)."
},
{
"name": "signature",
"value": "signature",
"description": "Is signature present?"
},
{
"name": "array",
"value": "array",
"description": "List of subfields of the same type."
},
{
"name": "object",
"value": "object",
"description": "Named list of subfields of potentially different types."
},
{
"name": "currency",
"value": "currency",
"description": "Currency amount with optional currency symbol and unit."
},
{
"name": "address",
"value": "address",
"description": "Parsed address."
},
{
"name": "boolean",
"value": "boolean",
"description": "Boolean value, normalized to true or false."
},
{
"name": "selectionGroup",
"value": "selectionGroup",
"description": "Array of selected string values."
}
]
}
},
"DocumentTypeDetails": {
"type": "object",
"description": "Document type info.",
"properties": {
"description": {
"type": "string",
"description": "Document model description.",
"maxLength": 4096
},
"buildMode": {
"$ref": "#/$defs/DocumentBuildMode",
"description": "Custom document model build mode."
},
"fieldSchema": {
"type": "object",
"description": "Description of the document semantic schema using a JSON Schema style syntax.",
"additionalProperties": {
"$ref": "#/$defs/DocumentFieldSchema"
}
},
"fieldConfidence": {
"type": "object",
"description": "Estimated confidence for each field.",
"additionalProperties": {
"format": "float",
"type": "number"
}
},
"modelId": {
"type": "string",
"description": "Document model to use for analyzing documents with specified type.",
"maxLength": 64,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$"
},
"confidenceThreshold": {
"type": "number",
"format": "float",
"description": "Only perform analysis if docType confidence is above threshold."
},
"features": {
"type": "array",
"description": "List of optional analysis features.",
"items": {
"$ref": "#/$defs/DocumentAnalysisFeature"
}
},
"queryFields": {
"type": "array",
"description": "List of additional fields to extract. Ex. \"NumberOfGuests,StoreNumber\"",
"items": {
"type": "string"
}
},
"maxDocumentsToAnalyze": {
"type": "integer",
"format": "int32",
"description": "Maximum number of documents of specified type to analyze. Default=all."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/azure-ai-foundry-compose-document-model-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.