Packages
mollie_api
0.1.0-20260708
0.1.0-20260722
0.1.0-20260721
0.1.0-20260717
0.1.0-20260716
0.1.0-20260708
0.1.0-20260702
0.1.0-20260629
0.1.0-20260625
0.1.0-20260622
0.1.0-20260619
0.1.0-20260617
0.1.0-20260615
0.1.0-20260611
0.1.0-20260609
0.1.0-20260601
0.1.0-20260529
0.1.0-20260527
0.1.0-20260526
0.1.0-20260525
0.1.0-20260521
0.1.0-20260519
0.1.0-20260515
0.1.0-20260513
0.1.0-20260512
0.1.0-20260507
0.1.0-20260505
0.1.0-20260504
0.1.0-20260430
0.1.0-20260429
0.1.0-20260428
0.1.0-20260427
0.1.0-20260423
0.1.0-20260421
0.1.0-20260420
0.1.0-20260415
0.1.0-20260410
0.1.0-20260409
0.1.0-20260408
0.1.0-20260402
0.1.0-20260401
0.1.0-20260331
0.1.0-20260330
0.1.0-20260327
0.1.0-20260317
0.1.0-20260313
0.1.0-20260310
0.1.0-20260309
0.1.0-20260306
0.1.0-20260305
0.1.0-20260303
0.1.0-20260302
0.1.0-20260226
0.1.0-20260218
0.1.0-20260217
0.1.0-20260210
0.1.0-20260206
0.1.0-20260205
0.1.0-20260204
0.1.0-20260203
0.1.0-20260202
0.1.0-20260130
0.1.0-20260129
0.1.0-20260114
0.1.0-20260109
0.1.0-20260107
0.1.0-20251222
0.1.0-20251125
0.1.0-20251121
0.1.0-20251119
0.1.0-20251118
0.1.0-20251113
An autogenerated Elixir client for the Mollie API, generated from the OpenAPI specification.
Current section
Files
Jump to
Current section
Files
lib/mollie_api/api/profiles_api.ex
# NOTE: This file is auto generated by OpenAPI Generator 7.17.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule MollieAPI.Api.ProfilesAPI do
@moduledoc """
API calls for all endpoints tagged `ProfilesAPI`.
"""
alias MollieAPI.Connection
import MollieAPI.RequestBuilder
@doc """
Create profile
Create a profile to process payments on. Profiles are required for payment processing. Normally they are created via the Mollie dashboard. Alternatively, you can use this endpoint to automate profile creation.
### Parameters
- `connection` (MollieAPI.Connection): Connection to server
- `profile_request` (ProfileRequest):
- `opts` (keyword): Optional parameters
- `:"idempotency-key"` (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.
### Returns
- `{:ok, MollieAPI.Model.ProfileResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_profile(Tesla.Env.client, MollieAPI.Model.ProfileRequest.t, keyword()) :: {:ok, MollieAPI.Model.ProfileResponse.t} | {:ok, MollieAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def create_profile(connection, profile_request, opts \\ []) do
optional_params = %{
:"idempotency-key" => :headers
}
request =
%{}
|> method(:post)
|> url("/v2/profiles")
|> add_param(:body, :body, profile_request)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, MollieAPI.Model.ProfileResponse},
{403, MollieAPI.Model.ErrorResponse},
{422, MollieAPI.Model.ErrorResponse},
{429, MollieAPI.Model.ErrorResponse}
])
end
@doc """
Delete profile
Delete a profile. A deleted profile and its related credentials can no longer be used for accepting payments.
### Parameters
- `connection` (MollieAPI.Connection): Connection to server
- `profile_id` (String.t): Provide the ID of the related profile.
- `opts` (keyword): Optional parameters
- `:"idempotency-key"` (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec delete_profile(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:ok, MollieAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def delete_profile(connection, profile_id, opts \\ []) do
optional_params = %{
:"idempotency-key" => :headers
}
request =
%{}
|> method(:delete)
|> url("/v2/profiles/#{profile_id}")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{204, false},
{404, MollieAPI.Model.ErrorResponse},
{410, MollieAPI.Model.ErrorResponse},
{429, MollieAPI.Model.ErrorResponse}
])
end
@doc """
Get current profile
Retrieve the currently authenticated profile. A convenient alias of the [Get profile](get-profile) endpoint. For a complete reference of the profile object, refer to the [Get profile](get-profile) endpoint documentation.
### Parameters
- `connection` (MollieAPI.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:"idempotency-key"` (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.
### Returns
- `{:ok, MollieAPI.Model.ProfileResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_current_profile(Tesla.Env.client, keyword()) :: {:ok, MollieAPI.Model.ProfileResponse.t} | {:ok, MollieAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def get_current_profile(connection, opts \\ []) do
optional_params = %{
:"idempotency-key" => :headers
}
request =
%{}
|> method(:get)
|> url("/v2/profiles/me")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, MollieAPI.Model.ProfileResponse},
{429, MollieAPI.Model.ErrorResponse}
])
end
@doc """
Get profile
Retrieve a single profile by its ID.
### Parameters
- `connection` (MollieAPI.Connection): Connection to server
- `profile_id` (String.t): Provide the ID of the related profile.
- `opts` (keyword): Optional parameters
- `:testmode` (boolean()): You can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
- `:"idempotency-key"` (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.
### Returns
- `{:ok, MollieAPI.Model.ProfileResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_profile(Tesla.Env.client, String.t, keyword()) :: {:ok, MollieAPI.Model.ProfileResponse.t} | {:ok, MollieAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def get_profile(connection, profile_id, opts \\ []) do
optional_params = %{
:testmode => :query,
:"idempotency-key" => :headers
}
request =
%{}
|> method(:get)
|> url("/v2/profiles/#{profile_id}")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, MollieAPI.Model.ProfileResponse},
{404, MollieAPI.Model.ErrorResponse},
{410, MollieAPI.Model.ErrorResponse},
{429, MollieAPI.Model.ErrorResponse}
])
end
@doc """
List profiles
Retrieve a list of all of your profiles. The results are paginated.
### Parameters
- `connection` (MollieAPI.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:from` (String.t): Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set.
- `:limit` (integer()): The maximum number of items to return. Defaults to 50 items.
- `:"idempotency-key"` (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.
### Returns
- `{:ok, MollieAPI.Model.ListProfiles200Response.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_profiles(Tesla.Env.client, keyword()) :: {:ok, MollieAPI.Model.ErrorResponse.t} | {:ok, MollieAPI.Model.ListProfiles200Response.t} | {:error, Tesla.Env.t}
def list_profiles(connection, opts \\ []) do
optional_params = %{
:from => :query,
:limit => :query,
:"idempotency-key" => :headers
}
request =
%{}
|> method(:get)
|> url("/v2/profiles")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, MollieAPI.Model.ListProfiles200Response},
{400, MollieAPI.Model.ErrorResponse},
{429, MollieAPI.Model.ErrorResponse}
])
end
@doc """
Update profile
Update an existing profile. Profiles are required for payment processing. Normally they are created and updated via the Mollie dashboard. Alternatively, you can use this endpoint to automate profile management.
### Parameters
- `connection` (MollieAPI.Connection): Connection to server
- `profile_id` (String.t): Provide the ID of the related profile.
- `update_profile_request` (UpdateProfileRequest):
- `opts` (keyword): Optional parameters
- `:"idempotency-key"` (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.
### Returns
- `{:ok, MollieAPI.Model.ProfileResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec update_profile(Tesla.Env.client, String.t, MollieAPI.Model.UpdateProfileRequest.t, keyword()) :: {:ok, MollieAPI.Model.ProfileResponse.t} | {:ok, MollieAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def update_profile(connection, profile_id, update_profile_request, opts \\ []) do
optional_params = %{
:"idempotency-key" => :headers
}
request =
%{}
|> method(:patch)
|> url("/v2/profiles/#{profile_id}")
|> add_param(:body, :body, update_profile_request)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, MollieAPI.Model.ProfileResponse},
{403, MollieAPI.Model.ErrorResponse},
{404, MollieAPI.Model.ErrorResponse},
{410, MollieAPI.Model.ErrorResponse},
{422, MollieAPI.Model.ErrorResponse},
{429, MollieAPI.Model.ErrorResponse}
])
end
end