Specification · JSON Structure
Specification Structure
Structure of the API specification ecosystem, showing format categories and their relationships
Type: taxonomy
Properties: 0
API DesignAPI GovernanceAsyncAPIContract TestingJSON SchemaOpenAPISpecificationsStandards
API Specification Landscape is a JSON Structure definition published by Specification.
Meta-schema:
JSON Structure
{
"name": "API Specification Landscape",
"description": "Structure of the API specification ecosystem, showing format categories and their relationships",
"type": "taxonomy",
"categories": [
{
"name": "HTTP API Specifications",
"description": "Formats for describing synchronous HTTP/REST APIs",
"formats": [
{
"name": "OpenAPI",
"versions": ["2.0", "3.0", "3.1"],
"maintainer": "OpenAPI Initiative (Linux Foundation)",
"url": "https://www.openapis.org/",
"primary_use": "REST API description, documentation, code generation"
},
{
"name": "RAML",
"versions": ["0.8", "1.0"],
"maintainer": "MuleSoft",
"primary_use": "REST API design (largely superseded by OpenAPI)"
},
{
"name": "API Blueprint",
"versions": ["1A"],
"maintainer": "Apiary / Oracle",
"primary_use": "REST API documentation (largely superseded)"
}
]
},
{
"name": "Async and Event-Driven Specifications",
"description": "Formats for describing asynchronous, event-driven, and message-based APIs",
"formats": [
{
"name": "AsyncAPI",
"versions": ["2.0", "2.6", "3.0"],
"maintainer": "AsyncAPI Initiative",
"url": "https://www.asyncapi.com/",
"primary_use": "Kafka, AMQP, MQTT, WebSocket, SNS/SQS event streams"
}
]
},
{
"name": "Schema Specifications",
"description": "Data schema and validation formats",
"formats": [
{
"name": "JSON Schema",
"versions": ["Draft 4", "Draft 6", "Draft 7", "2019-09", "2020-12"],
"maintainer": "JSON Schema Organization",
"url": "https://json-schema.org/",
"primary_use": "Data validation, API request/response schemas"
}
]
},
{
"name": "Workflow and Multi-Step Specifications",
"description": "Formats for describing multi-operation API sequences",
"formats": [
{
"name": "Arazzo",
"versions": ["1.0"],
"maintainer": "OpenAPI Initiative",
"url": "https://spec.openapis.org/arazzo/latest.html",
"primary_use": "API workflow sequences, contract testing"
}
]
},
{
"name": "RPC and Binary Specifications",
"description": "Formats for describing RPC and binary protocol APIs",
"formats": [
{
"name": "Protocol Buffers (proto3)",
"versions": ["proto3"],
"maintainer": "Google",
"primary_use": "gRPC API definitions"
},
{
"name": "GraphQL SDL",
"versions": ["June 2018"],
"maintainer": "GraphQL Foundation",
"primary_use": "GraphQL type system and query definitions"
}
]
}
]
}