Properties
| Name | Type | Description |
|---|---|---|
| type | string | EnvelopedData for a classical message. |
| contentType | string | The outer content type. |
| encapsulatedContentType | string | The type of the content it holds (id-signedData for a signed then encrypted message). |
| encrypted | boolean | |
| classical | boolean | true for a classical message (RSA or ECDH recipients), which decrypt refuses and fpqc reencrypt migrates. |
| signed | boolean | |
| hybrid | boolean | true for a SignedData that states both a post-quantum signer and a classical co-signer; nothing verified. |
| contentEncryptionAlgorithm | string | |
| recipients | array | For an encrypted message. |
| signers | array | For a SignedData. A signed then encrypted message lists none: its signers are encrypted. |
| sizes | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/feranor-com/json-schema/feranor-com-inspection-report-schema.json",
"title": "InspectionReport",
"x-generated": "2026-11-07",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/feranor-com-sidecar-openapi.json#/components/schemas/InspectionReport",
"type": "object",
"additionalProperties": false,
"required": [
"type",
"contentType",
"encrypted",
"classical",
"signed",
"hybrid",
"recipients",
"signers",
"sizes"
],
"properties": {
"type": {
"type": "string",
"enum": [
"AuthEnvelopedData",
"SignedData",
"EnvelopedData"
],
"description": "EnvelopedData for a classical message."
},
"contentType": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$",
"description": "The outer content type."
},
"encapsulatedContentType": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$",
"description": "The type of the content it holds (id-signedData for a signed then encrypted message)."
},
"encrypted": {
"type": "boolean"
},
"classical": {
"type": "boolean",
"description": "true for a classical message (RSA or ECDH recipients), which decrypt refuses and fpqc reencrypt migrates."
},
"signed": {
"type": "boolean"
},
"hybrid": {
"type": "boolean",
"description": "true for a SignedData that states both a post-quantum signer and a classical co-signer; nothing verified."
},
"contentEncryptionAlgorithm": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$"
},
"recipients": {
"type": "array",
"items": {
"$ref": "#/$defs/RecipientReport"
},
"description": "For an encrypted message."
},
"signers": {
"type": "array",
"items": {
"$ref": "#/$defs/SignerReport"
},
"description": "For a SignedData. A signed then encrypted message lists none: its signers are encrypted."
},
"sizes": {
"$ref": "#/$defs/MessageSizes"
}
},
"$defs": {
"MessageSizes": {
"type": "object",
"additionalProperties": false,
"required": [
"message"
],
"description": "In bytes, read from the encoding, never estimated. Structural elements (recipientInfos, authentication, certificates) include their tag and length octets; content is the value's own bytes.",
"properties": {
"message": {
"type": "integer",
"format": "int64"
},
"recipientInfos": {
"type": "integer",
"format": "int64",
"description": "Encrypted message: the element holding every entry."
},
"content": {
"type": "integer",
"format": "int64",
"description": "The encrypted content (the sum of its segments in BER), or the signed content, absent for a detached signature."
},
"authentication": {
"type": "integer",
"format": "int64",
"description": "Encrypted message: the authentication tag, with the authenticated attributes when present."
},
"certificates": {
"type": "integer",
"format": "int64",
"description": "SignedData: the certificates element, absent when the message carries none."
}
}
},
"RecipientReport": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"sizes"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"kem",
"key-transport",
"key-agreement",
"kek",
"password",
"other"
]
},
"identifier": {
"type": "string",
"description": "The recipient identifier."
},
"kem": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$",
"description": "The KEM, or the key-encryption algorithm of a classical entry."
},
"kdf": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$"
},
"keyWrap": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$"
},
"sizes": {
"$ref": "#/$defs/RecipientSizes"
}
}
},
"RecipientSizes": {
"type": "object",
"additionalProperties": false,
"required": [
"entry",
"kemCiphertext",
"encryptedKey"
],
"properties": {
"entry": {
"type": "integer",
"format": "int32",
"description": "The whole RecipientInfo as encoded."
},
"kemCiphertext": {
"type": "integer",
"format": "int32"
},
"encryptedKey": {
"type": "integer",
"format": "int32",
"description": "The wrapped content key."
}
}
},
"SignerReport": {
"type": "object",
"additionalProperties": false,
"required": [
"postQuantum",
"sizes"
],
"properties": {
"signatureAlgorithm": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$"
},
"digestAlgorithm": {
"type": "string",
"pattern": "^[0-2](\\.[0-9]+)+$"
},
"subject": {
"type": "string",
"description": "From the certificate the message carries, as the other certificate members."
},
"issuer": {
"type": "string"
},
"serialNumber": {
"type": "string"
},
"thumbprint": {
"type": "string",
"pattern": "^[0-9A-F]{64}$",
"description": "SHA-256 of the certificate."
},
"signingTime": {
"type": "string",
"format": "date-time"
},
"postQuantum": {
"type": "boolean",
"description": "false for an ECDSA co-signer."
},
"sizes": {
"$ref": "#/$defs/SignerSizes"
}
}
},
"SignerSizes": {
"type": "object",
"additionalProperties": false,
"required": [
"signature"
],
"properties": {
"signature": {
"type": "integer",
"format": "int32",
"description": "The signature value."
}
}
}
}
}
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/feranor-com-inspection-report"
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.