11. Resource Model
FORMAT: 1A
# Resource Model API
Resource model is a [resource manifestation](http://www.w3.org/TR/di-gloss/#def-resource-manifestation).
One particular representation of your resource.
Furthermore, in API Blueprint, any `resource model` you have defined can be
referenced in a request or response section, saving you lots of time
maintaining your API blueprint. You simply define a resource model as any
payload (e.g. [request](https://github.com/apiaryio/api-blueprint/blob/master/examples/06.%20Requests.md)
or [response](https://github.com/apiaryio/api-blueprint/blob/master/examples/5.%20Responses.md))
and then reference it later where you would normally write a `request` or
`response`.
# Group Messages
Group of all messages-related resources.
## My Message [/message]
+ Model (application/vnd.siren+json)
This is the `application/vnd.siren+json` message resource representation.
+ Headers
Location: http://api.acme.com/message
+ Body
{
"class": [ "message" ],
"properties": {
"message": "Hello World!"
},
"links": [
{ "rel": "self" , "href": "/message" }
]
}
### Retrieve a Message [GET]
At this point we will utilize our `Message` resource model and reference it in
`Response 200`.
+ Response 200
[My Message][]
### Update a Message [PUT]
+ Request Update Plain Text Message (text/plain)
All your base are belong to us.
+ Request Update JSON Message (application/json)
{ "message": "All your base are belong to us." }
+ Response 204