# DESCRIPTION
This module attempts to make a Moose object behave like a JSON API object as
defined by [jsonapi.org](
https://metacpan.org/pod/jsonapi.org). This object adheres to the v1 specification
# SYNOPSIS
use JSON::API::v1;
my $object = JSON::API::v1->new(
data => JSON::API::v1::Resource->new(
...
);
);
$object->add_error(JSON::API::v1::Error->new(...));
$object->add_relationship(JSON::API::v1::Error->new(...));
# ATTRIBUTES
## data
This data object is there a [JSON::API::v1::Resource](
https://metacpan.org/pod/JSON%3A%3AAPI%3A%3Av1%3A%3AResource) lives.
## errors
This becomes an array ref of [JSON::API::v1::Error](
https://metacpan.org/pod/JSON%3A%3AAPI%3A%3Av1%3A%3AError) once you start
adding errors to this object object via `add_error`.
## included
This becomes an array ref of [JSON::API::v1::Resource](
https://metacpan.org/pod/JSON%3A%3AAPI%3A%3Av1%3A%3AResource) once you start
adding additional resources to this object object via `add_included`.
## is\_set
This is to tell the object it is a set and you can add data to it via
`add_data`. It will in turn JSON-y-fi the data to an array of the data you've
added. If you don't set this via the constructer, please read the documentation
of ["add\_data" in JSON::API::v1](
https://metacpan.org/pod/JSON%3A%3AAPI%3A%3Av1#add_data)
# METHODS
## add\_data
You can add individual [JSON::API::v1::Resource](
https://metacpan.org/pod/JSON%3A%3AAPI%3A%3Av1%3A%3AResource) objects to the
toplevel object. If you have not set is\_set the first call to this function
will assume you're adding data and thus want to be a set.
## add\_error
You can add individual [JSON::API::v1::Error](
https://metacpan.org/pod/JSON%3A%3AAPI%3A%3Av1%3A%3AError) objects to the
toplevel object.
## add\_included
You can add individual [JSON::API::v1::Resource](
https://metacpan.org/pod/JSON%3A%3AAPI%3A%3Av1%3A%3AResource) objects to the
toplevel object.