# `JSONAPIPlug.Document.ResourceObject`
[🔗](https://github.com/lucacorti/jsonapi_plug/blob/main/lib/jsonapi_plug/document/resource_object.ex#L1)

JSON:API Resource Object

https://jsonapi.org/format/#resource_object-resource-objects

# `id`

```elixir
@type id() :: String.t()
```

# `t`

```elixir
@type t() :: %JSONAPIPlug.Document.ResourceObject{
  attributes: %{required(String.t()) =&gt; JSONAPIPlug.Document.value()},
  id: id() | nil,
  lid: id() | nil,
  links: JSONAPIPlug.Document.links() | nil,
  meta: JSONAPIPlug.Document.meta() | nil,
  relationships: %{
    required(String.t()) =&gt; [JSONAPIPlug.Document.RelationshipObject.t()]
  },
  type: type()
}
```

# `type`

```elixir
@type type() :: String.t()
```

# `deserialize`

```elixir
@spec deserialize(JSONAPIPlug.Document.payload()) :: t() | no_return()
```

# `serialize`

```elixir
@spec serialize(t()) :: t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
