Tink.Users (Tink v1.0.0)

Copy Markdown View Source

User management. Most operations require an application-level client (client credentials token) rather than a user token.

Scopes

  • user:create — create users
  • user:read — get/list user data
  • user:write — update user data
  • user:delete — delete users

Summary

Functions

Create a new permanent Tink user. Requires user:create scope.

Delete a permanent Tink user and all their data. Requires user:delete scope.

Get the user profile. Requires user:read scope.

Get the current authenticated user. Requires user:read scope.

Update user profile. Requires user:write scope.

Update user properties. Requires user:write scope.

Functions

create_user(client, params)

@spec create_user(Tink.Client.t(), map()) :: {:ok, map()} | {:error, Tink.Error.t()}

Create a new permanent Tink user. Requires user:create scope.

Params map keys

  • "externalUserId" — your system's user ID (required)
  • "market" — ISO 3166-1 alpha-2 market code, e.g. "GB"
  • "locale" — BCP 47 locale, e.g. "en_US"

delete_user(client, user_id)

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

Delete a permanent Tink user and all their data. Requires user:delete scope.

Returns :ok on success.

get_profile(client)

@spec get_profile(Tink.Client.t()) :: {:ok, map()} | {:error, Tink.Error.t()}

Get the user profile. Requires user:read scope.

get_user(client)

@spec get_user(Tink.Client.t()) :: {:ok, map()} | {:error, Tink.Error.t()}

Get the current authenticated user. Requires user:read scope.

update_profile(client, params)

@spec update_profile(Tink.Client.t(), map()) ::
  {:ok, map()} | {:error, Tink.Error.t()}

Update user profile. Requires user:write scope.

update_user(client, params)

@spec update_user(Tink.Client.t(), map()) :: {:ok, map()} | {:error, Tink.Error.t()}

Update user properties. Requires user:write scope.