# `Scrypath.Backend`
[🔗](https://github.com/szTheory/scrypath/blob/v0.3.0/lib/scrypath/backend.ex#L1)

Internal backend behavior for Scrypath runtime adapters.

This behavior is documented so architecture references remain valid, but it is
still considered an internal seam for v1 rather than a stable extension API.

# `delete_documents`

```elixir
@callback delete_documents(module(), [term()], keyword()) ::
  {:ok, term()} | {:error, term()}
```

# `index_name`

```elixir
@callback index_name(
  module(),
  keyword()
) :: String.t()
```

# `name`

```elixir
@callback name() :: atom()
```

# `search`

```elixir
@callback search(module(), Scrypath.Query.t(), keyword()) ::
  {:ok, map()} | {:error, term()}
```

# `upsert_documents`

```elixir
@callback upsert_documents(module(), [Scrypath.Document.t()], keyword()) ::
  {:ok, term()} | {:error, term()}
```

---

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