SendPulse Task Attributes API

The Task Attributes API from SendPulse — 2 operation(s) for task attributes.

Operations 3

POST /tasks/{taskId}/attributes Create attribute value #
PUT /{boardId}/attributes/{attributeId}/values/{valueId} Update task attribute value #
DELETE /{boardId}/attributes/{attributeId}/values/{valueId} Delete attribute value from task #

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-task-attributes-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 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.

OpenAPI Specification

sendpulse-task-attributes-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.
  title: SendPulse CRM Public Task Attributes API
  version: 0.1.0
servers:
- url: https://api.sendpulse.com/crm/v1
security:
- apiKey: []
- oauth2: []
tags:
- name: Task Attributes
paths:
  /tasks/{taskId}/attributes:
    post:
      tags:
      - Task Attributes
      summary: Create attribute value
      parameters:
      - name: taskId
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              properties:
                attributeId:
                  type: number
                  description: ID of attribute
                value:
                  description: Attribute value (string or array)
      responses:
        '201':
          description: Successfully
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        attributeable_type:
                          type: string
                        attributeable_id:
                          type: integer
                        value:
                          type: string
                        attribute_id:
                          type: integer
                        user_id:
                          type: integer
                        id:
                          type: integer
      operationId: createTaskAttributeValue
      x-ai-role: project_management_specialist
      x-ai-description: Assigns a value to a predefined custom attribute for a specific task. Attribute values extend the task data model beyond standard fields — they enable flexible metadata (priority tiers, custom statuses, linked entities) without schema changes. The attributeId must reference an existing attribute definition; the value type (scalar or array) depends on the attribute's configuration.
      x-ai-reasoning-instructions:
      - Verify that the taskId exists before attempting to assign an attribute value.
      - Confirm the attributeId refers to a valid, active attribute definition — do not guess IDs.
      - Check whether the attribute accepts a scalar string or an array value; passing the wrong type will fail.
      - If the goal is to update an existing value rather than create a new one, use the appropriate PATCH/PUT endpoint instead to avoid duplicates.
      - When value is an array, ensure all items are valid according to the attribute's allowed values if the attribute is enum-typed.
      x-ai-responding-instructions:
      - Confirm success by referencing the returned id and attribute_id from the response.
      - If multiple items are returned in data, summarize how many attribute values were created.
      - On failure, distinguish between 'task not found', 'attribute not found', and 'invalid value type' errors and explain each clearly.
      - Suggest retrieving the full task or listing its attributes as a natural next step after creation.
      x-ai-suggestions:
      - Use getTaskAttributes or listAttributes to obtain a valid attributeId before calling this endpoint.
      - For array-type attributes, pass value as a JSON array of strings.
      - After creation, verify the assignment with a GET /tasks/{taskId}/attributes request.
      x-ai-capabilities:
        confirmation:
          type: None
        security_info:
          data_handling:
          - ResourceStateUpdate
  /{boardId}/attributes/{attributeId}/values/{valueId}:
    put:
      tags:
      - Task Attributes
      summary: Update task attribute value
      parameters:
      - name: attributeId
        in: path
        required: true
        schema:
          type: integer
      - name: valueId
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              properties:
                value:
                  description: Attribute value (string or array)
      responses:
        '200':
          description: Successfully
      operationId: updateTaskAttributeValue
      x-ai-role: project_management_specialist
      x-ai-description: Updates a specific predefined value within a task attribute's value set on a given board. Use this when the attribute is enumerable (e.g., a dropdown list) and an existing option needs to be renamed or corrected — without removing and recreating it, which would break existing task assignments.
      x-ai-reasoning-instructions:
      - Confirm the boardId, attributeId, and valueId all exist before sending the request — a wrong valueId will produce an error or silently target an unintended record.
      - If the attribute is of array type, the value field should be a JSON array; for string-type attributes, pass a plain string.
      - Check whether other tasks already use this value before updating — renaming a shared value affects all tasks that reference it.
      x-ai-responding-instructions:
      - Confirm that the value was updated and reflect the new value text in the response summary.
      - Remind the user that any tasks already assigned this attribute value will now display the updated label.
      - If the update fails, clarify whether the error is due to an invalid ID, a type mismatch, or a permission issue.
      x-ai-suggestions:
      - Use GET /{boardId}/attributes/{attributeId}/values to retrieve existing values before updating.
      - After updating, call GET /{boardId}/tasks to verify tasks reflect the new value correctly.
      x-ai-capabilities:
        confirmation:
          type: Recommended
          message: Updating this value will affect all tasks on the board that reference it. Proceed?
        security_info:
          data_handling:
          - ResourceStateUpdate
    delete:
      tags:
      - Task Attributes
      summary: Delete attribute value from task
      parameters:
      - name: attributeId
        in: path
        required: true
        schema:
          type: integer
      - name: valueId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Successfully
      operationId: deleteAttributeValue
      x-ai-role: project_management_specialist
      x-ai-description: Permanently removes a specific predefined value from a task attribute's value list on a given board. Use this when cleaning up obsolete or incorrect options from dropdown/select-type attributes to keep task data consistent and avoid user confusion.
      x-ai-reasoning-instructions:
      - Verify the attributeId belongs to the specified boardId before attempting deletion.
      - Check if any existing tasks currently use this valueId — deletion may affect task data integrity.
      - Warn the user if the attribute has only one remaining value, as removing it may leave the attribute unusable.
      - Confirm that the valueId is indeed a child of the given attributeId to prevent accidental mismatches.
      x-ai-responding-instructions:
      - On success (204), confirm the value was deleted and mention the attributeId it belonged to.
      - Suggest reviewing remaining values of the attribute as a follow-up.
      - If tasks were referencing this value, advise reassigning them to another value via the update task endpoint.
      x-ai-capabilities:
        confirmation:
          type: Required
          message: This action permanently deletes the attribute value and cannot be undone.
        security_info:
          data_handling:
          - DestructiveOperation
          - ResourceStateUpdate
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.

        '