BAMF.ai CRM API

The Crm API from BAMF.ai — 4 operation(s) for crm.

Operations 4

GET /crm/saved-lists List supported native saved people lists #
GET /crm/saved-lists/{id}/members Read a bounded native saved people list page #
POST /crm/people/query Query client People #
POST /crm/leads/search Search client CRM leads #

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/bamf-ai:bamf-ai-crm-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

bamf-ai-crm-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BAMF Developer Platform CRM API
  version: 0.1.0
servers:
- url: https://api.bamf.ai/v1
security:
- BearerAuth: []
tags:
- name: CRM
paths:
  /crm/saved-lists:
    get:
      operationId: list_saved_people_lists
      summary: List supported native saved people lists
      description: Requires a BAMF user JWT; API keys and OAuth credentials are rejected. agent_sessions:read public admission and downstream client.crm.read workspace capability are required. Client ownership is resolved by the server. Returns up to the first 100 combined saved master-contact lists, supported CRM system segments, and receipt-verified reviewed CRM lead lists; unmarked manual CRM lists and company/unknown domains are omitted. coverage.complete is always false.
      security:
      - BearerAuth: []
      parameters:
      - name: workspace_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Read-only bounded catalog; no provider calls.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                required:
                - workspace_id
                - read_only
                - provider_mutation
                - lists
                - coverage
                properties:
                  workspace_id:
                    type: string
                    format: uuid
                  read_only:
                    const: true
                  provider_mutation:
                    const: false
                  lists:
                    type: array
                    maxItems: 100
                    items:
                      type: object
                      additionalProperties: false
                      required:
                      - id
                      - name
                      - member_kind
                      - count
                      properties:
                        id:
                          type: string
                          format: uuid
                        name:
                          type: string
                          maxLength: 300
                        member_kind:
                          type: string
                          enum:
                          - master_contacts
                          - crm_leads
                        count:
                          type: integer
                          minimum: 0
                  coverage:
                    type: object
                    additionalProperties: false
                    required:
                    - limit
                    - complete
                    properties:
                      limit:
                        const: 100
                      complete:
                        const: false
        '400':
          description: Missing, malformed, or extra query parameter.
        '401':
          description: Missing or invalid authentication.
        '403':
          description: API key, OAuth, workspace, or capability denied.
        '429':
          description: Upstream workspace read rate limited.
        '502':
          description: Native CRM read unavailable or response invalid.
        '503':
          description: Native read service unavailable.
      tags:
      - CRM
  /crm/saved-lists/{id}/members:
    get:
      operationId: read_saved_people_list_members
      summary: Read a bounded native saved people list page
      description: Requires a BAMF user JWT; API keys and OAuth credentials are rejected. agent_sessions:read public admission and downstream client.crm.read workspace capability are required. Master-contact lists are verified by the scoped native ownership and consent reader. CRM system-segment and receipt-verified reviewed-lead lists must be in the current bounded catalog. Company, unknown, unmarked manual CRM-list, and foreign-workspace domains are unsupported.
      security:
      - BearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: workspace_id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      - name: member_kind
        in: query
        required: true
        schema:
          type: string
          enum:
          - master_contacts
          - crm_leads
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 50
          default: 50
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          maximum: 10000
          default: 0
      responses:
        '200':
          description: Read-only page projected to id, full_name, title, and company_name for either supported domain.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                required:
                - workspace_id
                - read_only
                - provider_mutation
                - list_id
                - member_kind
                - members
                - page
                properties:
                  workspace_id:
                    type: string
                    format: uuid
                  read_only:
                    const: true
                  provider_mutation:
                    const: false
                  list_id:
                    type: string
                    format: uuid
                  member_kind:
                    type: string
                    enum:
                    - master_contacts
                    - crm_leads
                  members:
                    type: array
                    maxItems: 50
                    items:
                      type: object
                      additionalProperties: false
                      required:
                      - id
                      - full_name
                      - title
                      - company_name
                      properties:
                        id:
                          type: string
                          format: uuid
                        full_name:
                          type:
                          - string
                          - 'null'
                        title:
                          type:
                          - string
                          - 'null'
                        company_name:
                          type:
                          - string
                          - 'null'
                  page:
                    type: object
                    additionalProperties: false
                    required:
                    - limit
                    - offset
                    - total
                    - count
                    - has_more
                    properties:
                      limit:
                        type: integer
                        minimum: 1
                        maximum: 50
                      offset:
                        type: integer
                        minimum: 0
                        maximum: 10000
                      total:
                        type: integer
                        minimum: 0
                      count:
                        type: integer
                        minimum: 0
                        maximum: 50
                      has_more:
                        type: boolean
        '400':
          description: Invalid domain, bounds, or extra query parameter.
        '401':
          description: Missing or invalid authentication.
        '403':
          description: API key, OAuth, workspace, or capability denied.
        '404':
          description: List is unavailable in this workspace or outside the supported bounded catalog.
        '429':
          description: Upstream workspace read rate limited.
        '502':
          description: Native CRM read unavailable or response invalid.
        '503':
          description: Native read service unavailable.
      tags:
      - CRM
  /crm/people/query:
    post:
      operationId: query_people
      summary: Query client People
      description: 'Requires a BAMF user JWT; BAMF API keys are rejected. agent_sessions:read public admission and downstream client.crm.read workspace capability are required. Client ownership is resolved by the server. Read-only: no provider calls or sends. People filters: limit 1–200, days 1–120, channels_min 1–7, min_icp 0–100, text up to 160 characters. General candidate scans are capped at 1,000; first-degree connection and minimum-follower filters are evaluated server-side with an exact matched total up to 20,000, with larger results marked truncated.'
      security:
      - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - workspace_id
              properties:
                workspace_id:
                  type: string
                  format: uuid
                params:
                  type: object
                  additionalProperties: false
                  properties:
                    temperature:
                      type: array
                      maxItems: 3
                      items:
                        type: string
                        enum:
                        - hot
                        - warm
                        - cold
                        maxLength: 80
                    min_icp:
                      type: number
                      minimum: 0
                      maximum: 100
                      description: Values through 1 are a fraction; larger values are a percentage.
                    channels_min:
                      type: integer
                      minimum: 1
                      maximum: 7
                    days:
                      type: integer
                      minimum: 1
                      maximum: 120
                    signal_classes:
                      type: array
                      maxItems: 15
                      items:
                        type: string
                        enum:
                        - connection.accepted
                        - inbox.inbound
                        - inbox.outbound
                        - dm.inbound
                        - dm.outbound
                        - post.comment
                        - post.reaction
                        - email.opened
                        - email.clicked
                        - giveaway.claimed
                        - x.comment
                        - proposal.approved
                        - stage.changed
                        - funnel.submitted
                        - positive.intent
                        maxLength: 80
                    lanes:
                      type: array
                      maxItems: 7
                      items:
                        type: string
                        enum:
                        - opportunity
                        - prospect
                        - pr_lead
                        - pr_prospect
                        - investor
                        - community
                        - vendor
                        maxLength: 80
                    stages:
                      type:
                      - array
                      - 'null'
                      maxItems: 9
                      items:
                        type: string
                        enum:
                        - network
                        - contact_added
                        - contacted
                        - connected
                        - warm_reply
                        - in_conversation
                        - meeting_booked
                        - meeting_held
                        - won_closed
                        maxLength: 80
                    tags:
                      type:
                      - array
                      - 'null'
                      maxItems: 25
                      items:
                        type: string
                        minLength: 1
                        maxLength: 80
                        pattern: \S
                    needs_reply:
                      type: boolean
                    text:
                      type:
                      - string
                      - 'null'
                      minLength: 1
                      maxLength: 160
                      pattern: \S
                    limit:
                      type: integer
                      minimum: 1
                      maximum: 200
                    sort:
                      type: string
                      enum:
                      - score
                      - recent
                      - icp
      responses:
        '200':
          description: data contains normalized CRM version/action/workspace/result; outer workspace_id/read_only:true/provider_mutation:false. No idempotency key needed.
        '400':
          description: Invalid workspace/filter or extra field
        '401':
          description: Missing/invalid authentication
        '403':
          description: API key or workspace/capability denied
        '502':
          description: Native CRM read unavailable or invalid response
      tags:
      - CRM
  /crm/leads/search:
    post:
      operationId: search_crm_leads
      summary: Search client CRM leads
      description: 'Requires a BAMF user JWT; BAMF API keys are rejected. agent_sessions:read public admission and downstream client.crm.read workspace capability are required. Client ownership is resolved by the server. Read-only: no provider calls or sends. Search limit 1–100, offset 0–10,000, search up to 160 characters; campaign_scope new/in_campaign/all; connection_scope first_degree/pending_invite/not_connected/all; optional campaign_id UUID and accepted_no_reply/saudi_only/strong_icp_only booleans.'
      security:
      - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - workspace_id
              properties:
                workspace_id:
                  type: string
                  format: uuid
                params:
                  type: object
                  additionalProperties: false
                  properties:
                    limit:
                      type: integer
                      minimum: 1
                      maximum: 100
                    offset:
                      type: integer
                      minimum: 0
                      maximum: 10000
                    search:
                      type: string
                      minLength: 1
                      maxLength: 160
                      pattern: \S
                    campaign_scope:
                      type: string
                      enum:
                      - new
                      - in_campaign
                      - all
                    connection_scope:
                      type: string
                      enum:
                      - first_degree
                      - pending_invite
                      - not_connected
                      - all
                    campaign_id:
                      type: string
                      format: uuid
                    accepted_no_reply:
                      type: boolean
                    saudi_only:
                      type: boolean
                    strong_icp_only:
                      type: boolean
      responses:
        '200':
          description: data contains normalized CRM version/action/workspace/result; outer workspace_id/read_only:true/provider_mutation:false. No idempotency key needed.
        '400':
          description: Invalid workspace/filter or extra field
        '401':
          description: Missing/invalid authentication
        '403':
          description: API key or workspace/capability denied
        '502':
          description: Native CRM read unavailable or invalid response
      tags:
      - CRM
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer