Pricing API icon

Pricing API

The API to retrieve pricing information

COMMUNITYNO AUTH0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://rest.nexmo.com/account"
    }
  ],
  "info": {
    "contact": {
      "email": "devrel@nexmo.com",
      "name": "Nexmo DevRel",
      "url": "https://developer.nexmo.com/"
    },
    "description": "The API to retrieve pricing information.\nPlease note the Pricing API is rate limited to one request per second.",
    "title": "Pricing API",
    "version": "0.0.3",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_www.vonage.com_content_dam_vonage_us-en_api_illustrations_Mobile_APIs_Services.svg"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://raw.githubusercontent.com/nexmo/api-specification/master/definitions/pricing.yml",
        "version": "3.0"
      }
    ],
    "x-providerName": "nexmo.com",
    "x-serviceName": "pricing"
  },
  "paths": {
    "/get-full-pricing/outbound/{type}": {
      "get": {
        "description": "Retrieves the pricing information for all countries.\n",
        "operationId": "retrievePricingAllCountries",
        "parameters": [
          {
            "$ref": "#/components/parameters/type"
          },
          {
            "$ref": "#/components/parameters/api_key"
          },
          {
            "$ref": "#/components/parameters/api_secret"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PricingCountriesResponse"
                }
              }
            },
            "description": "Pricing response"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequestsError"
          }
        },
        "summary": "Retrieve outbound pricing for all countries.",
        "tags": [
          "Pricing"
        ]
      }
    },
    "/get-prefix-pricing/outbound/{type}": {
      "get": {
        "description": "Retrieves the pricing information based on the dialing prefix.\n",
        "operationId": "retrievePrefixPricing",
        "parameters": [
          {
            "$ref": "#/components/parameters/type"
          },
          {
            "$ref": "#/components/parameters/api_key"
          },
          {
            "$ref": "#/components/parameters/api_secret"
          },
          {
            "description": "The numerical dialing prefix to look up pricing for. Examples include 44, 1 and so on.",
            "in": "query",
            "name": "prefix",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PricingCountriesResponse"
                }
              }
            },
            "description": "Pricing countries response"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequestsError"
          }
        },
        "summary": "Retrieve outbound pricing for a specific dialing prefix.",
        "tags": [
          "Pricing"
        ]
      }
    },
    "/get-pricing/outbound/{type}": {
      "get": {
        "description": "Retrieves the pricing information based on the specified country.\n",
        "operationId": "retrievePricingCountry",
        "parameters": [
          {
            "$ref": "#/components/parameters/type"
          },
          {
            "$ref": "#/components/parameters/api_key"
          },
          {
            "$ref": "#/components/parameters/api_secret"
          },
          {
            "description": "A two letter [country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). For example, `CA`.",
            "in": "query",
            "name": "country",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PricingCountryResponse"
                }
              }
            },
            "description": "Pricing information for a specific country."
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequestsError"
          }
        },
        "summary": "Retrieve outbound pricing for a specific country.",
        "tags": [
          "Pricing"
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "api_key": {
        "description": "Your Nexmo API key.",
        "in": "query",
        "name": "api_key",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "api_secret": {
        "description": "Your Nexmo API secret.",
        "in": "query",
        "name": "api_secret",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "type": {
        "description": "The type of service you wish to retrieve data about: either `sms`, `sms-transit` or `voice`.",
        "example": "sms",
        "in": "path",
        "name": "type",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "BadRequestError": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "error_title": {
                  "example": "Bad Request",
                  "type": "string"
                },
                "invalid_parameters": {
                  "properties": {
                    "message": {
                      "example": "Is required",
                      "type": "string"
                    },
                    "parameter": {
                      "example": "country",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": {
                  "example": "BAD_REQUEST",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "error_title",
                "invalid_parameters"
              ],
              "type": "object"
            }
          }
        },
        "description": "Bad request. You probably provided an invalid parameter."
      },
      "NotFoundError": {
        "description": "The page you requested was not found"
      },
      "TooManyRequestsError": {
        "description": "You made too many requests. The API is rate limited to one request per second."
      },
      "UnauthorizedError": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "code": {
                  "example": "401",
                  "type": "string"
                },
                "currency": {
                  "example": "EUR",
                  "type": "string"
                },
                "error-code-label": {
                  "example": "authentication failed",
                  "type": "string"
                }
              },
              "required": [
                "currency",
                "code",
                "error-code-label"
              ],
              "type": "object"
            }
          }
        },
        "description": "You did not provide valid credentials"
      }
    },
    "schemas": {
      "CountryObject": {
        "properties": {
          "countryDisplayName": {
            "description": "Readable country name.",
            "example": "Canada",
            "type": "string"
          },
          "countryName": {
            "description": "Readable country name.",
            "example": "Canada",
            "type": "string"
          },
          "currency": {
            "description": "The currency that your account is being billed in (by default `Euros—EUR`). Can change in the Dashboard to US Dollars—USD.",
            "example": "EUR",
            "type": "string"
          },
          "defaultPrice": {
            "description": "The default price.",
            "example": "0.00620000",
            "type": "string"
          },
          "dialingPrefix": {
            "description": "The dialling prefix.",
            "example": "1",
            "type": "string"
          },
          "networks": {
            "description": "An array of network objects",
            "items": {
              "$ref": "#/components/schemas/NetworkObject"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "NetworkObject": {
        "properties": {
          "currency": {
            "description": "The currency used for prices for this network.",
            "example": "EUR",
            "type": "string"
          },
          "mcc": {
            "description": "The [Mobile Country Code](https://en.wikipedia.org/wiki/Mobile_country_code) of the operator.",
            "example": "302",
            "type": "string"
          },
          "mnc": {
            "description": "The Mobile Network Code of the operator.",
            "example": "530",
            "type": "string"
          },
          "networkCode": {
            "description": "The Mobile Country Code and Mobile Network Code combined to give a unique reference for the operator.",
            "example": "302530",
            "type": "string"
          },
          "networkName": {
            "description": "The company/organisational name of the operator.",
            "example": "Keewaytinook Okimakanak",
            "type": "string"
          },
          "price": {
            "description": "The cost to send a message or make a call to this network",
            "example": "0.00590000",
            "type": "string"
          },
          "type": {
            "description": "The type of network: mobile or landline.",
            "example": "mobile",
            "type": "string"
          }
        },
        "type": "object"
      },
      "PricingCountriesResponse": {
        "properties": {
          "count": {
            "description": "The number of countries retrieved.",
            "example": "243",
            "type": "string"
          },
          "countries": {
            "description": "A list of countries.",
            "items": {
              "$ref": "#/components/schemas/CountryObject"
            },
            "type": "array"
          }
        }
      },
      "PricingCountryResponse": {
        "properties": {
          "countryCode": {
            "description": "Two letter country code.",
            "example": "CA",
            "type": "string"
          },
          "countryDisplayName": {
            "description": "Readable country name.",
            "example": "Canada",
            "type": "string"
          },
          "countryName": {
            "description": "Readable country name.",
            "example": "Canada",
            "type": "string"
          },
          "currency": {
            "description": "The currency that your account is being billed in (by default `Euros—EUR`). Can change in the Dashboard to US Dollars—USD.",
            "example": "EUR",
            "type": "string"
          },
          "defaultPrice": {
            "description": "The default price.",
            "example": "0.00620000",
            "type": "string"
          },
          "dialingPrefix": {
            "description": "The dialling prefix.",
            "example": "1",
            "type": "string"
          },
          "networks": {
            "description": "An array of network objects",
            "items": {
              "$ref": "#/components/schemas/NetworkObject"
            },
            "type": "array"
          }
        }
      }
    }
  }
}