> ## Documentation Index
> Fetch the complete documentation index at: https://docs.otpiq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# International SMS Pricing

> Paginated international SMS price rows. Each item's `price` is the billed amount in IQD per one SMS segment (one 140-character segment)



## OpenAPI

````yaml GET /international-sms-pricing
openapi: 3.1.1
info:
  title: OTPIQ SMS API
  description: >-
    Enterprise-grade SMS and messaging API for sending verification codes,
    custom messages, and managing sender IDs. Supports multiple providers
    including SMS, WhatsApp, and Telegram with intelligent fallback routing.


    ## Features


    * **Multi-Provider Support**: Send messages via SMS, WhatsApp, or Telegram

    * **Smart Fallback Routes**: Automatic provider switching for maximum
    delivery success

    * **Verification Codes**: Automated OTP delivery with customizable codes

    * **Custom Messages**: Send personalized messages with custom sender IDs

    * **Rate Limiting**: Built-in protection against abuse

    * **Spending Controls**: Configurable spending thresholds and credit
    management

    * **Real-time Tracking**: Monitor message delivery status

    * **Sender ID Management**: Register and manage custom sender IDs

    * **Webhook Notifications**: Real-time delivery status updates via webhooks


    ## Provider Options


    OTPIQ now offers 6 provider options including smart fallback routes:


    - **`whatsapp-sms`**: Try WhatsApp first, fallback to SMS

    - **`telegram-sms`**: Try Telegram first, fallback to SMS

    - **`whatsapp-telegram-sms`**: Try WhatsApp → Telegram → SMS (maximum
    delivery success)

    - **`sms`**: SMS only

    - **`whatsapp`**: WhatsApp only

    - **`telegram`**: Telegram only


    ## Authentication


    All API requests require authentication using your project API key. Include
    it in the Authorization header:


    ```

    Authorization: Bearer sk_live_your_api_key_here

    ```


    ## Webhooks


    OTPIQ provides real-time delivery status notifications via webhooks. See the
    Webhooks section for detailed documentation and examples.


    ## Support


    * **Documentation**: [https://docs.otpiq.com](https://docs.otpiq.com)

    * **Support Email**: info@otpiq.com
  version: 1.0.0
  contact:
    name: OTPIQ Support
    url: https://otpiq.com
    email: info@otpiq.com
  license:
    name: Commercial
    url: https://otpiq.com/terms
servers:
  - url: https://api.otpiq.com/api
    description: Production API
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: API key authentication and project information
  - name: SMS
    description: >-
      Send SMS messages, verification codes, and track delivery with multiple
      provider options and fallback routing
  - name: Sender IDs
    description: Manage custom sender IDs for your messages
  - name: Webhooks
    description: Real-time delivery status notifications via webhooks
  - name: Delivery Reports
    description: Generate and list CSV delivery reports for SMS/messages in a date range
  - name: Pricing
    description: Retrieve international SMS pricing information
  - name: WhatsApp
    description: >-
      List WhatsApp businesses, accounts, phone numbers, and message templates
      connected to a project
externalDocs:
  description: OTPIQ Documentation
  url: https://docs.otpiq.com
paths:
  /international-sms-pricing:
    get:
      tags:
        - Pricing
      summary: List international SMS pricing
      description: >-
        Paginated international SMS price rows. Each item's `price` is the
        billed amount in IQD per one SMS segment (one 140-character segment)
      operationId: listInternationalSmsPricing
      parameters:
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000000
            default: 1
          description: 'Page index. Range: 1 to 1,000,000.'
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 100
          description: 'Page size. Range: 1 to 500.'
        - name: countryIso
          in: query
          required: false
          schema:
            type: string
            pattern: ^[A-Za-z]{2}$
            examples:
              - IQ
          description: >-
            Optional two-letter ISO country code (for example, IQ). Matching is
            case-insensitive.
      responses:
        '200':
          description: International SMS pricing list retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                required:
                  - currency
                  - page
                  - limit
                  - total
                  - pages
                properties:
                  currency:
                    type: string
                    examples:
                      - IQD
                  page:
                    type: integer
                    minimum: 1
                    examples:
                      - 1
                  limit:
                    type: integer
                    minimum: 1
                    maximum: 500
                    examples:
                      - 100
                  total:
                    type: integer
                    minimum: 0
                    examples:
                      - 0
                  pages:
                    type: integer
                    minimum: 1
                    examples:
                      - 1
                  filter:
                    description: >-
                      `{}` when listing all countries; `{ "countryIso": "XX" }`
                      when `countryIso` is set.
                    oneOf:
                      - type: object
                        additionalProperties: false
                      - type: object
                        required:
                          - countryIso
                        properties:
                          countryIso:
                            type: string
                            pattern: ^[A-Z]{2}$
                            examples:
                              - IQ
                        additionalProperties: false
                  items:
                    type: array
                    description: Sorted by countryIso, then mccMnc, then network.
                    items:
                      type: object
                      required:
                        - continent
                        - countryIso
                        - countryCode
                        - country
                        - networkId
                        - network
                        - price
                      properties:
                        continent:
                          type: string
                        countryIso:
                          type: string
                          pattern: ^[A-Z]{2}$
                          examples:
                            - IQ
                        countryCode:
                          type: string
                        country:
                          type: string
                        networkId:
                          type: string
                        network:
                          type: string
                        price:
                          type:
                            - integer
                            - 'null'
                          description: Billed amount in IQD per one SMS segment.
              examples:
                success:
                  summary: Successful response
                  value:
                    currency: IQD
                    page: 1
                    limit: 100
                    total: 0
                    pages: 1
                    filter: {}
                    items:
                      - continent: Asia
                        countryIso: IQ
                        countryCode: '964'
                        country: Iraq
                        networkId: iq_zain
                        network: Zain Iraq
                        price: 0
                filtered:
                  summary: Filtered by country
                  value:
                    currency: IQD
                    page: 1
                    limit: 100
                    total: 1
                    pages: 1
                    filter:
                      countryIso: IQ
                    items:
                      - continent: Asia
                        countryIso: IQ
                        countryCode: '964'
                        country: Iraq
                        networkId: iq_zain
                        network: Zain Iraq
                        price: 0
        '400':
          description: Validation failed.
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    required:
                      - error
                    properties:
                      error:
                        type: string
                  - type: object
                    required:
                      - message
                    properties:
                      message:
                        type: string
              examples:
                validation_error:
                  summary: Validation failed
                  value:
                    error: countryIso must be exactly 2 characters
                invalid_country_iso:
                  summary: Invalid countryIso
                  value:
                    message: countryIso must be a 2-letter ISO code
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: IP not allowed when IP allowlisting is enabled for the project.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
              examples:
                ip_not_whitelisted:
                  summary: IP not whitelisted
                  value:
                    message: Your IP address is not whitelisted for this project
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            required:
              - message
            properties:
              message:
                type: string
                description: Unauthorized error message
                examples:
                  - Unauthorized, please use your project api key
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            type: object
            required:
              - message
            properties:
              message:
                type: string
                description: Internal server error message
                examples:
                  - Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Project API key (`sk_live…` or `sk_dev…`). Send it as `Authorization:
        Bearer <api_key>`.

````