# `Stancer.API.Mandates`

# `create`

```elixir
@spec create(map()) :: {:ok, map()} | {:error, term()}
```

POST `/v2/mandates/`

## Parameters

  * `rum` (string (max 24 chars), optional)
  * `sepa` (string (matches ^sepa_[a-zA-Z0-9]{24}$), optional)
    - Example: "sepa_yWYfCSzsUUhr9KwMv7vuLZHX"
  * `signed_at` (string (format: date-time), optional)

# `delete`

```elixir
@spec delete(String.t()) :: {:ok, map()} | {:error, term()}
```

DELETE `/v2/mandates/{id}`

# `get_id`

```elixir
@spec get_id(String.t()) :: {:ok, map()} | {:error, term()}
```

GET `/v2/mandates/{id}`

# `get_id_pdf`

```elixir
@spec get_id_pdf(String.t()) :: {:ok, map()} | {:error, term()}
```

GET `/v2/mandates/{id}.pdf`

# `list`

```elixir
@spec list() :: {:ok, map()} | {:error, term()}
```

GET `/v2/mandates/`

# `update`

```elixir
@spec update(String.t(), map()) :: {:ok, map()} | {:error, term()}
```

PATCH `/v2/mandates/{id}`

## Parameters

  * `pdf` (string, optional)
  * `rum` (string (max 24 chars), optional)
  * `signed_at` (string (format: date-time), optional)

---

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