View Source ExPipedrive.DealInstallments (ex_pipedrive v0.2.0)
Pipedrive deal-installments resource — scheduled payment entries on deals.
API v2 only. Growth plan and above (per Pipedrive OpenAPI).
There is no GET /api/v2/deals/:id/installments; list installments with
GET /api/v2/deals/installments?deal_ids=... (required deal_ids).
Example
{:ok, page} =
ExPipedrive.DealInstallments.list_page(client, deal_ids: [1, 2])
{:ok, installment} =
ExPipedrive.DealInstallments.create(client, 1, %{
description: "Delivery Fee",
amount: 10,
billing_date: "2025-03-10"
})
{:ok, installment} =
ExPipedrive.DealInstallments.update(client, 1, installment.id, %{
amount: 15
})
{:ok, :ok} = ExPipedrive.DealInstallments.delete(client, 1, installment.id)
Summary
Functions
Adds an installment to a deal via POST /api/v2/deals/:id/installments.
Deletes one deal-installment via
DELETE /api/v2/deals/:id/installments/:installment_id.
Lists one page of installments via GET /api/v2/deals/installments.
Lazily streams deal-installments across v2 cursor pages.
Updates a deal-installment via
PATCH /api/v2/deals/:id/installments/:installment_id.
Functions
@spec create(Tesla.Client.t(), term(), map()) :: {:ok, ExPipedrive.DealInstallment.t()} | {:error, ExPipedrive.Error.t()}
Adds an installment to a deal via POST /api/v2/deals/:id/installments.
Requires :description, :amount, and :billing_date.
@spec delete(Tesla.Client.t(), term(), term()) :: {:ok, :ok} | {:error, ExPipedrive.Error.t()}
Deletes one deal-installment via
DELETE /api/v2/deals/:id/installments/:installment_id.
@spec list_page( Tesla.Client.t(), keyword() ) :: {:ok, ExPipedrive.Page.t()} | {:error, ExPipedrive.Error.t()}
Lists one page of installments via GET /api/v2/deals/installments.
Requires :deal_ids — a list of deal ids or a comma-separated string (max
100 ids per Pipedrive).
Options: :cursor, :limit (clamped to 500), :sort_by, :sort_direction.
@spec stream( Tesla.Client.t(), keyword() ) :: Enumerable.t()
Lazily streams deal-installments across v2 cursor pages.
Requires :deal_ids (see list_page/2).
@spec update(Tesla.Client.t(), term(), term(), map()) :: {:ok, ExPipedrive.DealInstallment.t()} | {:error, ExPipedrive.Error.t()}
Updates a deal-installment via
PATCH /api/v2/deals/:id/installments/:installment_id.