RESTful Services · Schema
REST Resource
Abstract schema for a RESTful API resource, defining the common structural pattern of a REST resource with identifier, metadata, and links.
ArchitectureHTTPMicroservicesRESTWeb Services
Properties
| Name | Type | Description |
|---|---|---|
| id | stringinteger | Unique resource identifier |
| type | string | Resource type name (e.g., user, order, product) |
| href | string | Self-link: the canonical URL for this resource |
| createdAt | string | ISO 8601 creation timestamp |
| updatedAt | string | ISO 8601 last modification timestamp |
| _links | object | Hypermedia links (HAL-style) to related resources and available actions |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/restful-services/schemas/rest-resource",
"title": "REST Resource",
"description": "Abstract schema for a RESTful API resource, defining the common structural pattern of a REST resource with identifier, metadata, and links.",
"type": "object",
"properties": {
"id": {
"type": ["string", "integer"],
"description": "Unique resource identifier"
},
"type": {
"type": "string",
"description": "Resource type name (e.g., user, order, product)"
},
"href": {
"type": "string",
"format": "uri",
"description": "Self-link: the canonical URL for this resource"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 creation timestamp"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 last modification timestamp"
},
"_links": {
"type": "object",
"description": "Hypermedia links (HAL-style) to related resources and available actions",
"additionalProperties": {
"type": "object",
"properties": {
"href": { "type": "string", "format": "uri" },
"method": { "type": "string", "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"] },
"title": { "type": "string" }
}
}
}
},
"required": ["id"]
}