Airwallex logo
Airwallex logoAirwallex logo

Card Transaction Lifecycles

Copy for LLMView as Markdown

A lifecycle is the top level of the three-level transaction model (Lifecycle → Card Transaction → Transaction Event).

It is a container that groups all related card transactions and transaction events belonging to the same payment flow, based on network information. Lifecycles provide a network-level view of a payment along with aggregated billing amounts across all related card transactions and events.

Key characteristics:

  • Lifecycles do not have a status. Use card transactions if you need guaranteed terminal statuses.
  • Grouping is best-effort: it depends on payment networks and acquirers providing consistent identifiers. For example, matched refunds link to the original lifecycle; unmatched refunds create a new one.
  • Use the lifecycle ID to retrieve all associated card transactions and transaction events.

Data retention: Resources can be queried for a maximum of 2 years from creation.

Learn more about the transaction lifecycle .

Endpoints
GET /api/v1/issuing/lifecycles
GET /api/v1/issuing/lifecycles/{id}

Get card transaction lifecycles

GET /api/v1/issuing/lifecycles

Retrieve a paginated list of lifecycles. Each lifecycle provides a network-level view of a payment with aggregated billing amounts. Use the card_id filter to narrow results to a specific card.

Parameters
card_idstring

Filter by card. Only returns lifecycles associated with this card.

from_created_atstring

Filter for items created after this date in ISO8601 format (inclusive).

pagestring

A bookmark for use in pagination to retrieve either the next page or the previous page of results. You can fetch the value for this identifier from the response of the previous API call. To retrieve the next page of results, pass the value of page_after (if not null) from the response to a subsequent call. To retrieve the previous page of results, pass the value of page_before (if not null) from the response to a subsequent call.

page_sizeinteger

Number of related objects to be listed per page. The maximum is 100.

to_created_atstring

Filter for items created before this date in ISO8601 format (inclusive).

Response body - 200 OK
itemsarray
items.billing_amountsarray

Aggregated billing totals grouped by currency. Each entry contains cumulative amounts across all card transactions and transaction events within this lifecycle, including totals for authorized, debited, credited, declined, expired, pending, and reversed amounts.

items.billing_amounts.currencystring

Three-letter ISO 4217 currency code for all amounts in this object.

items.billing_amounts.total_authorizednumber

Total amount authorized (funds reserved in the wallet).

items.billing_amounts.total_creditednumber

Total amount credited (funds returned to the wallet, e.g., refunds).

items.billing_amounts.total_debitednumber

Total amount debited (funds moved out of the wallet after clearing).

items.billing_amounts.total_declinednumber

Total amount declined (transaction amounts that were rejected).

items.billing_amounts.total_expirednumber

Total amount expired (authorized amounts that were never captured and have been released).

items.billing_amounts.total_pendingnumber

Total amount still pending (outstanding authorized amount not yet cleared, reversed, or expired).

items.billing_amounts.total_reversednumber

Total amount reversed (authorized amounts that were cancelled and released).

items.card_idstring

Unique identifier of the card associated with this lifecycle.

items.created_atstring

Date and time when the lifecycle was created, in ISO 8601 format.

items.idstring

Unique identifier of the lifecycle.

items.updated_atstring

Date and time when the lifecycle was last updated (e.g., when a new card transaction or transaction event was added), in ISO 8601 format.

page_afterstring

A marker for retrieving the next page of results. Include this value in the page request parameter to retrieve subsequent pages.

page_beforestring

A marker for retrieving the previous page of results. Include this value in the page request parameter to retrieve previous pages.

Errors
Error statusDescription
400

Possible errors: field_required, bad_request, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/issuing/lifecycles
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/issuing/lifecycles' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "billing_amounts": [
5 {
6 "currency": "USD",
7 "total_authorized": 100,
8 "total_credited": 0,
9 "total_debited": 100,
10 "total_declined": 0,
11 "total_expired": 0,
12 "total_pending": 0,
13 "total_reversed": 0
14 }
15 ],
16 "card_id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
17 "created_at": "2018-03-22T16:08:02+00:00",
18 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
19 "updated_at": "2018-03-22T16:08:02+00:00"
20 }
21 ],
22 "page_after": "YWZ0ZXI9MmFjNmEzMjQtM2IwNC00M2JkLThmNTUtOWQ5YzdmZjEzZGZm",
23 "page_before": "YmVmb3JlPWVmZDQxZTk3LTU2MzctNDQ5MC04NjNkLTU2MDE5MjIwNDQ2YQ=="
24}
Was this section helpful?

Get single card transaction lifecycle

GET /api/v1/issuing/lifecycles/{id}

Retrieve a single lifecycle by its unique identifier. The response includes aggregated billing amounts across all card transactions and transaction events in this lifecycle.

Parameters
idrequiredstring

Unique identifier of the lifecycle.

Response body - 200 OK
billing_amountsarray

Aggregated billing totals grouped by currency. Each entry contains cumulative amounts across all card transactions and transaction events within this lifecycle, including totals for authorized, debited, credited, declined, expired, pending, and reversed amounts.

billing_amounts.currencystring

Three-letter ISO 4217 currency code for all amounts in this object.

billing_amounts.total_authorizednumber

Total amount authorized (funds reserved in the wallet).

billing_amounts.total_creditednumber

Total amount credited (funds returned to the wallet, e.g., refunds).

billing_amounts.total_debitednumber

Total amount debited (funds moved out of the wallet after clearing).

billing_amounts.total_declinednumber

Total amount declined (transaction amounts that were rejected).

billing_amounts.total_expirednumber

Total amount expired (authorized amounts that were never captured and have been released).

billing_amounts.total_pendingnumber

Total amount still pending (outstanding authorized amount not yet cleared, reversed, or expired).

billing_amounts.total_reversednumber

Total amount reversed (authorized amounts that were cancelled and released).

card_idstring

Unique identifier of the card associated with this lifecycle.

created_atstring

Date and time when the lifecycle was created, in ISO 8601 format.

idstring

Unique identifier of the lifecycle.

updated_atstring

Date and time when the lifecycle was last updated (e.g., when a new card transaction or transaction event was added), in ISO 8601 format.

Errors
Error statusDescription
400

Possible errors: field_required, bad_request, invalid_argument

401

Possible errors: credentials_invalid, credentials_expired

429

Too many requests

500

Service unavailable

GET /api/v1/issuing/lifecycles/{id}
$curl --request GET \
> --url 'https://api-demo.airwallex.com/api/v1/issuing/lifecycles/card_transaction_lifecycle_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "billing_amounts": [
3 {
4 "currency": "USD",
5 "total_authorized": 100,
6 "total_credited": 0,
7 "total_debited": 100,
8 "total_declined": 0,
9 "total_expired": 0,
10 "total_pending": 0,
11 "total_reversed": 0
12 }
13 ],
14 "card_id": "6c2dc266-09ad-4235-b61a-767c7cd6d6ea",
15 "created_at": "2018-03-22T16:08:02+00:00",
16 "id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",
17 "updated_at": "2018-03-22T16:08:02+00:00"
18}
Was this section helpful?