# Get a transaction

`GET https://app.shuttleglobal.com/c/api/instances/{instance_key}/transactions/{transaction_id}`

Get details of a specific transaction.

You can expand the following fields:
`account`, `captures`, `contract`, `created_session`, `gateway`, `parts`, `payment_method`, `refunds`, `source_transaction`, `updated_session`

## Authentication

- basicAuth: Basic Authentication using secret key
- bearerAuth: OAuth 2.0 Bearer Token Authentication

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `transaction_id` | path | string | yes | The transaction's ID (`tr_...`), or its `alt_key`. |
| `expand` | query | string | no | Fields to expand into full objects |

## Responses

### 200: Successful response

```json
{
  "transaction": {
    "account": "string",
    "action": "PAYMENT",
    "alt_key": "string",
    "amount": "string",
    "authorisation_code": "string",
    "authorised": "string",
    "balance": "string",
    "browser_ip_address": "string",
    "browser_accept_header": "string",
    "browser_javascript": true,
    "browser_locale": "string",
    "browser_user_agent": "string",
    "browser_size": "string",
    "browser_java_enabled": true,
    "browser_color_depth": "string",
    "browser_timezone": "string",
    "captures": [
      "string"
    ],
    "captured": "string",
    "channel": "string",
    "contract": "string",
    "created": "2026-01-01T12:00:00Z",
    "created_session": "string",
    "currency": "string",
    "description": "string",
    "designation": "string",
    "division": "string",
    "expires": "2026-01-01T12:00:00Z",
    "gateway": "string",
    "gateway_message": "string",
    "gateway_metadata": {},
    "gateway_reference": "string",
    "gateway_status": "string",
    "gateway_view_transaction": "string",
    "id": "string",
    "initiated": "2026-01-01T12:00:00Z",
    "initiative": "string",
    "legal_entity": "string",
    "next_attempt": "string",
    "metadata": {},
    "parts": [
      "string"
    ],
    "payment_method": "string",
    "payment_method_used_token": true,
    "processed": "2026-01-01T12:00:00Z",
    "redirect_url": "string",
    "reason": "string",
    "reference": "string",
    "refunds": [
      "string"
    ],
    "refund": "string",
    "refunded": "string",
    "resolved": "2026-01-01T12:00:00Z",
    "settle_currency": "string",
    "settle_fee_amount": "string",
    "settle_gross_amount": "string",
    "settle_net_amount": "string",
    "source": "ECOMMERCE",
    "source_transaction": "string",
    "status": "SUCCESS",
    "sub_status": "NO_ACTION_REQUIRED",
    "sub_status_reason": "follow_bank_transfer_instructions",
    "target_date": "2026-01-01T12:00:00Z",
    "updated": "2026-01-01T12:00:00Z",
    "updated_session": "string",
    "voided": "string",
    "voids": [
      "string"
    ],
    "v": 0,
    "workflows": [
      "string"
    ],
    "workflow_status": "OK"
  }
}
```

### 400: Bad request - invalid parameters

```json
{
  "code": "string",
  "message": "string"
}
```

### 401: Unauthorized - invalid credentials

```json
{
  "code": "UNAUTHORIZED",
  "message": "Unauthorised"
}
```

### 404: Transaction not found

```json
{
  "code": "string",
  "message": "string"
}
```

## Example request

```sh
curl --request GET \
  --url https://app.shuttleglobal.com/c/api/instances/YOUR_INSTANCE_KEY/transactions/TRANSACTION_ID \
  --header 'Authorization: Basic <base64 of SECRET_KEY:>'
```

Reference page: https://docs.shuttleglobal.com/merchants/reference/operations/gettransaction/