Sonetel · Schema
List my phone number subscriptions
This is a list of subscriptions under an account
CompanyTelephonyPhone NumbersVoIPCommunicationsSMSCall RecordingSmall Business
Properties
| Name | Type | Description |
|---|---|---|
| page_metadata | object | Pagination information in case the results span across more than 1 page. |
| resource | string | Name of the resource accessed |
| status | string | Status of the response |
| response | array | The response object. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/sonetel/main/json-schema/sonetel-list-phnum-subscriptions-schema.json",
"title": "List my phone number subscriptions",
"description": "This is a list of subscriptions under an account",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/sonetel-phone-numbers-openapi.yml#/components/schemas/List-PhnumSubscriptions",
"type": "object",
"properties": {
"page_metadata": {
"type": "object",
"description": "Pagination information in case the results span across more than 1 page.",
"properties": {
"pagination_type": {
"type": "string",
"description": "Describes the pagination type",
"minLength": 1
},
"count": {
"type": "string",
"description": "Number of objects in the response",
"minLength": 1
},
"page_count": {
"type": "string",
"description": "The total number of pages in the result",
"minLength": 1
},
"previous": {
"type": "string",
"description": "Link to the previous result page.",
"minLength": 1
},
"next": {
"type": "string",
"description": "Link to the next result page.",
"minLength": 1
},
"page": {
"type": "string",
"description": "Link to the current page.",
"minLength": 1
},
"first": {
"type": "string",
"description": "Link to the first page in the results.",
"minLength": 1
},
"last": {
"type": "string",
"description": "Link to the last page in the results.",
"minLength": 1
},
"sort": {
"type": "object",
"description": "Sort order of the results",
"properties": {
"property": {
"type": "string",
"minLength": 1
},
"ignoreCase": {
"type": "boolean"
},
"nullHandling": {
"type": "string",
"minLength": 1
},
"descending": {
"type": "boolean"
},
"ascending": {
"type": "boolean"
}
}
}
}
},
"resource": {
"type": "string",
"description": "Name of the resource accessed",
"minLength": 1
},
"status": {
"type": "string",
"description": "Status of the response",
"minLength": 1
},
"response": {
"type": "array",
"description": "The response object.",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"account_id": {
"type": "string",
"description": "The account_id is the account to which the number is currently assigned.",
"minLength": 1
},
"country_code": {
"type": "string",
"description": "The telephony country code as per ITU standards.",
"minLength": 1
},
"area_code": {
"type": "string",
"description": "The telephone area code of the phone number",
"minLength": 1
},
"country": {
"type": "string",
"description": "The country where the number is from.",
"minLength": 1
},
"is_part_of_series": {
"type": "string",
"description": "A Boolean that specifies if the number is a part of a number series",
"minLength": 1
},
"range": {
"type": "string",
"description": "Applicable if the phone number subscription is of a number that is a part of a phone number series. The value specifies the quantity of phone numbers in the number series of which this phone number is a part of",
"minLength": 1
},
"city": {
"type": "string",
"description": "Name of the city where the number is. The name is descriptive and does not follow any standard.",
"minLength": 1
},
"type": {
"type": "string",
"enum": [
"national",
"geographic",
"tollfree",
"mobile"
],
"description": "Type of number – This can be either “national”, “geographic”, or “tollfree”",
"minLength": 1,
"readOnly": true
},
"one_time_fee": {
"type": "string",
"description": "One-time fee for the number/series. Up to 2 decimals.",
"minLength": 1
},
"recurring_fee": {
"type": "string",
"description": "Current recurring fee for the number/series. Up to 2 decimals",
"minLength": 1
},
"recurrence_interval": {
"type": "string",
"description": "Current recurrence interval for the recurring fee. Specified in days(e.g. 15d) or months(e.g. 3m).",
"minLength": 1
},
"per_call_fee": {
"type": "string",
"description": "The per call fee applicable to the number. Up to 2 decimals",
"format": "float",
"readOnly": true
},
"per_min_fee": {
"type": "string",
"description": "The charge per minute fee for calls. Up to 2 decimals",
"minLength": 1
},
"charge_interval": {
"type": "string",
"description": "The charge interval in seconds",
"minLength": 1
},
"per_sms_fee": {
"type": "string",
"description": "The per SMS receiving fee applicable. Up to 2 decimals",
"minLength": 1
},
"per_fax_fee": {
"type": "string",
"description": "The per FAX receiving fee applicable. Up to 2 decimals"
},
"currency": {
"type": "string",
"description": "The currency in which the fee is specified",
"minLength": 1
},
"price_category": {
"type": "string",
"description": "The price category of the number/series. The allowed values are 1- regular, 2- gold, 3 - gold+, 4 - gold++, 5 -gold+++",
"minLength": 1
},
"connect_to_type": {
"type": "string",
"enum": [
"user",
"phnum",
"sip",
"app",
"csg"
],
"description": "The destination to which this number is connected. The supported values are user, phnum, sip,app, csg",
"minLength": 1
},
"connect_to": {
"type": "string",
"description": "The id of the connected to entity",
"minLength": 1
},
"activation_date": {
"type": "string",
"description": "The date/time the number/series was activated.",
"minLength": 1
},
"next_fee_date": {
"type": "string",
"description": "The date/time that the next recurring fee is to be charged",
"minLength": 1
},
"reclaim_date": {
"type": "string",
"description": "The date/time an inactive number will be automatically removed from your account if it is inactive due to insufficient balance in the account.",
"minLength": 1
},
"status": {
"type": "string",
"description": "The number/series status. Can take values “active” or “inactive”",
"minLength": 1
},
"status_desc": {
"type": "string",
"description": "The text reason specification. Applies in case the number is inactive."
},
"freetest": {
"type": "string",
"description": "Booleanthat specifies if this subscription is currently under free testing. Takes Boolean values.",
"minLength": 1
},
"branded": {
"type": "boolean",
"description": "Flag that specifies whether the number is a branded number i.e. free with the website chat widget."
},
"freeplan": {
"type": "boolean",
"description": "Flag that specifies whether the number is included for free with [paid plans](https://sonetel.com/plans)."
},
"sms_enabled": {
"type": "string",
"description": "Numbers that have SMS enabled.",
"minLength": 1
},
"sms_supported": {
"type": "string",
"description": "Numbers that support SMS.",
"minLength": 1
},
"phnum": {
"type": "string",
"description": "The number in E164 format without ‘+’",
"minLength": 1
},
"free_test_expiry_date": {
"type": "string",
"description": "The date/time when the free testing period ends."
},
"sms_settings": {
"type": "object",
"description": "SMS delivery settings for the number.",
"properties": {
"delivery_methods": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"dest_type": {
"type": "string",
"minLength": 1
}
},
"required": [
"dest_type"
]
}
}
}
},
"plan_details": {
"type": "object",
"description": "The plan details of the number. Only the `next_renew_mode` can be updated",
"properties": {
"current_renew_mode": {
"type": "string",
"enum": [
"1m",
"1y",
"3y"
],
"description": "This is a readonly property that holds values of 1m,1y,3y. 1m stands for one month, 1y stands for one year and 3y stands for 3 years renewal period",
"minLength": 1,
"readOnly": true
},
"next_renew_mode": {
"type": "string",
"enum": [
"1m",
"1y",
"3y"
],
"description": "When the number renews on `next_fee_date` how long should it renew for.",
"minLength": 1
},
"activation_date": {
"type": "string",
"description": "The date of creation of the phone number subscription.",
"format": "date-time",
"minLength": 1,
"readOnly": true
},
"next_fee_date": {
"type": "string",
"description": "The date on which the next renewal fee is due.",
"minLength": 1
},
"deactivate_date": {
"type": "string",
"description": "The date on which the number will be deactivated if your account does not have enough credit to apply the `next_recurring_fee`. This date includes a grace period.",
"format": "date-time",
"minLength": 1,
"readOnly": true
},
"next_recurring_fee": {
"type": "string",
"description": "The cost of the next renewal. (upto 2 decimals)",
"minLength": 1,
"readOnly": true
}
}
},
"show": {
"type": "string",
"enum": [
"caller",
"called"
],
"description": "This field lists what to show in the CLI if the phone number is not connected to a user. Valid values are \"caller\", \"called\". ",
"minLength": 1
},
"rule_set_id": {
"type": "string",
"description": "The Id of the rule set if exceptions are defined for call processing. This field is empty if no exceptions are defined."
},
"state": {
"type": "string",
"description": "If the phone number is from USA, then this will hold the name of the state",
"minLength": 1,
"readOnly": true
},
"addr_req": {
"type": "string",
"description": "Flag indicating whether there are any address requirements for this number. Can take values 'yes', 'no'",
"minLength": 1,
"readOnly": true
},
"addr_proof": {
"type": "string",
"description": "Flag indicating whether submission of address proof is required for this number. Can take values 'yes', 'no'",
"minLength": 1,
"readOnly": true
},
"access_restrictions": {
"type": "string",
"description": "Indicates if there are any access restriction from any provider on this number.",
"minLength": 1,
"readOnly": true
},
"restrictions_desc": {
"type": "string",
"description": "Any additional restrictions applicable on this number.",
"minLength": 1
},
"cli_support": {
"type": "string",
"enum": [
"yes",
"no",
"add_on"
],
"description": "Indicates whethe the phone number can be shown as caller ID (CLI) in calls.\n\n- no → can never be used for CLI\n- yes → number can be used for CLI\n- add_on → can be used as CLI with a package",
"minLength": 1,
"readOnly": true
},
"business_pkg_support": {
"type": "string",
"enum": [
"yes",
"no"
],
"description": "Indicates whether business package is supported on this number. ",
"minLength": 1,
"readOnly": true,
"x-deprecated": true
},
"package": {
"type": "string",
"enum": [
"regular",
"standard",
"business"
],
"description": "Describes the current package on this number. Available values \"regular\", \"standard\", \"business\"",
"minLength": 1
},
"call_recording_allowed": {
"type": "string",
"enum": [
"yes",
"no",
"add_on"
],
"description": "This property indicates whether call recording can be enabled on this number. Available values \"yes\", \"no\" \"add-on\".",
"minLength": 1
},
"voiceapp_connect": {
"type": "string",
"enum": [
"yes",
"no"
],
"description": "Indicates whether this number can be allowed to connect to a voice app",
"minLength": 1
},
"csg_connect": {
"type": "string",
"enum": [
"yes",
"no"
],
"description": "Indicates whether this number can be allowed to connect to a team.",
"minLength": 1
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/sonetel-list-phnum-subscriptions"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.