Benchmark Email Add Contacts API

Add and import contacts to lists

Operations 9

POST /Contact/{ListID}/ContactDetails /Contact/{{ListID}}/ContactDetails || Add Contact #
PATCH /Contact/{ListID}/ContactDetails/{ContactID} Update Contact #
POST /Contact/{ListID}/ContactDetails/CSV/Upload {{ListID}}/ContactDetails/CSV/Upload |Save email address which are not verified and uploaded #
PATCH /Contact/{ListID}/Mapping /{{ListID}}/Mapping | Change mapping #
PATCH /Contact/{ListID}/Compilation /{{ListID}}/Compilation | Changing list compilation details #
GET /Contact/{ListID}/Mapping/{FileName} Get list mapping #
POST /Contact/{ListID}/ContactDetails/CSV Save email address #
POST /Contact/{ListID}/ContactDetails/CSV/Verified Save email address which verified #
POST /Contact/{ID}/ContactDetails/CSV/Upload/Verified Save email address which is verified and uploaded #

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/benchmark-email-add-contacts-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

benchmark-email-add-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Benchmark Email RESTful API v3.0 ABTest Creation Add Contacts API
  description: 'RESTful API for managing email marketing contacts, lists, campaigns, automations, reports, images, and webhooks within the Benchmark Email platform. To use the API, you need a Benchmark Email API token available at https://ui.benchmarkemail.com/Integrate#API. Rate limit: 500 calls per 2 minutes and 60,000 calls per day.'
  version: 3.0.0
  contact:
    name: Benchmark Email Developer Support
    url: https://developer.benchmarkemail.com/
  license:
    name: Proprietary
servers:
- url: https://clientapi.benchmarkemail.com
  description: Benchmark Email Client API
security:
- apiKeyAuth: []
tags:
- name: Add Contacts
  description: Add and import contacts to lists
paths:
  /Contact/{ListID}/ContactDetails:
    post:
      tags:
      - Add Contacts
      summary: /Contact/{{ListID}}/ContactDetails  || Add Contact
      operationId: post__contact__listid__contactdetails
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Add Contact</h4>

        <h4>URL Parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>{{ListID}}</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (To be passed as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>Data</td><td>required</td><td><a href="http://www.benchm'
      requestBody:
        content:
          application/json:
            schema:
              type: object
  /Contact/{ListID}/ContactDetails/{ContactID}:
    patch:
      tags:
      - Add Contacts
      summary: Update Contact
      operationId: patch__contact__listid__contactdetails__contactid
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      - name: ContactID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Update Contact</h4>

        <h4>URL Parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody

        <tr><td>{{ListID}}</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        <tr><td>{{ContactID}}</td><td>required</td><td>string</td><td>ID of the contact</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (To be passed as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</'
      requestBody:
        content:
          application/json:
            schema:
              type: object
  /Contact/{ListID}/ContactDetails/CSV/Upload:
    post:
      tags:
      - Add Contacts
      summary: '{{ListID}}/ContactDetails/CSV/Upload |Save email address which are not verified and uploaded'
      operationId: post__contact__listid__contactdetails_csv_upload
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Save email address which are not verified and uploaded</h4>


        <h4>URL parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>ListID</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (To be passed as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>Data</td><td>re'
  /Contact/{ListID}/Mapping:
    patch:
      tags:
      - Add Contacts
      summary: /{{ListID}}/Mapping | Change mapping
      operationId: patch__contact__listid__mapping
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Changes file mapping</h4>

        <h4>URL Parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>{{ListID}}</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (to be encoded as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>FileName</td><td>required</td><td>string</td><'
      requestBody:
        content:
          application/json:
            schema:
              type: object
  /Contact/{ListID}/Compilation:
    patch:
      tags:
      - Add Contacts
      summary: /{{ListID}}/Compilation | Changing list compilation details
      operationId: patch__contact__listid__compilation
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Changes file upload compilation</h4>

        <h4>URL Parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>{{ListID}}</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (to be encoded as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>Description</td><td>required</td><t'
      requestBody:
        content:
          application/json:
            schema:
              type: object
  /Contact/{ListID}/Mapping/{FileName}:
    get:
      tags:
      - Add Contacts
      summary: Get list mapping
      operationId: get__contact__listid__mapping__filename
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      - name: FileName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: 'Gets the mapping of the uploaded list against its fields


        <h4>URL Parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th>

        <th>Required</th>

        <th>Description</th>

        </tr>

        </thead>

        <tbody>

        <tr>

        <td>{{ListID}}</td>

        <td>required</td>

        <td>ID of the list</td>

        </tr>

        <tr>

        <td>{{FileName}}</td>

        <td>required</td>

        <td>Name of the file</td>

        </tr>

        </tbody>

        </table>


        <h4>Response body parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th>

        <th>Type</th>

        <th>Description</th>

        </tr>

        </thead>

        <'
  /Contact/{ListID}/ContactDetails/CSV:
    post:
      tags:
      - Add Contacts
      summary: Save email address
      operationId: post__contact__listid__contactdetails_csv
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Save email address </h4>

        <h4>URL Parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>{{ListID}}</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (To be passed as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>EmailIDs</td><td>required</td><td>string</td><td'
      requestBody:
        content:
          application/json:
            schema:
              type: object
  /Contact/{ListID}/ContactDetails/CSV/Verified:
    post:
      tags:
      - Add Contacts
      summary: Save email address which verified
      operationId: post__contact__listid__contactdetails_csv_verified
      parameters:
      - name: ListID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Save email address which verified</h4>

        <h4>URL Parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>{{ListID}}</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (To be passed as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>EmailIDs</td><td>required</td><td>'
      requestBody:
        content:
          application/json:
            schema:
              type: object
  /Contact/{ID}/ContactDetails/CSV/Upload/Verified:
    post:
      tags:
      - Add Contacts
      summary: Save email address which is verified and uploaded
      operationId: post__contact__id__contactdetails_csv_upload_verified
      parameters:
      - name: ID
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: '<h4>Save email address which is verified and uploaded</h4>


        <h4>URL parameters</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>ListID</td><td>required</td><td>string</td><td>ID of the list</td></tr>

        </tbody>

        </table>


        <h4>Body Parameters (To be passed as a JSON string)</h4>

        <table>

        <thead>

        <tr>

        <th>Key</th><th>Required</th><th>Type</th><th>Description</th></tr>

        </thead>

        <tbody>

        <tr><td>Data</td><td>require'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: AuthToken
      description: API token obtained from https://ui.benchmarkemail.com/Integrate#API