Miosa.Quotas (Miosa v1.1.0)

Copy Markdown View Source

Per-external_user_id quota management — override the tenant defaults for individual end-users of your platform.

Wraps:

  • GET /api/v1/quotas/external/:external_user_id — get/2
  • PUT /api/v1/quotas/external/:external_user_id — set/3
  • DELETE /api/v1/quotas/external/:external_user_id — delete/2

Example

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

{:ok, _} = Miosa.Quotas.set(client, "user-123", %{
  max_sandboxes: 5,
  max_concurrent: 2,
  max_storage_gb: 20,
  max_credit_cents: 5000
})

{:ok, quota} = Miosa.Quotas.get(client, "user-123")
IO.inspect(quota)

:ok = Miosa.Quotas.delete(client, "user-123")

Summary

Functions

Revert an external user's quota to the tenant default.

Get current quota limits + usage for an external user.

Set quota overrides for an external user.

Functions

delete(client, external_user_id)

@spec delete(Miosa.Client.t(), String.t()) :: :ok | {:error, Miosa.Error.t()}

Revert an external user's quota to the tenant default.

get(client, external_user_id)

Get current quota limits + usage for an external user.

set(client, external_user_id, limits)

Set quota overrides for an external user.

Accepted keys (atom or string): :max_sandboxes, :max_concurrent, :max_storage_gb, :max_credit_cents.