---
title: "Query airtime transactions"
method: GET
path: "/v1/projects/{project_id}/airtime_transactions"
tags: ["AirtimeTransaction"]
---

# Query airtime transactions

`GET /v1/projects/{project_id}/airtime_transactions`

## Request

- Base URL: `https://api.telerivet.com`
- URL: `https://api.telerivet.com/v1/projects/{project_id}/airtime_transactions`
- Auth: one of:
  - HTTP basic
  - OAuth 2 (authorization code, authorization URL `https://telerivet.com/oauth/authorize`, token URL `https://api.telerivet.com/oauth/token`)

Returns information about each airtime transaction.

## Path parameters

- `project_id` string, required

## Query parameters

- `time_created[min]` integer: Unix timestamp in seconds
- `time_created[max]` integer: Unix timestamp in seconds
- `contact_id` string
- `to_number` string
- `service_id` string
- `status` 'pending' | 'queued' | 'processing' | 'submitted' | 'successful' | 'failed' | 'cancelled' | 'pending_payment' | 'pending_approval'
- `sort_dir` 'asc' | 'desc'
- `page_size` integer
- `offset` integer
- `marker` string
- `count` boolean

## Response `200`

Successful response. When count=1 parameter is provided, returns {"count": N} instead.

- object
  - `data` AirtimeTransaction[]: Array of results (omitted when count=1)
    - `id` string: ID of the airtime transaction
    - `to_number` string: Destination phone number in international format (no leading +)
    - `operator_name` string: Operator name
    - `country` string: Country code
    - `time_created` integer: The time that the airtime transaction was created on Telerivet's servers
    - `transaction_time` integer: The time that the airtime transaction was sent, or null if it has not been sent
    - `status` 'successful' | 'failed' | 'cancelled' | 'queued' | 'processing' | 'submitted' | 'pending_approval' | 'pending_payment': Current status of airtime transaction (`successful`, `failed`, `cancelled`, `queued`, `processing`, `submitted`, `pending_approval`, or `pending_payment`)
    - `status_text` string: Error or success message returned by airtime provider, if available
    - `value` string: Value of airtime sent to destination phone number, in units of value_currency
    - `value_currency` string: Currency code of price
    - `price` string: Price charged for airtime transaction, in units of price_currency
    - `price_currency` string: Currency code of price
    - `contact_id` string: ID of the contact the airtime was sent to
    - `service_id` string: ID of the service that sent the airtime
    - `project_id` string: ID of the project that the airtime transaction belongs to
    - `external_id` string: The ID of this transaction from an external airtime gateway provider, if available.
    - `user_id` string: ID of the Telerivet user who sent the airtime transaction (if applicable)
    - `vars` object: Custom variables stored for this transaction. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.
  - `truncated` boolean: True if there are more results
  - `next_marker` string: Marker for pagination
  - `page_size` integer: Number of results per page
  - `sort_dir` 'asc' | 'desc': Sort direction
  - `count` integer: Total count of matching items (only when count=1 parameter is provided)

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key or Bearer token
- `404`: Resource not found

---

[API](https://skmtc.dev/telerivet/apis/telerivet-api.md) · [All operations](https://skmtc.dev/telerivet/apis/telerivet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/telerivet/apis/telerivet-api/revisions/4e14b1c8d917?raw)
