Push Contact API

The Contact API from Push — 5 operation(s) for contact.

Operations 8

POST /v2/account/{account_id}/contact Create — Contact #
GET /v2/account/{account_id}/contact List — Contact #
POST /v2/account/{account_id}/contact/bulk Create Bulk — Contact #
GET /v2/account/{account_id}/contact/bulk/{bulk_id} Get Bulk — Contact #
GET /v2/account/{account_id}/contact/{contact_id} Show — Contact #
PUT /v2/account/{account_id}/contact/{contact_id} Update — Contact #
DELETE /v2/account/{account_id}/contact/{contact_id} Delete — Contact #
GET /v2/account/{account_id}/contact/{contact_id}/email_validation Email validation — Contact #

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/push-contact-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

push-contact-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cendyn CRM (PUSHTech) REST Contact API
  version: v2
  description: 'Token-authenticated REST API for the Cendyn CRM (formerly PUSHTech) hospitality CRM / CDP platform. Manage account balance, contacts and contact custom fields, companies, products, coupon lists, purchases, hotel data, audience lists and campaigns, and send email, SMS and push deliveries.


    This document was DERIVED by API Evangelist from the provider''s own published, server-rendered API reference at https://developers.cendyncrm.com/api/docs (Apitome / rspec_api_documentation). Cendyn CRM does not publish an OpenAPI document; every path, HTTP method, parameter name, parameter description and example payload here is copied verbatim from that reference. Nothing was invented.'
  contact:
    name: Cendyn
    url: https://www.cendyn.com/contact-us/
  termsOfService: https://www.cendyn.com/terms-of-use/
  x-provenance:
    publisher: API Evangelist
    method: derived
    derived_from: https://developers.cendyncrm.com/api/docs
    provider_published_openapi: false
    note: NOT published by Cendyn. Derived from the provider's public HTML API reference; verify against the live docs before production use.
servers:
- url: https://api.eu.cendyncrm.com
  description: EU data center
- url: https://api.us.cendyncrm.com
  description: US data center
security:
- accountToken: []
tags:
- name: Contact
paths:
  /v2/account/{account_id}/contact:
    post:
      operationId: createContact
      summary: Create — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/create
      x-source-path: /v2/account/{account_id}/contact/
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                device_id:
                  description: Contact associated device_id
                name_first:
                  description: Name of the contact
                name_last:
                  description: Last name of the contact
                email:
                  description: Email of the contact
                phone_countrycode:
                  description: Country code of the contact phone
                phone_number:
                  description: Phone number without country code of the contact
                phone:
                  description: Full phone number with country code of the contact
                city:
                  description: City of the contact
                country:
                  description: Country of the contact
                region:
                  description: Region of the contact
                zip:
                  description: Zip code of the contact
                full_address:
                  description: Address of the contact
                born_date:
                  type: string
                  format: date-time
                  description: 'The date of the birthday in ISO_8601 format, Example: 1990-01-01T00:00:00Z'
                gender:
                  description: Gender of the contact (MALE or FEMALE)
                language:
                  description: 'Language of the contact in ISO-2 format, Example: ES'
                user_id:
                  description: Unique identifier of contact in your backend
                facebook_id:
                  description: Facebook id of the contact
                facebook_friends:
                  type: number
                  description: Number of the friends in facebook of the contact
                google_id:
                  description: Google+ id of the contact
                twitter_id:
                  description: Twitter id of the contact
                twitter_followers:
                  type: number
                  description: Number of the followers in twitter of the contact
                gdpr_date:
                  type: string
                  format: date-time
                  description: 'Date for GDPR changes in ISO_8601 format, Example: 1990-01-01T00:00:00Z'
                last_latitude:
                  type: number
                  description: 'Last GPS latitude, Number, example: 27.994401'
                last_longitude:
                  type: number
                  description: 'Last GPS longitude, Number, example: -81.726896'
                '[custom field]':
                  description: You can create a custom field and use in every contact, only add parameter in the json with the name of custom ( no label)
                list_subscriptions[list_id]:
                  description: Id of audience list
                list_subscriptions[subscribed]:
                  type: boolean
                  description: If true, subscribe in this list
                gdpr_marketing_consent:
                  type: boolean
                  description: 'Boolean type: If true, the contact accepted marketing consent'
                gdpr_accept_terms:
                  type: boolean
                  description: 'Boolean type: If true, the contact accepted your terms'
                gdpr_remote_ip:
                  description: 'String type: Contact IP when accepted GDPR'
                email_validation:
                  description: Json with email_validation parameters
                email_validation[validate]:
                  type: boolean
                  description: 'Boolean, if true, validate contact Email, Default: false'
                email_validation[create_if_invalid]:
                  type: boolean
                  description: 'Boolean: If true, the contact contact will be created if Email is not valid, Default: false'
                email_validation[create_if_no_credit]:
                  type: boolean
                  description: 'Boolean: If true, create contact if the account hasn''t credit for validation, Default: false'
            example:
              name_first: John
              name_last: Doe
              email: '[email protected]'
              phone_countrycode: '44'
              phone_number: '7712345678'
              tags:
              - tag1
              - tag2
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              example:
                id: 550aac3da096734ce5000001
                name_first: John
                name_last: Doe
                phone_countrycode: '44'
                phone_number: '7712345678'
                email: '[email protected]'
                tags:
                - tag1
                - tag2
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
    get:
      operationId: listContact
      summary: List — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/list
      x-source-path: /v2/account/{account_id}/contact/
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: 'Search by: Contact user_id'
      - name: device_id
        in: query
        required: false
        schema:
          type: string
        description: 'Search by: Contact associated device_id'
      - name: name_first
        in: query
        required: false
        schema:
          type: string
        description: 'Search by: Name of the contact'
      - name: name_last
        in: query
        required: false
        schema:
          type: string
        description: 'Search by: Last name of the contact'
      - name: email
        in: query
        required: false
        schema:
          type: string
        description: 'Search by: Email fo the contact'
      - name: phone_countrycode
        in: query
        required: false
        schema:
          type: string
        description: 'Search by: Country code of the contact phone'
      - name: phone_number
        in: query
        required: false
        schema:
          type: string
        description: 'Search by: Phone number without country code of the contact'
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: 'limit of number contacts returns, default: 200'
      - name: contact_id_from
        in: query
        required: false
        schema:
          type: string
        description: Contact id to start the list
      - name: order
        in: query
        required: false
        schema:
          type: string
        description: 'creation_date order asc or desc, default: asc'
      responses:
        '200':
          description: Successful response
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
  /v2/account/{account_id}/contact/bulk:
    post:
      operationId: createBulkContact
      summary: Create Bulk — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/create_bulk
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                contacts:
                  description: Array of contact data. Maximum of 5000 contacts per request.
                match_contact_user_id:
                  type: boolean
                  description: 'If true, update the contact who have this user_id on the Cendyn CRM platform, else create a new one. By default: false'
                webhook_url:
                  description: A URL designated to receive notifications or data via webhook transmissions.
                validate_emails:
                  type: boolean
                  description: 'If true, validate all contact´s emails of the bulk. This service has an extra cost and will use credits of your Pushtech account. If not enought credits the import will be processed without emails validation. By default: false'
                contacts_webhook_extra_fields:
                  description: 'Array that contain extra fields needed to be sent by the webhook. By default it is sent by the webhook the following fields: _id, user_id, email, phone_countrycode, phone_number'
                contacts[device_id]:
                  description: Contact associated device_id
                contacts[name_first]:
                  description: Name of the contact
                contacts[name_last]:
                  description: Last name of the contact
                contacts[email]:
                  description: Email of the contact
                contacts[phone_countrycode]:
                  description: Country code of the contact phone
                contacts[phone_number]:
                  description: Phone number without country code of the contact
                contacts[phone]:
                  description: Full phone number with country code of the contact
                contacts[city]:
                  description: City of the contact
                contacts[country]:
                  description: Country of the contact
                contacts[region]:
                  description: Region of the contact
                contacts[zip]:
                  description: Zip code of the contact
                contacts[full_address]:
                  description: Address of the contact
                contacts[born_date]:
                  type: string
                  format: date-time
                  description: 'The date of the birthday in ISO_8601 format, Example: 1990-01-01T00:00:00Z'
                contacts[gender]:
                  description: Gender of the contact (MALE or FEMALE)
                contacts[language]:
                  description: 'Language of the contact in ISO-2 format, Example: ES'
                contacts[user_id]:
                  description: Unique identifier of contact in your backend
                contacts[facebook_id]:
                  description: Facebook id of the contact
                contacts[facebook_friends]:
                  type: number
                  description: Number of the friends in facebook of the contact
                contacts[google_id]:
                  description: Google+ id of the contact
                contacts[twitter_id]:
                  description: Twitter id of the contact
                contacts[twitter_followers]:
                  type: number
                  description: Number of the followers in twitter of the contact
                contacts[tags]:
                  description: Array containing tags for this contact
                contacts[list_subscriptions[list_id]]:
                  description: Id of audience list
                contacts[list_subscriptions[subscribed]]:
                  type: boolean
                  description: If true, subscribe from this list
                contacts[channel_subscriptions[channel]]:
                  description: 'Name of channel. Options: [email, sms, push]'
                contacts[channel_subscriptions[blacklisted]]:
                  type: boolean
                  description: If true, blacklist this channel
                contacts[gdpr_accept_terms]:
                  type: boolean
                  description: 'Boolean type: If true, the contact accepted your terms'
                contacts[gdpr_marketing_consent]:
                  type: boolean
                  description: 'Boolean type: If true, the contact accepted marketing consent'
                contacts[gdpr_date]:
                  type: string
                  format: date-time
                  description: 'Date for GDPR changes in ISO_8601 format, Example: 1990-01-01T00:00:00Z'
                contacts[gdpr_remote_ip]:
                  description: 'String type: Contact IP when accepted GDPR'
                contacts[[custom field]]:
                  description: You can create a custom field and use in every contact, only add parameter in the json with the name of custom (no label)
              required:
              - contacts
            example:
              webhook_url: https://requestb.in/qxvaw0qx
              match_contact_user_id: false
              validate_emails: false
              contacts_webhook_extra_fields:
              - name_first
              contacts:
              - name_first: John
                name_last: Doe
                email: '[email protected]'
                phone_countrycode: '44'
                phone_number: '7712345678'
              - name_first: John
                name_last: Doe
                email: '[email protected]'
                phone_countrycode: '44'
                phone_number: '7712345678'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              example:
                bulk:
                  _id: 550aac3da096734ce5000001
                  number_of_contacts: 2
                  match_contact_user_id: false
                  validate_emails: false
                  contacts_webhook_extra_fields:
                  - name_first
                  webhook_url: https://requestb.in/qxvaw0qx
                  status: queue
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
  /v2/account/{account_id}/contact/bulk/{bulk_id}:
    get:
      operationId: getBulkContact
      summary: Get Bulk — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/get_bulk
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      - name: bulk_id
        in: path
        required: true
        schema:
          type: string
        description: Bulk id
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                bulk:
                  _id: 550aac3da096734ce5000001
                  number_of_contacts: 2
                  match_contact_user_id: false
                  validate_emails: false
                  contacts_webhook_extra_fields:
                  - name_first
                  webhook_url: https://requestb.in/qxvaw0qx
                  status: queue
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
  /v2/account/{account_id}/contact/{contact_id}:
    get:
      operationId: showContact
      summary: Show — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/show
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Id of the contact to be showed
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                id: 550aac3da096734ce5000001
                name_first: John
                name_last: Doe
                phone_countrycode: '44'
                phone_number: '7712345678'
                email: '[email protected]'
                tags:
                - tag1
                - tag2
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
    put:
      operationId: updateContact
      summary: Update — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/update
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Id of the contact to be updated
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                device_id:
                  description: Contact associated device_id
                name_first:
                  description: Name of the contact
                name_last:
                  description: Last name of the contact
                email:
                  description: Email fo the contact
                phone_countrycode:
                  description: Country code of the contact phone
                phone_number:
                  description: Phone number without country code of the contact
                phone:
                  description: Full phone number with country code of the contact
                city:
                  description: City of the contact
                country:
                  description: Country of the contact
                region:
                  description: Region of the contact
                zip:
                  description: Zip code of the contact
                full_address:
                  description: Address of the contact
                born_date:
                  type: string
                  format: date-time
                  description: 'The date of the birthday in ISO_8601 format, Example: 1990-01-01T00:00:00Z'
                gender:
                  description: Gender of the contact (MALE or FEMALE)
                language:
                  description: 'Language of the contact in ISO-2 format, Example: ES'
                user_id:
                  description: Unique identifier of contact in your backend
                facebook_id:
                  description: Facebook id of the contact
                facebook_friends:
                  type: number
                  description: Number of the friends in facebook of the contact
                google_id:
                  description: Google+ id of the contact
                twitter_id:
                  description: Twitter id of the contact
                twitter_followers:
                  type: number
                  description: Number of the followers in twitter of the contact
                tags:
                  description: Array containing tags for this contact
                last_latitude:
                  type: number
                  description: 'Last GPS latitude, Number, example: 27.994401'
                last_longitude:
                  type: number
                  description: 'Last GPS longitude, Number, example: -81.726896'
                '[custom field]':
                  description: You can create a custom field and use in every contact, only add parameter in the json with the name of custom ( no label)
                list_subscriptions[list_id]:
                  description: Id of audience list
                list_subscriptions[subscribed]:
                  type: boolean
                  description: If true, subscribe in this list
                channel_subscriptions[channel]:
                  description: 'Name of channel. Options: [email, sms, push]'
                channel_subscriptions[blacklisted]:
                  type: boolean
                  description: If true, blacklist this channel
                gdpr_marketing_consent:
                  type: boolean
                  description: 'Boolean type: If true, the contact accepted marketing consent'
                gdpr_accept_terms:
                  type: boolean
                  description: 'Boolean type: If true, the contact accepted your terms'
                gdpr_date:
                  type: string
                  format: date-time
                  description: 'Date for GDPR changes in ISO_8601 format, Example: 1990-01-01T00:00:00Z'
                gdpr_remote_ip:
                  description: 'String type: Contact IP when accepted GDPR'
            example:
              name_first: John
              name_last: Doe
              email: '[email protected]'
              phone_countrycode: '44'
              phone_number: '7712345678'
              tags:
              - tag1
              - tag2
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                id: 550aac3da096734ce5000001
                name_first: John
                name_last: Doe
                phone_countrycode: '44'
                phone_number: '7712345678'
                email: '[email protected]'
                tags:
                - tag1
                - tag2
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
    delete:
      operationId: deleteContact
      summary: Delete — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/delete
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Id of the contact to be deleted
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                id: 550aac3da096734ce5000001
                name_first: John
                name_last: Doe
                phone_countrycode: '44'
                phone_number: '7712345678'
                email: '[email protected]'
                tags:
                - tag1
                - tag2
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
  /v2/account/{account_id}/contact/{contact_id}/email_validation:
    get:
      operationId: emailValidationContact
      summary: Email validation — Contact
      tags:
      - Contact
      externalDocs:
        description: Cendyn CRM API reference
        url: https://developers.cendyncrm.com/api/docs/contact/email_validation
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
        description: Your account unique identifier to access API.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Id of the contact for the email validation
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                email_valid: true
                last_email_verified: '2020-06-16T08:25:03.230+00:00'
        '401':
          description: 'Unauthorized — missing or invalid `Authorization: Token token=...` header.'
components:
  securitySchemes:
    accountToken:
      type: apiKey
      in: header
      name: Authorization
      description: 'Account token authentication. Send `Authorization: Token token={account.secret}`. Some operations require the account master secret (`Token token={account.master_secret}`).'
externalDocs:
  description: Cendyn CRM Developers Central
  url: https://developers.cendyncrm.com/api