Apache Thrift · JSON Structure
Thrift Idl Structure
JSON structure documentation for Apache Thrift Interface Definition Language constructs
Type:
Properties: 0
ApacheCode GenerationCross-LanguageOpen-SourceRPCSDKSerializationThrift
Thrift Idl Structure is a JSON Structure definition published by Apache Thrift.
Meta-schema:
JSON Structure
{
"title": "Apache Thrift IDL Structure",
"description": "JSON structure documentation for Apache Thrift Interface Definition Language constructs",
"version": "0.23.0",
"created": "2026-05-03",
"structures": [
{
"name": "ThriftDocument",
"description": "The root document representing a complete .thrift IDL file",
"fields": [
{ "name": "namespace", "type": "object<string,string>", "required": false, "description": "Language-to-namespace mappings, e.g. {\"java\": \"com.example\", \"py\": \"example\"}" },
{ "name": "includes", "type": "array<string>", "required": false, "description": "List of included .thrift files" },
{ "name": "constants", "type": "array<ThriftConst>", "required": false, "description": "Constant value declarations" },
{ "name": "typedefs", "type": "array<ThriftTypedef>", "required": false, "description": "Type alias declarations" },
{ "name": "enums", "type": "array<ThriftEnum>", "required": false, "description": "Enumeration type definitions" },
{ "name": "structs", "type": "array<ThriftStruct>", "required": false, "description": "Struct type definitions" },
{ "name": "unions", "type": "array<ThriftUnion>", "required": false, "description": "Union type definitions" },
{ "name": "exceptions", "type": "array<ThriftException>", "required": false, "description": "Exception type definitions" },
{ "name": "services", "type": "array<ThriftService>", "required": false, "description": "Service interface definitions" }
]
},
{
"name": "ThriftStruct",
"description": "A composite data type grouping named fields",
"fields": [
{ "name": "name", "type": "string", "required": true, "description": "Struct type name" },
{ "name": "fields", "type": "array<ThriftField>", "required": true, "description": "Ordered list of struct fields" },
{ "name": "annotations", "type": "object<string,string>", "required": false, "description": "Key-value annotation pairs" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
},
{
"name": "ThriftField",
"description": "A named field within a struct, union, or exception",
"fields": [
{ "name": "id", "type": "integer", "required": false, "description": "Numeric field identifier for versioning" },
{ "name": "requiredness", "type": "string", "required": false, "description": "required | optional | default", "default": "default" },
{ "name": "type", "type": "ThriftFieldType", "required": true, "description": "The field's data type" },
{ "name": "name", "type": "string", "required": true, "description": "Field name" },
{ "name": "default", "type": "any", "required": false, "description": "Default value" },
{ "name": "annotations", "type": "object<string,string>", "required": false, "description": "Key-value annotation pairs" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
},
{
"name": "ThriftService",
"description": "A service interface grouping RPC function definitions",
"fields": [
{ "name": "name", "type": "string", "required": true, "description": "Service name" },
{ "name": "extends", "type": "string", "required": false, "description": "Name of parent service to extend" },
{ "name": "functions", "type": "array<ThriftFunction>", "required": true, "description": "List of RPC function definitions" },
{ "name": "annotations", "type": "object<string,string>", "required": false, "description": "Key-value annotation pairs" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
},
{
"name": "ThriftFunction",
"description": "An RPC function definition within a service",
"fields": [
{ "name": "oneway", "type": "boolean", "required": false, "default": false, "description": "If true, fire-and-forget (no response)" },
{ "name": "returnType", "type": "ThriftFieldType|void", "required": true, "description": "Return type of the function" },
{ "name": "name", "type": "string", "required": true, "description": "Function name" },
{ "name": "parameters", "type": "array<ThriftField>", "required": false, "description": "Input parameters" },
{ "name": "throws", "type": "array<ThriftField>", "required": false, "description": "Exception types declared in throws clause" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
},
{
"name": "ThriftEnum",
"description": "A named enumeration of integer constants",
"fields": [
{ "name": "name", "type": "string", "required": true, "description": "Enum type name" },
{ "name": "values", "type": "array<ThriftEnumValue>", "required": true, "description": "List of named enum values" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
},
{
"name": "ThriftEnumValue",
"description": "A single value within a Thrift enum",
"fields": [
{ "name": "name", "type": "string", "required": true, "description": "Enum value name" },
{ "name": "value", "type": "integer", "required": false, "description": "Explicit integer value; auto-increments if omitted" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
},
{
"name": "ThriftException",
"description": "An exception type for use in service throws clauses",
"fields": [
{ "name": "name", "type": "string", "required": true, "description": "Exception type name" },
{ "name": "fields", "type": "array<ThriftField>", "required": true, "description": "Fields describing the exception details" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
},
{
"name": "ThriftUnion",
"description": "A union type where exactly one field is set at a time",
"fields": [
{ "name": "name", "type": "string", "required": true, "description": "Union type name" },
{ "name": "fields", "type": "array<ThriftField>", "required": true, "description": "List of possible fields (exactly one active at runtime)" },
{ "name": "comment", "type": "string", "required": false, "description": "Documentation comment" }
]
}
]
}
Work with this as data
Every JSON Structure 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 json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure 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 Structure
curl "https://apis.io/api/v1/json-structures/thrift-idl-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.