Agicap Internal contacts API

The Internal contacts API from Agicap — 1 operation(s) for internal contacts.

Operations 4

DELETE /public/ar-clients/v1/entities/{entityId}/internal-contacts #
GET /public/ar-clients/v1/entities/{entityId}/internal-contacts #
POST /public/ar-clients/v1/entities/{entityId}/internal-contacts #
PUT /public/ar-clients/v1/entities/{entityId}/internal-contacts #

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/agicap-internal-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

agicap-internal-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact: {}
  title: Clients AR Account reports Internal contacts API
  version: v1
servers:
- url: https://api.agicap.com
- url: https://api.agicap.internal
tags:
- name: Internal contacts
paths:
  /public/ar-clients/v1/entities/{entityId}/internal-contacts:
    delete:
      description: Delete internal contacts in bulk. Each contact is identified by itsexternalId within the client scope (clientExternalId + externalId).Maximum 1000 contacts per request.
      operationId: Delete internal contacts
      parameters:
      - in: path
        name: entityId
        required: true
        schema:
          format: int
          type: number
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteInternalContactsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteInternalContactsResponse'
          description: ''
        '401':
          description: Unauthorized request.
        '403':
          description: Forbidden request.
        '429':
          description: Too many requests. Please try again later.
      security:
      - bearer: []
      - bearerAuth: []
      tags:
      - Internal contacts
      x-codegen-request-body-name: body
    get:
      description: Retrieve a paginated list of internal contacts for the given entity.
      operationId: List internal contacts
      parameters:
      - in: query
        name: pageSize
        schema:
          type: number
      - description: Filter contacts by client external identifiers. Supports multiple values.
        in: query
        name: clientExternalIds
        schema:
          example:
          - ext-client-001
          - ext-client-002
          items:
            type: string
          type: array
      - description: Filter contacts by their client Agicap identifier (UUID). Supports multiple values.
        in: query
        name: clientIds
        schema:
          example:
          - f47ac10b-58cc-4372-a567-0e02b2c3d479
          items:
            type: string
          type: array
      - description: Filter contacts whose email contains this value (case-insensitive).
        in: query
        name: email
        schema:
          example: jane@acme.com
          type: string
      - description: Opaque pagination token for retrieving the next page
        in: query
        name: token
        schema:
          format: base64url
          type: string
      - in: path
        name: entityId
        required: true
        schema:
          format: int
          type: number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInternalContactsResponse'
          description: ''
        '401':
          description: Unauthorized request.
        '403':
          description: Forbidden request.
        '429':
          description: Too many requests. Please try again later.
      security:
      - bearer: []
      - bearerAuth: []
      tags:
      - Internal contacts
      x-codegen-request-body-name: body
    post:
      description: Create internal contacts in bulk for a client identified by clientExternalId.Maximum 1000 contacts per request. Each email must be unique per client:duplicate emails will not be created and will appear in the notCreatedlist with reason EMAIL_ALREADY_EXISTS.
      operationId: Create internal contacts
      parameters:
      - in: path
        name: entityId
        required: true
        schema:
          format: int
          type: number
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInternalContactsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateInternalContactsResponse'
          description: ''
        '401':
          description: Unauthorized request.
        '403':
          description: Forbidden request.
        '429':
          description: Too many requests. Please try again later.
      security:
      - bearer: []
      - bearerAuth: []
      tags:
      - Internal contacts
      x-codegen-request-body-name: body
    put:
      description: Update internal contacts in bulk. Each contact is identified by either itsAgicap internal id (priority) or its externalId within the client scope.Maximum 1000 contacts per request.
      operationId: Update internal contacts
      parameters:
      - in: path
        name: entityId
        required: true
        schema:
          format: int
          type: number
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInternalContactsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateInternalContactsResponse'
          description: ''
        '401':
          description: Unauthorized request.
        '403':
          description: Forbidden request.
        '429':
          description: Too many requests. Please try again later.
      security:
      - bearer: []
      - bearerAuth: []
      tags:
      - Internal contacts
      x-codegen-request-body-name: body
components:
  schemas:
    PaginationMetadataDto:
      properties:
        after:
          type:
          - string
          - 'null'
        before:
          type:
          - string
          - 'null'
      required:
      - before
      - after
      type: object
    DeleteInternalContactsRequest:
      properties:
        contacts:
          description: List of contacts to delete (max 1000 items)
          items:
            $ref: '#/components/schemas/InternalContactToDelete'
          type: array
      required:
      - contacts
      type: object
    CreateInternalContactsResponse:
      properties:
        created:
          description: Successfully created contacts
          items:
            $ref: '#/components/schemas/CreatedInternalContact'
          type: array
        notCreated:
          description: Contacts that failed to be created
          items:
            $ref: '#/components/schemas/NotCreatedInternalContact'
          type: array
      required:
      - created
      - notCreated
      type: object
    InternalContactItem:
      properties:
        clientExternalId:
          description: External identifier of the client this contact belongs to.
          example: ext-client-001
          type:
          - string
          - 'null'
        createdDate:
          description: Date and time the internal contact was created (ISO 8601).
          example: '2024-01-15T09:30:00.000Z'
          format: date-time
          type: string
        email:
          description: Email address of the internal contact. Unique per client.
          example: john@example.com
          type: string
        externalId:
          description: Identifier from the ERP or external system. Unique per client if not `null`.
          example: contact_1
          type:
          - string
          - 'null'
        id:
          description: Unique internal contact identifier (UUID format)
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          type: string
      required:
      - id
      - email
      - externalId
      - clientExternalId
      - createdDate
      type: object
    CreateInternalContactsRequest:
      properties:
        contacts:
          description: List of contacts to create (max 1000 items)
          items:
            $ref: '#/components/schemas/ClientInternalContact'
          type: array
      required:
      - contacts
      type: object
    UpdateInternalContactsRequest:
      properties:
        contacts:
          description: List of contacts to update (max 1000 items)
          items:
            $ref: '#/components/schemas/InternalContactToUpdate'
          type: array
      required:
      - contacts
      type: object
    ClientInternalContact:
      properties:
        clientExternalId:
          description: Identifier from the ERP or external system for the client. Max 1000 characters. Value is trimmed.
          example: client_1
          maxLength: 1000
          type: string
        email:
          description: 'Email address of the contact. Must be a valid email address. Value is lowercased and trimmed. Must be unique per client: if the email already exists, the contact will appear in the notCreated list with reason EMAIL_ALREADY_EXISTS.'
          example: john.doe@example.com
          type: string
        externalId:
          description: Identifier from the ERP or external system for this contact. Max 1000 characters. Value is trimmed.
          example: contact_1
          maxLength: 1000
          type: string
      required:
      - email
      - externalId
      - clientExternalId
      type: object
    DeleteInternalContactsResponse:
      properties:
        deleted:
          description: Successfully deleted contacts
          items:
            $ref: '#/components/schemas/DeletedInternalContact'
          type: array
        notDeleted:
          description: Contacts that failed to be deleted
          items:
            $ref: '#/components/schemas/NotDeletedInternalContact'
          type: array
      required:
      - deleted
      - notDeleted
      type: object
    NotCreatedInternalContact:
      properties:
        externalId:
          description: Identifier from the ERP or external system for this contact
          example: contact_1
          type: string
        reason:
          allOf:
          - $ref: '#/components/schemas/ContactCreationFailureEnum'
          description: Reason why the contact could not be created
      required:
      - externalId
      - reason
      type: object
    InternalContactToUpdate:
      properties:
        clientExternalId:
          description: Client external ID that owns this contact. Max 1000 characters. Value is trimmed.
          example: client_1
          maxLength: 1000
          type: string
        email:
          description: New email address for the contact. Must be a valid email address. Value is lowercased and trimmed.
          example: john@example.com
          type: string
        externalId:
          description: Contact external ID from ERP. Used to identify the contact if id is not provided. Max 1000 characters. Value is trimmed.
          example: contact_1
          maxLength: 1000
          type: string
        id:
          description: Agicap internal contact identifier. Must be a valid UUID. Takes priority over externalId for identifying the contact.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          type: string
      required:
      - externalId
      - clientExternalId
      - email
      type: object
    GetInternalContactsResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/InternalContactItem'
          type: array
        pagination:
          $ref: '#/components/schemas/PaginationMetadataDto'
      required:
      - items
      - pagination
      type: object
    DeletedInternalContact:
      properties:
        clientExternalId:
          description: Client external ID that owns this contact
          example: ext-client-001
          type: string
        externalId:
          description: Identifier from the ERP or external system for this contact
          example: contact_1
          type: string
      required:
      - externalId
      - clientExternalId
      type: object
    ContactUpdateFailureEnum:
      description: Reason why the contact could not be updated
      enum:
      - CLIENT_NOT_FOUND
      - CONTACT_NOT_FOUND
      - EMAIL_ALREADY_EXISTS
      - EXTERNAL_ID_ALREADY_EXISTS
      type: string
    InternalContactToDelete:
      properties:
        clientExternalId:
          description: Client external ID that owns the contact. Max 1000 characters. Value is trimmed.
          example: client_1
          maxLength: 1000
          type: string
        externalId:
          description: Internal contact external ID to delete. Max 1000 characters. Value is trimmed.
          example: contact_1
          maxLength: 1000
          type: string
      required:
      - clientExternalId
      - externalId
      type: object
    UpdatedInternalContact:
      properties:
        clientExternalId:
          description: Client external ID that owns this contact
          example: ext-client-001
          type: string
        externalId:
          description: External identifier of the updated contact
          example: contact_1
          type: string
      required:
      - externalId
      - clientExternalId
      type: object
    ContactCreationFailureEnum:
      description: Reason why the contact could not be created
      enum:
      - CLIENT_NOT_FOUND
      - EMAIL_ALREADY_EXISTS
      - EXTERNAL_ID_ALREADY_EXISTS
      type: string
    NotDeletedInternalContact:
      properties:
        clientExternalId:
          description: Client external ID that owns this contact
          example: ext-client-001
          type: string
        externalId:
          description: Identifier from the ERP or external system for this contact
          example: contact_1
          type: string
        reason:
          allOf:
          - $ref: '#/components/schemas/ContactDeletionFailureEnum'
          description: Reason why the contact could not be deleted
      required:
      - externalId
      - clientExternalId
      - reason
      type: object
    ContactDeletionFailureEnum:
      description: Reason why the contact could not be deleted
      enum:
      - CLIENT_NOT_FOUND
      - CONTACT_NOT_FOUND
      type: string
    UpdateInternalContactsResponse:
      properties:
        notUpdated:
          description: Contacts that failed to be updated
          items:
            $ref: '#/components/schemas/NotUpdatedInternalContact'
          type: array
        updated:
          description: Successfully updated contacts
          items:
            $ref: '#/components/schemas/UpdatedInternalContact'
          type: array
      required:
      - updated
      - notUpdated
      type: object
    CreatedInternalContact:
      properties:
        externalId:
          description: Identifier from the ERP or external system for this contact
          example: contact_1
          type: string
        id:
          description: Internal identifier of the created contact
          example: 550e8400-e29b-41d4-a716-446655440000
          type: string
      required:
      - id
      - externalId
      type: object
    NotUpdatedInternalContact:
      properties:
        clientExternalId:
          description: Client external ID that owns this contact
          example: ext-client-001
          type: string
        externalId:
          description: External identifier of the contact that failed to update
          example: contact_1
          type: string
        reason:
          allOf:
          - $ref: '#/components/schemas/ContactUpdateFailureEnum'
          description: Reason why the contact could not be updated
      required:
      - externalId
      - clientExternalId
      - reason
      type: object
  securitySchemes:
    bearer:
      bearerFormat: JWT
      scheme: bearer
      type: http
    bearerAuth:
      bearerFormat: OPAQUE
      scheme: bearer
      type: http