Sumup.Roles (Sumup v1.0.0)

Copy Markdown View Source

Roles: role definitions (built-in and custom) grouping permissions, assignable to Sumup.Members. API version v0.1.

Summary

Functions

Creates a custom role under merchant_code.

Retrieves a single role.

Lists all roles (built-in and custom) for a merchant.

Updates a custom role's name/permissions/description.

Functions

create(config, merchant_code, params)

@spec create(Sumup.Config.t(), String.t(), keyword() | map()) ::
  {:ok, Sumup.Role.t()} | {:error, Sumup.Error.t()}

Creates a custom role under merchant_code.

  • :name (String.t/0) - Required.

  • :permissions (list of String.t/0) - Required. Permission strings, e.g. "members_create".

  • :description (String.t/0)

  • :metadata (map/0) - Free-form metadata you control.

delete(config, merchant_code, role_id)

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

Deletes a custom role.

get(config, merchant_code, role_id)

@spec get(Sumup.Config.t(), String.t(), String.t()) ::
  {:ok, Sumup.Role.t()} | {:error, Sumup.Error.t()}

Retrieves a single role.

list(config, merchant_code)

@spec list(Sumup.Config.t(), String.t()) ::
  {:ok, [Sumup.Role.t()]} | {:error, Sumup.Error.t()}

Lists all roles (built-in and custom) for a merchant.

update(config, merchant_code, role_id, params)

@spec update(Sumup.Config.t(), String.t(), String.t(), keyword() | map()) ::
  {:ok, Sumup.Role.t()} | {:error, Sumup.Error.t()}

Updates a custom role's name/permissions/description.