SendPulse Configuration API

The Configuration API from SendPulse — 9 operation(s) for configuration.

Operations 9

GET /sms/senders Get list of sender IDs #
GET /smtp/ips Get a list of sender’s IP addresses #
GET /smtp/senders Get a list of sender’s email addresses #
GET /v2/email-service/smtp/sender_domains Get a list of allowed domains #
POST /senders Add a sender email #
POST /v2/email-service/smtp/sender_domains/{domain} Add a domain #
GET /viber/senders Get a list of sender names #
GET /viber/senders/{id} Get a sender name profile #
GET /push/websites/{id}/code Get JS code for a website #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/sendpulse-configuration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sendpulse-configuration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sendpulse Configuration API
  version: 1.0.0
  license:
    name: Apache 2.0
    identifier: Apache-2.0
  x-refined-note:
  - x-ai-description differs across the merged source definitions and was not carried
  description: 'Operations tagged Configuration across 4 of this provider''s published API definitions: sendpulse-sms-openapi.yml, sendpulse-smtp-openapi.yml, sendpulse-viber-openapi.yml, sendpulse-web-push-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.sendpulse.com
security:
- apiKey: []
- oauth2: []
tags:
- name: Configuration
paths:
  /sms/senders:
    get:
      summary: Get list of sender IDs
      operationId: getSmsSenders
      tags:
      - Configuration
      x-ai-role: sms_marketing_specialist
      x-ai-description: 'Retrieves all approved Alphanumeric Sender IDs.  Only IDs with status ''Active'' (1) can be used for campaigns.

        '
      x-ai-reasoning-instructions:
      - 'Check `status` (0: Moderation, 1: Active, 2: Rejected).'
      x-ai-responding-instructions:
      - Present the list of available sender identities.
      x-ai-suggestions:
      - If a sender is 'On moderation', wait before scheduling campaigns.
      x-ai-capabilities:
        confirmation:
          type: None
      responses:
        '200':
          description: Sender ID list
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                    sender:
                      type: string
                    country:
                      type: string
                    status:
                      type: integer
                    status_explain:
                      type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
  /smtp/ips:
    get:
      summary: Get a list of sender’s IP addresses
      operationId: getSmtpIps
      tags:
      - Configuration
      x-ai-role: email_deliverability_expert
      x-ai-description: 'Lists the outbound IP addresses used by the SendPulse SMTP relay.  Essential for customers who need to whitelist specific IPs in their firewalls.

        '
      x-ai-reasoning-instructions:
      - Compare these IPs against any known blacklists if delivery drops.
      x-ai-responding-instructions:
      - Provide the list of active IP addresses.
      x-ai-suggestions:
      - Advise the user to add these to their allowed network configurations.
      x-ai-capabilities:
        confirmation:
          type: None
      responses:
        '200':
          description: List of IP addresses
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
  /smtp/senders:
    get:
      summary: Get a list of sender’s email addresses
      operationId: getSmtpSenders
      tags:
      - Configuration
      x-ai-role: email_deliverability_expert
      x-ai-description: 'Retrieves all verified email addresses authorized for sending.  Only these addresses can be used in the `from` field of the send request.

        '
      x-ai-reasoning-instructions:
      - Ensure the user is selecting a valid, already verified sender.
      x-ai-responding-instructions:
      - List all available sender identities.
      x-ai-suggestions:
      - If the desired email is missing, use `addSmtpSender` to add it.
      x-ai-capabilities:
        confirmation:
          type: None
      responses:
        '200':
          description: List of sender emails
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
  /v2/email-service/smtp/sender_domains:
    get:
      summary: Get a list of allowed domains
      operationId: getSmtpAllowedDomains
      tags:
      - Configuration
      x-ai-role: email_deliverability_expert
      x-ai-description: 'Lists domains configured for authenticated sending.  Includes SPF/DKIM validation status which is critical for inbox placement.

        '
      x-ai-reasoning-instructions:
      - Check `checks.all_checks` to see if the domain is fully authenticated.
      - Identify missing DNS records like SPF or DKIM.
      x-ai-responding-instructions:
      - Summarize the authentication health of the sending domains.
      - Highlight any domains requiring DNS configuration.
      x-ai-suggestions:
      - If `check_dkim` is false, provide the required records to the user.
      x-ai-capabilities:
        confirmation:
          type: None
      responses:
        '200':
          description: Domain list with authentication status
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      result:
                        type: boolean
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/DomainRecord'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
  /senders:
    post:
      summary: Add a sender email
      operationId: addSmtpSender
      tags:
      - Configuration
      x-ai-role: email_deliverability_expert
      x-ai-description: 'Registers a new email address as an authorized sender.  Triggers a verification process to ensure ownership and authorization.

        '
      x-ai-reasoning-instructions:
      - Verify that the domain of the email address is also authorized.
      x-ai-responding-instructions:
      - Confirm the sender has been added and advise the user to check their inbox for verification.
      x-ai-suggestions:
      - Use business domains rather than free providers (gmail.com) for better deliverability.
      x-ai-capabilities:
        confirmation:
          type: Required
        security_info:
          data_handling:
          - ResourceStateUpdate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              - name
              properties:
                email:
                  type: string
                name:
                  type: string
      responses:
        '200':
          description: Sender added successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                email.required:
                  summary: email.required
                  value:
                    message: Argument email missing
                    error_code: 422
                email.invalid:
                  summary: email.invalid
                  value:
                    message: Argument email is invalid
                    error_code: 422
                email.dmarc_error:
                  summary: email.dmarc_error
                  value:
                    message: DMARC policy error. Please, use another sender domain.
                    error_code: 422
                name.required:
                  summary: name.required
                  value:
                    message: Argument name missing
                    error_code: 422
                name.invalid:
                  summary: name.invalid
                  value:
                    message: Argument name is invalid
                    error_code: 422
                email.exists:
                  summary: email.exists
                  value:
                    message: Email already in use
                    error_code: 902
                email.blacklisted:
                  summary: email.blacklisted
                  value:
                    message: This email in blacklist
                    error_code: 904
    servers:
    - url: https://api.sendpulse.com
  /v2/email-service/smtp/sender_domains/{domain}:
    parameters:
    - name: domain
      in: path
      required: true
      schema:
        type: string
    post:
      summary: Add a domain
      operationId: addSmtpDomain
      tags:
      - Configuration
      parameters: []
      x-ai-role: email_deliverability_expert
      x-ai-description: 'Adds a root domain for white-labeling and professional sender authentication.  Crucial for achieving 100% DKIM alignment.

        '
      x-ai-reasoning-instructions:
      - Check if the domain is already present to avoid duplication.
      x-ai-responding-instructions:
      - Confirm the domain has been added and list the required DNS records for authentication.
      x-ai-suggestions:
      - Suggest adding SPF, DKIM, and DMARC records immediately.
      x-ai-capabilities:
        confirmation:
          type: Required
        security_info:
          data_handling:
          - ResourceStateUpdate
      responses:
        '200':
          description: Domain added
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      result:
                        type: boolean
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
  /viber/senders:
    get:
      summary: Get a list of sender names
      operationId: getViberSenders
      tags:
      - Configuration
      x-ai-role: customer_engagement_specialist
      x-ai-description: 'Retrieves all registered and approved Viber sender names (Sender IDs).  Only names with ''verified'' status can be used.

        '
      x-ai-reasoning-instructions:
      - Check `status` to ensure the name is ready for use.
      x-ai-responding-instructions:
      - List available verified sender identities.
      x-ai-suggestions:
      - If status is 'pending', check the `admin_comment` for feedback.
      x-ai-capabilities:
        confirmation:
          type: None
      responses:
        '200':
          description: Sender list
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ViberSender'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
  /viber/senders/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: integer
    get:
      summary: Get a sender name profile
      operationId: getViberSenderProfile
      tags:
      - Configuration
      parameters: []
      x-ai-role: customer_engagement_specialist
      x-ai-description: 'Retrieves the detailed configuration and status for a specific Viber sender ID.

        '
      x-ai-responding-instructions:
      - State the current verification status and administrative feedback.
      x-ai-capabilities:
        confirmation:
          type: None
      responses:
        '200':
          description: Sender profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ViberSender'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
  /push/websites/{id}/code:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: integer
    get:
      summary: Get JS code for a website
      operationId: getWebPushCode
      tags:
      - Configuration
      parameters: []
      x-ai-role: web_engagement_specialist
      x-ai-description: 'Retrieves the specific JavaScript snippet required to enable web push  functionality on the target website. This script handles the permission  prompt and subscriber token generation.

        '
      x-ai-responding-instructions:
      - Provide the `script_code` and instruct the user to place it before the `</head>` tag.
      x-ai-capabilities:
        confirmation:
          type: None
      responses:
        '200':
          description: Integration code
          content:
            application/json:
              schema:
                type: object
                properties:
                  script_url:
                    type: string
                  script_code:
                    type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    servers:
    - url: https://api.sendpulse.com
components:
  schemas:
    DomainRecord:
      type: object
      properties:
        id:
          type: integer
        user_id:
          type: integer
        service_type:
          type: integer
        service_value:
          type: string
        status:
          type: integer
          description: 0 - inactive, 1 - active
        is_default:
          type: boolean
        ssl_type:
          type: integer
        checks:
          type: object
          properties:
            check_dkim:
              type: boolean
            check_spf:
              type: boolean
            check_dmarc:
              type: boolean
            all_checks:
              type: boolean
            spf_txt_needed:
              type: string
    Error:
      type: object
      properties:
        message:
          type: string
        error_code:
          type: integer
    ViberSender:
      type: object
      properties:
        id:
          type: integer
        status:
          type: string
        name:
          type: string
        service_type:
          type: string
        web_site:
          type: string
        description:
          type: string
        country:
          type: string
        traffic_type:
          type: string
        admin_comment:
          type:
          - string
          - 'null'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Static API Key authentication.  A long-lived token generated manually in the SendPulse account settings.

        '
      x-ai-description: 'Permanent authentication token. Ideal for simple integrations without token refresh logic.

        '
    oauth2:
      type: oauth2
      description: OAuth 2.0 Client Credentials flow for temporary access tokens.
      flows:
        clientCredentials:
          tokenUrl: https://api.sendpulse.com/oauth/access_token
          scopes: {}
      x-ai-description: 'Standard OAuth 2.0 flow using Client ID and Client Secret.  Provides temporary tokens (valid for 1 hour) for enhanced security.

        '
x-refined-from:
- sendpulse-sms-openapi.yml
- sendpulse-smtp-openapi.yml
- sendpulse-viber-openapi.yml
- sendpulse-web-push-openapi.yml