# `Pluggy.Connectors`
[🔗](https://github.com/fellipessanha/pluggy_ai_ex/blob/main/lib/pluggy/connectors.ex#L1)

Functions for interacting with the Pluggy Connectors API.

Connectors represent financial institutions available for connection.

# `get`

```elixir
@spec get(Pluggy.Client.t(), integer(), keyword()) ::
  {:ok, map()} | {:error, Pluggy.Error.t()}
```

Gets a connector by ID.

Returns the full connector response map.

## Options

  * `:health_details` - Include health check details

# `get!`

```elixir
@spec get!(Pluggy.Client.t(), integer(), keyword()) :: map()
```

# `list`

```elixir
@spec list(
  Pluggy.Client.t(),
  keyword()
) :: {:ok, map()} | {:error, Pluggy.Error.t()}
```

Lists available connectors.

Returns the full paginated response map, e.g.
`%{results: [...], page: 1, total_pages: 3, total: 150}`.  Use
`Pluggy.Unwrap.results/1` to extract just the results list or
`list_with_cursor/2` for cursor-based pagination.

## Options

  * `:countries` - Filter by country codes
  * `:types` - Filter by connector types
  * `:name` - Filter by name
  * `:sandbox` - Include sandbox connectors

# `list!`

```elixir
@spec list!(
  Pluggy.Client.t(),
  keyword()
) :: map()
```

# `list_with_cursor`

```elixir
@spec list_with_cursor(
  Pluggy.Client.t(),
  keyword()
) :: {:ok, map(), Pluggy.HTTP.Cursor.t() | nil} | {:error, Pluggy.Error.t()}
```

Lists connectors with cursor-based pagination.

Returns `{:ok, response, cursor}` where `cursor` is a `%Pluggy.HTTP.Cursor{}`
when more pages are available, or `nil` when on the last page.

Pass the cursor to `Pluggy.HTTP.with_cursor/1` to fetch the next page.

## Options

Accepts the same options as `list/2`, plus:

  * `:page` - Page number to fetch (default: 1)

## Examples

    {:ok, response, cursor} = Pluggy.Connectors.list_with_cursor(client)
    {:ok, next_response, nil} = Pluggy.HTTP.with_cursor(cursor)

# `validate`

```elixir
@spec validate(Pluggy.Client.t(), integer(), map()) ::
  {:ok, map()} | {:error, Pluggy.Error.t()}
```

Validates credentials for a connector.

Returns the full validation response map.

# `validate!`

```elixir
@spec validate!(Pluggy.Client.t(), integer(), map()) :: map()
```

---

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