Sinch · Schema

RentAnyNumberRequest

Request message for searching and renting in one go any number that matches the search criteria.

CommunicationsMessagingSMSVoiceVerificationCPaaSTelecommunicationsWhatsApp

Properties

Name Type Description
numberPattern object
regionCode object ISO 3166-1 alpha-2 country code of the phone number. This endpoint only supports `US`.
type object Number type. This endpoint only supports `LOCAL`.
capabilities array Number capabilities to filter by, `SMS` and/or `VOICE`.
smsConfiguration object
voiceConfiguration object
callbackUrl string The callback URL to be called for a rented number's provisioning / deprovisioning operations.
View JSON Schema on GitHub

JSON Schema

sinch-rent-any-number-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/sinch/main/json-schema/sinch-rent-any-number-request-schema.json",
  "title": "RentAnyNumberRequest",
  "description": "Request message for searching and renting in one go any number that matches the search criteria.",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sinch-numbers-api-openapi.yml#/components/schemas/RentAnyNumberRequest",
  "required": [
    "regionCode",
    "type"
  ],
  "type": "object",
  "properties": {
    "numberPattern": {
      "$ref": "#/$defs/NumberPattern"
    },
    "regionCode": {
      "allOf": [
        {
          "$ref": "#/$defs/RegionCode"
        }
      ],
      "description": "ISO 3166-1 alpha-2 country code of the phone number. This endpoint only supports `US`."
    },
    "type": {
      "allOf": [
        {
          "$ref": "#/$defs/NumberType"
        }
      ],
      "description": "Number type. This endpoint only supports `LOCAL`."
    },
    "capabilities": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NumberCapability"
      },
      "description": "Number capabilities to filter by, `SMS` and/or `VOICE`."
    },
    "smsConfiguration": {
      "$ref": "#/$defs/smsConfiguration"
    },
    "voiceConfiguration": {
      "$ref": "#/$defs/VoiceConfiguration"
    },
    "callbackUrl": {
      "type": "string",
      "description": "The callback URL to be called for a rented number's provisioning / deprovisioning operations."
    }
  },
  "$defs": {
    "NumberCapability": {
      "type": "string",
      "enum": [
        "SMS",
        "VOICE"
      ],
      "x-enumDescriptions": {
        "SMS": "The SMS product can use the number.",
        "VOICE": "The Voice product can use the number."
      },
      "default": "SMS",
      "description": "The capabilities the phone number supports: SMS, Voice, or both",
      "title": "Capability"
    },
    "NumberPattern": {
      "type": "object",
      "properties": {
        "pattern": {
          "type": "string",
          "description": "Sequence of digits to search for."
        },
        "searchPattern": {
          "$ref": "#/$defs/NumberPatternSearchPattern"
        }
      },
      "title": "Search Pattern"
    },
    "NumberPatternSearchPattern": {
      "type": "string",
      "enum": [
        "START",
        "CONTAINS",
        "END"
      ],
      "x-enumDescriptions": {
        "START": "Numbers that start with the provided sequence of digits.",
        "CONTAINS": "Numbers that contain the sequence of digits entered.",
        "END": "Numbers that end with the sequence of digits entered."
      },
      "description": "The pattern to apply to searches.",
      "title": "Search Pattern"
    },
    "NumberType": {
      "type": "string",
      "enum": [
        "MOBILE",
        "LOCAL",
        "TOLL_FREE"
      ],
      "x-enumDescriptions": {
        "MOBILE": "Numbers that belong to a specific range.",
        "LOCAL": "Numbers that are assigned to a specific geographic region.",
        "TOLL_FREE": "Numbers that are free of charge for the calling party but billed for all arriving calls."
      },
      "description": "The number type.",
      "title": "Type",
      "nullable": false
    },
    "ProvisioningStatus": {
      "default": "WAITING",
      "description": "The provisioning status. It will be either `WAITING`, `IN_PROGRESS` or `FAILED`. If the provisioning fails, a reason for the failure will be provided. [See a full list of provisioning error descriptions]<(https://developers.sinch.com/docs/numbers/api-reference/error-codes/provisioning-errors) and troubleshooting recommendations.",
      "enum": [
        "PROVISIONING_STATUS_UNSPECIFIED",
        "WAITING",
        "IN_PROGRESS",
        "FAILED"
      ],
      "x-enumDescriptions": {
        "PROVISIONING_STATUS_UNSPECIFIED": "The status is currently unknown.",
        "WAITING": "Waiting for provisioning",
        "IN_PROGRESS": "Provisioning in progress",
        "FAILED": "Provisioning failed. See [provisioning error descriptions](https://developers.sinch.com/docs/numbers/api-reference/error-codes/provisioning-errors)"
      },
      "title": "Provisioning Status"
    },
    "RegionCode": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code of the phone number. Example: US, GB or SE.",
      "title": "Region Code",
      "nullable": false
    },
    "ScheduledVoiceProvisioning": {
      "type": "object",
      "readOnly": true,
      "description": "Represents the ongoing or failed scheduled voice provisioning job. This field will be empty if the number was successfully provisioned provisioned for voice.",
      "required": [
        "type"
      ],
      "oneOf": [
        {
          "$ref": "#/$defs/ScheduledVoiceProvisioningEST"
        },
        {
          "$ref": "#/$defs/ScheduledVoiceProvisioningFAX"
        },
        {
          "$ref": "#/$defs/ScheduledVoiceProvisioningRTC"
        }
      ],
      "title": "Scheduled Voice Provisioning"
    },
    "ScheduledVoiceProvisioningCommon": {
      "type": "object",
      "required": [
        "type"
      ],
      "allOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "$ref": "#/$defs/VoiceApplicationType"
            },
            "lastUpdatedTime": {
              "type": "string",
              "description": "Timestamp when the status was last updated.",
              "format": "date-time",
              "readOnly": true
            },
            "status": {
              "$ref": "#/$defs/ProvisioningStatus"
            }
          }
        }
      ]
    },
    "ScheduledVoiceProvisioningEST": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/ScheduledVoiceProvisioningCommon"
        },
        {
          "$ref": "#/$defs/VoiceTrunkId"
        }
      ]
    },
    "ScheduledVoiceProvisioningFAX": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/ScheduledVoiceProvisioningCommon"
        },
        {
          "$ref": "#/$defs/VoiceServiceId"
        }
      ]
    },
    "ScheduledVoiceProvisioningRTC": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/ScheduledVoiceProvisioningCommon"
        },
        {
          "$ref": "#/$defs/VoiceAppId"
        }
      ]
    },
    "SmsErrorCode": {
      "type": "string",
      "x-enumDescriptions": {
        "ERROR_CODE_UNSPECIFIED": "Code not specified.",
        "INTERNAL_ERROR": "Internal server error.",
        "SMS_PROVISIONING_FAILED": "Provisioning for SMS failed.",
        "CAMPAIGN_PROVISIONING_FAILED": "Provisioning for campaign failed.",
        "CAMPAIGN_NOT_AVAILABLE": "The specified campaign is not available.",
        "EXCEEDED_10DLC_LIMIT": "Exceeded the 10DLC limit.",
        "NUMBER_PROVISIONING_FAILED": "Failed to provision the number.",
        "PARTNER_SERVICE_UNAVAILABLE": "The third party service is unavailable.",
        "CAMPAIGN_PENDING_ACCEPTANCE": "The campaign is awaiting acceptance.",
        "MNO_SHARING_ERROR": "Sharing error.",
        "CAMPAIGN_EXPIRED": "The specific campaign has expired.",
        "CAMPAIGN_MNO_REJECTED": "The MNO for the campaign was rejected.",
        "CAMPAIGN_MNO_SUSPENDED": "The MNO for the campaign was suspended.",
        "CAMPAIGN_MNO_REVIEW": "The MNO for the campaign is under review.",
        "INSUFFICIENT_BALANCE": "The credit balance for the account is insufficient to cover the fees.",
        "MOCK_CAMPAIGN_NOT_ALLOWED": "Mock campaign is not permitted.",
        "TFN_NOT_ALLOWED": "The Toll-Free number is not allowed.",
        "INVALID_NNID": "The specified NNID is invalid."
      },
      "enum": [
        "ERROR_CODE_UNSPECIFIED",
        "INTERNAL_ERROR",
        "SMS_PROVISIONING_FAILED",
        "CAMPAIGN_PROVISIONING_FAILED",
        "CAMPAIGN_NOT_AVAILABLE",
        "EXCEEDED_10DLC_LIMIT",
        "NUMBER_PROVISIONING_FAILED",
        "PARTNER_SERVICE_UNAVAILABLE",
        "CAMPAIGN_PENDING_ACCEPTANCE",
        "MNO_SHARING_ERROR",
        "CAMPAIGN_EXPIRED",
        "CAMPAIGN_MNO_REJECTED",
        "CAMPAIGN_MNO_SUSPENDED",
        "CAMPAIGN_MNO_REVIEW",
        "INSUFFICIENT_BALANCE",
        "MOCK_CAMPAIGN_NOT_ALLOWED",
        "TFN_NOT_ALLOWED",
        "INVALID_NNID"
      ],
      "description": "The error codes that show the reason of failure of a scheduled provisioning",
      "title": "SMS Error Code"
    },
    "VoiceAppId": {
      "type": "object",
      "properties": {
        "appId": {
          "type": "string",
          "description": "Your app ID for the Voice API. The `appId` can be found in your [Sinch Customer Dashboard](https://dashboard.sinch.com/voice/apps)."
        }
      }
    },
    "VoiceApplicationType": {
      "type": "string",
      "description": "The voice application type. Examples are RTC, EST, FAX",
      "x-enumDescriptions": {
        "RTC": "Voice [see documentation](https://developers.sinch.com/docs/voice)",
        "EST": "Elastic SIP Trunking [see documentation](https://developers.sinch.com/docs/est)",
        "FAX": "FAX application [see documentation](https://developers.sinch.com/docs/fax/overview)"
      },
      "enum": [
        "RTC",
        "EST",
        "FAX"
      ],
      "default": "RTC"
    },
    "VoiceConfiguration": {
      "title": "VoiceConfiguration",
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/$defs/VoiceConfigurationRTC"
        },
        {
          "$ref": "#/$defs/VoiceConfigurationEST"
        },
        {
          "$ref": "#/$defs/VoiceConfigurationFAX"
        }
      ],
      "description": "The current voice configuration for this number. During scheduled provisioning, the app ID, service ID, or trunk ID value may be empty in a response if it is still processing or if it has failed. The status of scheduled provisioning will show under a `scheduledVoiceProvisioning` object if it's still running. Once processed successfully, the `appId`/`serviceId`/`trunkId` sent will appear directly under the `voiceConfiguration` object."
    },
    "VoiceConfigurationCommon": {
      "title": "Common VoiceConfiguration fields",
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/$defs/VoiceApplicationType"
        },
        "lastUpdatedTime": {
          "type": "string",
          "description": "Timestamp when the status was last updated.",
          "format": "date-time",
          "readOnly": true
        },
        "scheduledVoiceProvisioning": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/$defs/ScheduledVoiceProvisioning"
            }
          ]
        }
      }
    },
    "VoiceConfigurationEST": {
      "title": "EST VoiceConfiguration",
      "type": "object",
      "required": [
        "type"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/VoiceConfigurationCommon"
        },
        {
          "$ref": "#/$defs/VoiceTrunkId"
        }
      ]
    },
    "VoiceConfigurationFAX": {
      "title": "FAX VoiceConfiguration",
      "type": "object",
      "required": [
        "type"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/VoiceConfigurationCommon"
        },
        {
          "$ref": "#/$defs/VoiceServiceId"
        }
      ]
    },
    "VoiceConfigurationRTC": {
      "title": "RTC VoiceConfiguration",
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/VoiceConfigurationCommon"
        },
        {
          "$ref": "#/$defs/VoiceAppId"
        }
      ]
    },
    "VoiceServiceId": {
      "type": "object",
      "properties": {
        "serviceId": {
          "type": "string",
          "description": "The service ID if the type is FAX. The `serviceId` can be found in your [Sinch Customer Dashboard](https://dashboard.sinch.com/fax/services)."
        }
      }
    },
    "VoiceTrunkId": {
      "type": "object",
      "properties": {
        "trunkId": {
          "type": "string",
          "description": "The trunk ID if the type is EST. The `trunkId` can be found in your [Sinch Customer Dashboard](https://dashboard.sinch.com/trunks/your-trunks)."
        }
      }
    },
    "scheduledProvisioning": {
      "type": "object",
      "description": "Represents the ongoing or failed scheduled provisioning job. This field will be empty if the number was both successfully provisioned to the SMS platform and linked to the 10DLC campaign.",
      "properties": {
        "servicePlanId": {
          "type": "string",
          "description": "The SMS service plan that the scheduled provisioning job will configure with the number.",
          "readOnly": true
        },
        "campaignId": {
          "type": "string",
          "description": "TCR campaign ID that the scheduled provisioning job will configure with the number.",
          "readOnly": true
        },
        "status": {
          "$ref": "#/$defs/ProvisioningStatus"
        },
        "lastUpdatedTime": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp when the status was last updated.",
          "readOnly": true
        },
        "errorCodes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/SmsErrorCode"
          },
          "readOnly": true
        }
      },
      "title": "Scheduled Provisioning"
    },
    "smsConfiguration": {
      "type": "object",
      "title": "SMS Configuration",
      "description": "The current SMS configuration for this number.\n\nOnce the `servicePlanId` is sent, it enters scheduled provisioning.\n\nThe status of scheduled provisioning will show under a `scheduledProvisioning` object if it's still running. Once processed successfully, the `servicePlanId` sent will appear directly under the `smsConfiguration` object.",
      "allOf": [
        {
          "$ref": "#/$defs/smsConfigurationBase"
        },
        {
          "type": "object",
          "properties": {
            "scheduledProvisioning": {
              "readOnly": true,
              "allOf": [
                {
                  "$ref": "#/$defs/scheduledProvisioning"
                }
              ]
            }
          }
        }
      ]
    },
    "smsConfigurationBase": {
      "title": "Base SMS Configuration",
      "type": "object",
      "required": [
        "servicePlanId"
      ],
      "properties": {
        "servicePlanId": {
          "type": "string",
          "description": "The `servicePlanId` can be found in the [Sinch Customer Dashboard](https://dashboard.sinch.com/sms/api/rest). The service plan ID is what ties this number to the configured SMS service."
        },
        "campaignId": {
          "type": "string",
          "description": "Only for US phone numbers. This `campaignId` is required to send SMS traffic to US; click [here](https://community.sinch.com/t5/10DLC/What-is-10DLC/ta-p/7845) to read more about 10DLC A2P messaging. So, it is the current campaign ID for this number. The `campaignId` is found on your TCR platform."
        }
      }
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/sinch-rent-any-number-request"
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.