Skip to content

List a payment intent's state events

GET
/v1/payment-intents/{payment_intent_id}/timeline
curl --request GET \
--url https://api.feitpay.com/v1/payment-intents/example/timeline \
--header 'Authorization: Bearer <token>'

Append-only trail of every transition with its reason code and evidence.

payment_intent_id
required
string
Gryphem-Organization
string

Active organization for dashboard sessions. Ignored for API keys (the key determines the organization).

Append-only state transitions with evidence.

Media typeapplication/json
object
object
required
string
Allowed value: list
data
required
Array<object>
object
id
required
integer
from_status
required
One of:
string
Allowed values: created awaiting_payment detected confirming confirmed underpaid overpaid expired late_payment reorged manual_review resolved failed canceled
to_status
required
string
Allowed values: created awaiting_payment detected confirming confirmed underpaid overpaid expired late_payment reorged manual_review resolved failed canceled
reason
required

Machine-readable reason recorded with a payment intent state change (status_reason, state-event and timeline reason, webhook data.status_reason). created and quote_refreshed appear in state events; additional_payment_after_settlement only in payment.review_required event data for a transfer that arrived after the intent was settled; inconsistent_evidence marks evidence that supports no allowed transition (the state is held and operators are alerted). bitcart_* reasons mirror the Bitcart invoice status of intents processed through the platform’s Bitcart account.

string
Allowed values: created quote_locked quote_refreshed transfer_seen_in_mempool waiting_for_confirmations required_confirmations_reached received_less_than_quoted received_more_than_quoted payment_after_quote_expiry late_top_up_after_partial_payment expired_without_payment block_reorganized reorg_unresolved transaction_dropped transaction_dropped_after_inclusion payment_does_not_match_active_quote inconsistent_evidence canceled_by_merchant resolved_with_recorded_reason sandbox_forced_quote_expiry additional_payment_after_settlement bitcart_pending bitcart_paid_unconfirmed bitcart_paid_partial bitcart_confirmed bitcart_complete bitcart_paid_over bitcart_expired bitcart_expired_partial bitcart_invalid bitcart_failed_confirm bitcart_refunded bitcart_unknown_status
actor_type
required
string
actor_id
required
string | null
evidence
required
object
created_at
required
string format: date-time

Example

{
"object": "list",
"data": [
{
"from_status": "created",
"to_status": "created",
"reason": "created"
}
]
}

Missing or invalid credentials.

Media typeapplication/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found_error conflict_error idempotency_error rate_limit_error feature_unavailable_error api_error
code
required
string
message
required
string
param
string
request_id
required
string

Example

{
"error": {
"type": "invalid_request_error"
}
}

Authenticated but not permitted.

Media typeapplication/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found_error conflict_error idempotency_error rate_limit_error feature_unavailable_error api_error
code
required
string
message
required
string
param
string
request_id
required
string

Example

{
"error": {
"type": "invalid_request_error"
}
}

Resource not found (or not visible to this tenant).

Media typeapplication/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found_error conflict_error idempotency_error rate_limit_error feature_unavailable_error api_error
code
required
string
message
required
string
param
string
request_id
required
string

Example

{
"error": {
"type": "invalid_request_error"
}
}

Too many requests. See Retry-After.

Media typeapplication/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found_error conflict_error idempotency_error rate_limit_error feature_unavailable_error api_error
code
required
string
message
required
string
param
string
request_id
required
string

Example

{
"error": {
"type": "invalid_request_error"
}
}
Retry-After
integer