Although the same media type is used for both request and response documents, certain aspects are only applicable to one or the other. Unless otherwise noted, objects defined by this specification MUST NOT contain any additional members.
Client and server implementations MUST ignore members not recognized by this specification.
JSON API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests.
If you catch an error in the specification’s text, or if you write an implementation, please let us know by opening an issue or pull request at our Git Hub repository.
JSON API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers.
This efficiency is achieved without compromising readability, flexibility, or discoverability.
JSON API requires use of the JSON API media type () for exchanging data.The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119 [RFC2119].A resource object MUST contain at least the following top-level members: member is not required when the resource object originates at the client and represents a new resource to be created on the server.In addition, a resource object MAY contain any of these top-level members: key MUST be an object (an “attributes object”).
A JSON object MUST be at the root of every JSON API request and response containing data. A document MUST contain at least one of the following top-level members: A logical collection of resources MUST be represented as an array, even if it only contains one item or is empty.“Resource objects” appear in a JSON API document to represent resources.