Miosa.ProjectIntegrations (Miosa v1.0.0)

Copy Markdown View Source

Per-project integrations — Stripe, Resend, Twilio, and similar third-party provider keys injected as env vars into sandbox/deployment VMs at boot.

Credentials are encrypted at rest.

Example

client = Miosa.client(System.fetch_env!("MIOSA_API_KEY"))

{:ok, catalog} = Miosa.ProjectIntegrations.catalog(client)
{:ok, integration} = Miosa.ProjectIntegrations.create(client, %{
  provider: "stripe",
  secret_key: "sk_live_..."
})

Summary

Functions

List supported providers and their configuration schemas.

Create a project integration.

Delete a project integration by ID.

Get a project integration by ID.

List project integrations.

Update a project integration by ID.

Functions

catalog(client)

@spec catalog(Miosa.Client.t()) :: Miosa.Client.result(map())

List supported providers and their configuration schemas.

create(client, attrs)

@spec create(Miosa.Client.t(), map()) :: Miosa.Client.result(map())

Create a project integration.

delete(client, integration_id)

@spec delete(Miosa.Client.t(), String.t()) :: Miosa.Client.result(map())

Delete a project integration by ID.

get(client, integration_id)

Get a project integration by ID.

list(client, filters \\ [])

@spec list(Miosa.Client.t(), keyword() | map()) :: Miosa.Client.result(map())

List project integrations.

Accepts optional filters as a keyword list or map.

update(client, integration_id, attrs)

@spec update(Miosa.Client.t(), String.t(), map()) :: Miosa.Client.result(map())

Update a project integration by ID.