# `AshScim.Discovery`
[🔗](https://github.com/ash-project/ash_scim/blob/main/lib/ash_scim/discovery.ex#L5)

Generates the SCIM 2.0 discovery documents — `Schemas` (RFC 7643 §7) and
`ResourceTypes` (RFC 7644 §4) — directly from the resource DSL.

These endpoints let SCIM clients introspect what the server supports
without reading our docs. Most IdPs hit them once during initial setup
to validate that user/group attributes line up.

# `resource_type`

```elixir
@spec resource_type(module()) :: %{required(String.t()) =&gt; term()}
```

Build the ResourceType document for a single resource.

# `resource_types`

```elixir
@spec resource_types([module()]) :: %{required(String.t()) =&gt; term()}
```

Build a `ListResponse` of every ResourceType document for the given resources.

# `schema`

```elixir
@spec schema(module()) :: %{required(String.t()) =&gt; term()}
```

Build the Schema document for a single resource.

# `schemas`

```elixir
@spec schemas([module()]) :: %{required(String.t()) =&gt; term()}
```

Build a `ListResponse` of every Schema document for the given resources.

---

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