# Get a charge

`GET https://app.shuttleglobal.com/c/api/instances/{instance_key}/charges/{charge_id}`

Retrieve details of a specific charge.

You can expand the following fields:
- contract
- created_session
- updated_session

## Authentication

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

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `charge_id` | path | string | yes | The charge's ID (`cg_...`), or the `alt_key` you gave it. |
| `expand` | query | string | no | Fields to expand into full objects |

## Responses

### 200: Charge details

```json
{
  "charge": {
    "id": "string",
    "amount": "string",
    "alt_key": "string",
    "charge_number": 0,
    "extra_charge": true,
    "completed": "2026-01-01T12:00:00Z",
    "contract": "string",
    "created": "2026-01-01T12:00:00Z",
    "created_session": "string",
    "due": "2026-01-01T12:00:00Z",
    "initiated": "2026-01-01T12:00:00Z",
    "outstanding_amount": "string",
    "overdue_amount": "string",
    "recurring": true,
    "paid_amount": "string",
    "status": "ACTIVE",
    "updated": "2026-01-01T12:00:00Z",
    "updated_session": "string",
    "writtenoff_amount": "string",
    "v": 0
  }
}
```

### 400: Bad request

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

### 401: Unauthorised: the API key is missing or not valid

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

### 404: Resource not found

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

## Example request

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

Reference page: https://docs.shuttleglobal.com/platforms/reference/operations/getcharge/