> ## Documentation Index
> Fetch the complete documentation index at: https://docs.byzly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Shipment tracking

> Attach shipment tracking details to a capture and forward them to payment services that support them.

When you capture a payment after the goods have shipped, you can attach the shipment tracking details to the capture. Gr4vy stores them with the capture and forwards them to payment services that support them.

Tracking details work with any delayed capture, whether you capture a payment once or in [multiple captures](/guides/features/multi-captures/overview).

## Add tracking details to a capture

Include a `tracking` array when you [capture a transaction](/reference/transactions/capture-transaction). Each entry describes one shipment, and a capture can include up to 5 entries.

| Field | Required | Description |
| - | - | - |
| `number` | Yes | The tracking number for the shipment. |
| `carrier` | Yes | The carrier handling the shipment, for example `ups`. Use `other` if the carrier isn't in the list of supported values. |
| `url` | No | A URL where the buyer can track the shipment. |

See the [capture transaction](/reference/transactions/capture-transaction) reference for the full list of supported carriers.

```http theme={"system"}
POST /transactions/{transaction_id}/capture
```

```json theme={"system"}
{
  "amount": 1299,
  "tracking": [
    {
      "number": "1Z999AA10123456784",
      "carrier": "ups",
      "url": "https://www.ups.com/track?tracknum=1Z999AA10123456784"
    }
  ]
}
```

## Payment service support

Gr4vy accepts tracking details on captures for every connection. They're only forwarded to payment services that support them. To see which connectors support shipment tracking, filter the [connector catalog](/connections/catalog?supports=shipment-tracking) or check the **Capabilities** section of each connector's page.

Each carrier is mapped to the equivalent value that the payment service expects. If a payment service has no matching value, Gr4vy uses its generic "other" or "unknown" value where one exists, and otherwise sends no carrier value.

Some payment services don't accept every field. Check the connector's page for any differences in how tracking details are handled.

## Retrieve tracking details

Gr4vy always stores tracking details on the capture record. This is the case even when they weren't forwarded to the payment service, or when the capture or tracking request to the payment service failed.

You can retrieve them in the following ways:

* Call [list transaction captures](/reference/transactions/list-transaction-captures) or [get transaction capture](/reference/transactions/get-transaction-capture). Each capture includes its `tracking` details.
* Set the `Prefer: resource=transaction-capture` header when you capture the transaction. The response is then a `transaction-capture` resource that includes `tracking`, rather than the default `transaction` resource. See [Prefer header](/guides/api/prefer-header) for details.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.