---
title: "Get airtime transaction by ID"
method: GET
path: "/v1/projects/{project_id}/airtime_transactions/{id}"
tags: ["AirtimeTransaction"]
---

# Get airtime transaction by ID

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

## Request

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

Gets an airtime transaction by ID

## Path parameters

- `project_id` string, required
- `id` string, required

## Response `200`

Successful response

- AirtimeTransaction: Represents a transaction where airtime is sent to a mobile phone number. This also is used to represent non-airtime value transfers such as data bundles or gift cards. To send airtime, first [create a Custom Actions service to send a particular amount of airtime](https://telerivet.com/dashboard/add_service?subtype_id=main.service.rules.contact&action_id=main.rule.sendairtime), then trigger the service using service.invoke, project.sendBroadcast, or project.scheduleMessage.
  - `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.

## 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)
