# `Jido.Messaging.IngressSubscription`
[🔗](https://github.com/agentjido/jido_messaging/blob/v1.0.0/lib/jido_messaging/ingress_subscription.ex#L1)

Normalized provider ingress subscription state for a bridge.

Provider-specific options and response payloads stay in adapter code. This
struct gives runtime/control-plane callers a small common envelope.

# `t`

```elixir
@type t() :: %Jido.Messaging.IngressSubscription{
  adapter_name: atom(),
  bridge_id: binary(),
  expires_at:
    nil
    | nil
    | %DateTime{
        calendar: term(),
        day: term(),
        hour: term(),
        microsecond: term(),
        minute: term(),
        month: term(),
        second: term(),
        std_offset: term(),
        time_zone: term(),
        utc_offset: term(),
        year: term(),
        zone_abbr: term()
      },
  external_id: nil | nil | binary(),
  metadata: map(),
  raw: nil | nil | any(),
  status: atom(),
  subscription_id: nil | nil | binary(),
  target_url: nil | nil | binary()
}
```

# `new`

```elixir
@spec new(map()) :: t()
```

Builds a normalized ingress subscription from adapter/runtime attrs.

# `schema`

Returns the Zoi schema.

---

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