Skip to main content

Public REST/JSON reference

Payment Recovery API

Recover the revenue you'd otherwise lose to failed card payments. List failed payments, retry one explicitly, run a multi-step dunning sequence (configurable per workspace), and pull recovery analytics — by decline code, by retry timing, and as a date-bounded report. Part of the Logic Igniter SaaS Growth & Retention bundle.

Access boundary

These examples describe public API calls only. Use the service output to review, score, summarize, analyze, or recommend; do not treat the API reference as permission for an assistant to write, send, publish, charge, schedule, notify, delete, or modify records.

Base URL

https://api.logicigniter.com

Auth

Authorization: Bearer YOUR_API_KEY

Version

OpenAPI 3.0.3 · 1.0.0

Operations rendered

14

Response models rendered

21

GET/api/v1/paymentrecovery/customers

List customers

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/paymentrecovery/customers

Provision a customer

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request body (required)

Schema: CreateCustomerRequest

Sample JSON payload for evaluation.

{
  "email": "[email protected]",
  "name": "Example Inc."
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/paymentrecovery/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","name":"Example Inc."}'

Responses

Customer created or returned

Invalid email or missing name

Missing or invalid API key.

GET/api/v1/paymentrecovery/customers/{id}

Get a customer by id

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Customer record

Missing or invalid API key.

Customer not found

PUT/api/v1/paymentrecovery/customers/{id}

Update a customer

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: UpdateCustomerRequest

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/paymentrecovery/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

Updated customer

Invalid update

Missing or invalid API key.

Customer not found

GET/api/v1/paymentrecovery/failed

List failed payments

Paginated list of failed card payments with their amount (cents), decline_code, and recovery status. Status: ACTIVE (still attempting recovery), RECOVERED (a retry succeeded), CHURNED (gave up).

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/failed" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of failed payments

Missing or invalid API key.

POST/api/v1/paymentrecovery/failed/{id}/retry

Retry a failed payment now

Out-of-band retry that bypasses the dunning schedule. Returns a normalized retry outcome so you can route customer follow-up by success state, next retry time, and decline category.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/paymentrecovery/failed/:id/retry" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Retry result

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers failed-payment listing + recovery rate analytics; paid plans unlock retries, dunning sequencing, and date-bounded reports.

Payment not found

POST/api/v1/paymentrecovery/failed/{id}/dunning/start

Trigger the dunning sequence

Starts the configured DunningSequence for the customer attached to the failed payment. Typical sequence: day 0 friendly reminder → day 3 update payment method → day 7 final notice. Steps configurable via PUT /dunning/config.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/paymentrecovery/failed/:id/dunning/start" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Sequence started

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers failed-payment listing + recovery rate analytics; paid plans unlock retries, dunning sequencing, and date-bounded reports.

Payment not found

POST/api/v1/paymentrecovery/failed/{id}/dunning/pause

Pause dunning for a customer

Useful when a customer has reached out with context (e.g. "renewing card next week") and shouldn't get the next dunning email.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/paymentrecovery/failed/:id/dunning/pause" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Paused

Missing or invalid API key.

Failed payment not found

GET/api/v1/paymentrecovery/failed/{id}/dunning/status

Get dunning status for the customer attached to a failed payment

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/failed/:id/dunning/status" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Dunning status

Missing or invalid API key.

Failed payment not found

PUT/api/v1/paymentrecovery/dunning/config

Configure the dunning sequence

Replace the workspace's dunning sequence with an ordered list of (template, delay_days) steps. Each step's delay_days is measured from the previous step's send.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request body (required)

Schema: ConfigureRequest

Sample JSON payload for evaluation.

{
  "steps": [
    {
      "step": 1,
      "template": "friendly-reminder",
      "delay_days": 0
    },
    {
      "step": 2,
      "template": "update-payment-method",
      "delay_days": 3
    },
    {
      "step": 3,
      "template": "final-notice",
      "delay_days": 4
    }
  ]
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/paymentrecovery/dunning/config" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"steps":[{"step":1,"template":"friendly-reminder","delay_days":0},{"step":2,"template":"update-payment-method","delay_days":3},{"step":3,"template":"final-notice","delay_days":4}]}'

Responses

Updated config

Empty steps or unknown template name

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers failed-payment listing + recovery rate analytics; paid plans unlock retries, dunning sequencing, and date-bounded reports.

GET/api/v1/paymentrecovery/analytics/recovery-rate

Recovery rate over a date range

Total failed, total recovered, recovery_rate (0–1), and revenue_recovered_cents (the dollar number you take to the board).

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
start_datequerystring (date-time)
end_datequerystring (date-time)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/analytics/recovery-rate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Recovery stats

Missing or invalid API key.

GET/api/v1/paymentrecovery/analytics/decline-breakdown

Breakdown by decline code

Per-decline-code stats: total_count, recovery_count, recovery_rate. Useful for spotting which processor decline codes recover well (insufficient_funds → 80%) vs poorly (card_velocity_exceeded → 5%).

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/analytics/decline-breakdown" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Decline-code breakdown

Missing or invalid API key.

GET/api/v1/paymentrecovery/analytics/retry-rates

Retry-timing success rates

Success rate per timing bucket (e.g. "0-1d", "1-3d", "3-7d", "7-14d"). Use to tune dunning step delays — pick the bucket with the highest success rate as the optimal first retry.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/analytics/retry-rates" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Retry rates

Missing or invalid API key.

GET/api/v1/paymentrecovery/analytics/report

Date-bounded recovery report

Aggregate report: total_failed_cents, total_recovered_cents, recovery_rate, churned_count.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
start_datequerystring (date-time)
end_datequerystring (date-time)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/paymentrecovery/analytics/report" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Recovery report

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers failed-payment listing + recovery rate analytics; paid plans unlock retries, dunning sequencing, and date-bounded reports.

Data models

Error

FieldTypeNotes
errorrequiredstring

FailedPaymentStatus

FailedPayment

FieldTypeNotes
amount_centsinteger (int64)
decline_codestring
statusFailedPaymentStatus
failed_atstring (date-time)

FailedPaymentsResponse

FieldTypeNotes
itemsarray<FailedPayment>
next_page_tokenstring
total_countinteger

RetryResult

FieldTypeNotes
idstring (uuid)
successboolean
messagestring
scheduled_atstring (date-time)

TriggerResult

FieldTypeNotes
idstring (uuid)
successboolean

PauseResult

FieldTypeNotes
idstring (uuid)
successboolean

DunningStatus

FieldTypeNotes
idstring (uuid)
customer_idstring (uuid)
current_stepinteger
pausedboolean
started_atstring (date-time)

DunningStep

FieldTypeNotes
steprequiredinteger
templaterequiredstring
delay_daysinteger

ConfigureRequest

FieldTypeNotes
stepsrequiredarray<DunningStep>

DunningConfig

FieldTypeNotes
idstring (uuid)
stepsarray<DunningStep>

RecoveryStats

FieldTypeNotes
idstring (uuid)
total_failedinteger
total_recoveredinteger
recovery_ratenumber (double)
revenue_recovered_centsinteger (int64)

DeclineCodeStat

FieldTypeNotes
decline_codestring
total_countinteger
recovery_countinteger
recovery_ratenumber (double)

DeclineBreakdown

FieldTypeNotes
idstring (uuid)
codesarray<DeclineCodeStat>

RetryTimingRate

FieldTypeNotes
timing_bucketstring
success_ratenumber (double)
sample_sizeinteger

RetryRates

FieldTypeNotes
idstring (uuid)
ratesarray<RetryTimingRate>

RecoveryReport

FieldTypeNotes
idstring (uuid)
total_failed_centsinteger (int64)
total_recovered_centsinteger (int64)
recovery_ratenumber (double)
churned_countinteger

CreateCustomerRequest

FieldTypeNotes
emailrequiredstring (email)
namerequiredstring

UpdateCustomerRequest

FieldTypeNotes
emailstring (email)
namestring

Customer

FieldTypeNotes
idstring (uuid)
emailstring (email)
namestring
created_atstring (date-time)

CustomersResponse

FieldTypeNotes
itemsarray<Customer>
next_page_tokenstring
total_countinteger