YateOTA – JSON API for Control & Stats

In order to configure/control PRODUCT, please use URL:  http://ip-of-server-where-PRODUCT-is-installed/api.php

Learn about OTA campaigns – YateOTA Requests, YateOTA Responses and YateOTA Errors​

Request: query_campaigns

Retrieve aggregated information about OTA campaigns.
This request has multiple formats in which it can be sent:
{
    "request": "query_campaigns",
    "node": "ota",
    "params": {}
}
{ "request": "query_campaigns", "node": "ota", "params": { "limit": "Number of campaigns to return", "offset": "The starting point to return campaigns" } }
{ "request": "query_campaigns", "node": "ota", "params": { "campaign_id": "Return a single campaign by specifying the campaign_id" } }
Examples: query_campaigns
Retrieve status for each campaign.
{
    "request": "query_campaigns",
    "node": "ota",
    "params": {}
}
Retrieve status for a limited number of campaigns using parameters limit and offset.
{
    "request": "query_campaigns",
    "node": "ota",
    "params": {
        "limit": 3,
        "offset": 0
    }
}
Retrieve status for a single campaign by specifying campaign_id.
{
    "request": "query_campaigns",
    "node": "ota",
    "params": {
        "campaign_id": 147
    }
}

Request: action_campaign

Modify a RAM/RFM OTA campaign status
{
    "request": "action_campaign",
    "node": "ota",
    "params": {
        "campaign_id": "Id of the campaign. Required.",
        "action": "stop/pause/restart"
    }
}
Examples: action_campaign
Stop a running campaign.
{
    "request": "action_campaign",
    "node": "ota",
    "params": {
        "campaign_id": 144,
        "action": "stop"
    }
}
Pause a running campaign.
{
    "request": "action_campaign",
    "node": "ota",
    "params": {
        "campaign_id": 144,
        "action": "pause"
    }
}
Restart a campaign.
{
    "request": "action_campaign",
    "node": "ota",
    "params": {
        "campaign_id": 144,
        "action": "restart"
    }
}

Request: query_participants

Retrieve participants for an OTA campaign
This request has multiple formats in which it can be sent:
{
    "request": "query_participants",
    "node": "ota",
    "params": {
        "campaign_id": "Id of the campaign."
    }
}
{ "request": "query_participants", "node": "ota", "params": { "campaign_id": "Id of the campaign.", "limit": "Number of participants to return", "offset": "The starting point to return participants from a campaign" } }
{ "request": "query_participants", "node": "ota", "params": { "campaign_id": "Id of the campaign.", "limit": "Number of participants to return", "offset": "The starting point to return participants from a campaign", "state": "pending_build/pending_send/failed/finished. Return participants from a campaign after state." } }
Examples: query_participants
Retrieve number of participants set in a campaign.
{
    "request": "query_participants",
    "node": "ota",
    "params": {
        "campaign_id": "176"
    }
}
Retrieve a limited number of participants set in a campaign using parameters limit and offset.
{
    "request": "query_participants",
    "node": "ota",
    "params": {
        "campaign_id": 167,
        "offset": 0,
        "limit": 20
    }
}
Retrieve participants set in a campaign by specifying status.
{
    "request": "query_participants",
    "node": "ota",
    "params": {
        "campaign_id": 167,
        "offset": 0,
        "limit": 20,
        "state": "finished"
    }
}

Request: action_participant

Change participant status for an OTA campaign
{
    "request": "action_participant",
    "node": "ota",
    "params": {
        "comment__participants": "A combination of below.Either imsi/iccid + optionally campaign_id / partiticipant_id",
        "participant_id": "Id of the participant.",
        "campaign_id": "If retry_build is for iccid/imsi for specific campaign",
        "iccid": "",
        "imsi": "",
        "action": "Required. One of: cancel/hurry/retry/retry_build/rerun. Action is based on participant status."
    }
}
Examples: action_participant
Retry building messages for previously unallocated imsi/iccid. Used when defininng campaign per large imsi/iccid ranges and some sims don't have subscribers yet. This participants will be marked as unallocated and this request can be used to trigger building campaign for then when they first appear online.
{
    "request": "action_participant",
    "node": "ota",
    "params": {
        "iccid": "SIM ICCID as it was used when campaign by range was added",
        "action": "retry_build"
    }
}
Rerun older campaigns for imsi/iccid/msisdn. Used in case of esim profile being downloaded again. Before rerunning campaigns ota_counter per sim is reset to initial value. If request is per msisdn is per msisdn, only campaigns that were for than msisdn/current imsi are rerun -- in case user kept his number and moved to sim to esim. Campaigns for older sims should not be run again.
{
    "request": "action_participant",
    "node": "ota",
    "params": {
        "iccid": "SIM ICCID as it was used when campaign by range was added",
        "imsi": "",
        "msisdn": "",
        "action": "rerun"
    }
}
Hurry a pending message.
{
    "request": "action_participant",
    "node": "ota",
    "params": {
        "participant_id": "Id of the participant.",
        "action": "hurry",
        "comment__action": "Messages that have status failed/waiting_por can not be hurried."
    }
}
Retry to send a message.
{
    "request": "action_participant",
    "node": "ota",
    "params": {
        "participant_id": "195",
        "action": "retry"
    }
}
Cancel sending a message.
{
    "request": "action_participant",
    "node": "ota",
    "params": {
        "participant_id": "195",
        "action": "cancel"
    }
}

Request: trace

Trace participants from an OTA campaign.
Parameter campaign_id is mandatory.
One of the following parameters must pe specified: participant_id/msisdn/imsi
{
    "request": "trace",
    "node": "ota",
    "params": {
        "campaign_id": "Id of the campaign. Mandatory Parameter",
        "participant_id": "Id of the participant. Optional Parameter.",
        "msisdn": "Phone Number.  Optional Parameter",
        "imsi": "IMSI.  Optional Parameter"
    }
}
Examples: trace
Trace a participant from a campaign by specifying participant_id.
{
    "request": "trace",
    "node": "ota",
    "params": {
        "campaign_id": "142",
        "participant_id": "161"
    }
}

Request: query_stats

Retrieve statistics from a running node.
More information about this request here
This documentation was generated on 04 May 2026