UserGems Contacts API

Add and remove contacts UserGems should track for job changes.

Operations 2

POST /contact Add Contact #
DELETE /contact Delete Contact #

Documentation

Specifications

Schemas & Data

Other Resources

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/usergems-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

usergems-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: UserGems Accounts Contacts API
  description: 'The UserGems API lets customers programmatically add contacts to track for job

    changes and add accounts to receive prospects for. It also exposes a privacy

    delete endpoint used to honor data-subject removal requests. Requests are

    authenticated with a customer-issued API key sent in the X-Api-Key header and

    are processed asynchronously — responses confirm enqueueing, not completion.

    '
  version: 1.0.0
  contact:
    name: UserGems
    url: https://www.usergems.com
    email: support@usergems.com
  license:
    name: UserGems Terms of Service
    url: https://www.usergems.com/legal-security/terms
servers:
- url: https://api.usergems.com/v1
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Contacts
  description: Add and remove contacts UserGems should track for job changes.
paths:
  /contact:
    post:
      summary: Add Contact
      description: 'Enqueue a contact for UserGems to track for job changes. The contact is

        identified by email; optional fields enrich the tracked record with name,

        company, LinkedIn URL, relationship type, signal label, and up to 100

        custom signal fields. The API returns immediately once the contact is

        accepted into the processing queue.

        '
      operationId: addContact
      tags:
      - Contacts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddContactRequest'
            examples:
              AddContactExample:
                $ref: '#/components/examples/AddContactExample'
      responses:
        '200':
          description: Contact added to the processing queue.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueAck'
              examples:
                AddContactAck:
                  $ref: '#/components/examples/AddContactAck'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
        5XX:
          $ref: '#/components/responses/ErrorResponse'
    delete:
      summary: Delete Contact
      description: 'Remove a contact from UserGems'' tracked list. The contact is identified

        by email; relationshipType and signal narrow the deletion to a specific

        scope so the same email can remain tracked under other relationship or

        signal combinations.

        '
      operationId: deleteContact
      tags:
      - Contacts
      parameters:
      - name: email
        in: query
        required: true
        description: Email address of the contact to remove.
        schema:
          type: string
          format: email
      - name: relationshipType
        in: query
        required: false
        description: Restrict deletion to a single relationship type bucket.
        schema:
          type: string
      - name: signal
        in: query
        required: false
        description: Restrict deletion to a single signal label.
        schema:
          type: string
      responses:
        '200':
          description: Contact deleted from the tracked list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueueAck'
              examples:
                DeleteContactAck:
                  $ref: '#/components/examples/DeleteContactAck'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
        5XX:
          $ref: '#/components/responses/ErrorResponse'
components:
  examples:
    AddContactExample:
      summary: Add a Champion contact
      value:
        email: jane.doe@example.com
        firstName: Jane
        lastName: Doe
        company: Acme Inc
        relationshipType: Champion
        linkedinUrl: https://www.linkedin.com/in/janedoe
        signal: q2-champions
    DeleteContactAck:
      summary: Contact removed
      value:
        message: Contact deleted
    AddContactAck:
      summary: Contact accepted
      value:
        message: Contact added to queue
  schemas:
    AddContactRequest:
      type: object
      required:
      - email
      properties:
        email:
          type: string
          format: email
          description: Email address of the person UserGems should track.
        firstName:
          type: string
          description: Given name of the contact.
        lastName:
          type: string
          description: Family name of the contact.
        fullName:
          type: string
          description: Full display name; an alternative to firstName + lastName.
        company:
          type: string
          description: Current employer at time of submission.
        relationshipType:
          type: string
          description: 'Bucket the contact belongs to. Common values include Champion, User,

            Prospect, and Other. Customers can define additional custom values.

            '
          examples:
          - Champion
          - User
          - Prospect
          - Other
        linkedinUrl:
          type: string
          format: uri
          description: Public LinkedIn profile URL for the contact.
        signal:
          type: string
          description: Signal label associating the contact with a workflow.
        custom:
          type: string
          description: Free-form custom metadata to round-trip with downstream events.
      additionalProperties:
        type: string
        description: 'Customers can attach up to 100 custom signal fields as additional

          top-level string properties.

          '
    Error:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          description: Human-readable error message.
        code:
          type: string
          description: Optional machine-readable error code.
    QueueAck:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          description: Human-readable confirmation message.
  responses:
    ErrorResponse:
      description: Error response. UserGems returns standard HTTP status codes (400, 401, 403, 404, 405, 406, 410, 429, 500, 503).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: 'Customer-issued API key. Request a key from support@usergems.com. The

        key must be included on every request in the X-Api-Key header.

        '