SendPulse Contact Attributes Values API

The Contact Attributes Values API from SendPulse — 1 operation(s) for contact attributes values.

Operations 1

POST /contacts/{contactId}/attributes/batch Batch store contact attributes values #

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-contact-attributes-values-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-contact-attributes-values-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Using the API for the CRM service, you can integrate your system with CRM from SendPulse and receive detailed information on pipelines, deals, contacts and their attributes and users. You can also create deals and contacts, assign and remove fields, tags, contact details and instant messengers. On the right, there is a button for authorizing requests made on this page. Click “Authorize,” then insert the ID and Secret from your account. To perform a request directly from the page, click the "Try it out" button within each method block. Then fill in input fields if any (for URL parameters, the description is right below the URL request; for body parameters, the description is under the “Scheme” button to the right of the example), and click “Run.” You will find the server response and description of received parameters below.
  title: SendPulse CRM Public Contact Attributes Values API
  version: 0.1.0
servers:
- url: https://api.sendpulse.com/crm/v1
security:
- apiKey: []
- oauth2: []
tags:
- name: Contact Attributes Values
paths:
  /contacts/{contactId}/attributes/batch:
    post:
      tags:
      - Contact Attributes Values
      summary: Batch store contact attributes values
      parameters:
      - name: contactId
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              properties:
                attributesValues:
                  type: array
                  items:
                    type: object
                    properties:
                      attributeId:
                        type: integer
                        description: Attribute ID
                      value:
                        type: string
                        description: Attribute value
              required:
              - attributeId
              - value
      responses:
        '201':
          description: Successfully stored
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: object
                    properties:
                      attributeId:
                        type: integer
                        description: Attribute ID
                      value:
                        type: string
                        description: Attribute value
      operationId: batchStoreContactAttributeValues
      x-ai-role: crm_data_specialist
      x-ai-description: Performs a bulk upsert of attribute values for a single contact in one atomic request. In SendPulse CRM, contact attributes drive segmentation, personalization, and automation triggers — this endpoint is the preferred way to hydrate a contact's profile after creation or synchronization from an external system, avoiding N separate API calls.
      x-ai-reasoning-instructions:
      - Verify that the contact with the given contactId exists before calling; a 404 here means the contact was deleted or the ID is wrong.
      - Collect all attribute values that need updating and send them in one batch rather than looping with individual calls — this reduces rate-limit exposure and latency.
      - Confirm that each attributeId belongs to the account's attribute schema; submitting an unknown ID will silently fail or error depending on API version.
      - If the same attributeId appears more than once in the array, clarify with the user which value should win — duplicates cause unpredictable behavior.
      - For sensitive attribute types (e.g., phone, email, financial data), check whether the value format matches the attribute's expected type before submitting.
      x-ai-responding-instructions:
      - Confirm which attributes were successfully stored by echoing back the attributeId/value pairs from the 201 response.
      - If the operation was part of a contact import or sync flow, suggest verifying the full contact profile with a GET /contacts/{contactId} call.
      - 'If an error occurs, distinguish between a missing contact (fix: check the ID), unknown attribute IDs (fix: list available attributes first), and validation errors (fix: check value format).'
      x-ai-suggestions:
      - After storing attributes, trigger segmentation refresh or re-evaluate automation conditions that depend on these attributes.
      - Use GET /contacts/attributes to retrieve the full list of available attributeIds for this account before constructing the batch payload.
      x-ai-capabilities:
        confirmation:
          type: None
        security_info:
          data_handling:
          - ResourceStateUpdate
          - PersonalDataWrite
components:
  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.

        '
    outh2:
      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.

        '