REST · JSON Structure

Rest Architecture Structure

JSON structure documenting the key concepts, constraints, and components of the REST architectural style.

Type: Properties: 0
API DesignArchitectureHTTPRESTRESTfulWeb Services

Rest Architecture Structure is a JSON Structure definition published by REST.

Meta-schema:

JSON Structure

rest-architecture-structure.json Raw ↑
{
  "title": "REST Architecture Structure",
  "description": "JSON structure documenting the key concepts, constraints, and components of the REST architectural style.",
  "version": "1.0.0",
  "constraints": [
    "Client-Server",
    "Stateless",
    "Cacheable",
    "Uniform Interface",
    "Layered System",
    "Code on Demand (optional)"
  ],
  "uniformInterfaceConstraints": [
    "Identification of Resources",
    "Manipulation Through Representations",
    "Self-Descriptive Messages",
    "Hypermedia as the Engine of Application State (HATEOAS)"
  ],
  "httpMethods": {
    "GET": { "safe": true, "idempotent": true, "cacheable": true, "purpose": "Read resource" },
    "HEAD": { "safe": true, "idempotent": true, "cacheable": true, "purpose": "Read headers only" },
    "OPTIONS": { "safe": true, "idempotent": true, "cacheable": false, "purpose": "Discover capabilities" },
    "POST": { "safe": false, "idempotent": false, "cacheable": false, "purpose": "Create resource or action" },
    "PUT": { "safe": false, "idempotent": true, "cacheable": false, "purpose": "Replace resource" },
    "PATCH": { "safe": false, "idempotent": false, "cacheable": false, "purpose": "Partial update" },
    "DELETE": { "safe": false, "idempotent": true, "cacheable": false, "purpose": "Delete resource" }
  },
  "statusCodeFamilies": {
    "1xx": "Informational",
    "2xx": "Success",
    "3xx": "Redirection",
    "4xx": "Client Error",
    "5xx": "Server Error"
  },
  "relatedSpecs": ["RFC 9110", "RFC 9112", "OpenAPI 3.1", "JSON:API", "HAL", "SIREN"]
}