{
  "info": {
    "name": "Affinity — mcp.ai",
    "description": "REST API for the Affinity MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/affinity",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "affinity_get_a_company_s_list_entries",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/a/company/s/list/entries",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "a",
            "company",
            "s",
            "list",
            "entries"
          ]
        },
        "description": "Summarize company data across all lists, including list-specific fields and metadata like creation date and author. Access requires \"Export data from Lists\" permission.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_a_company_s_lists",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/a/company/s/lists",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "a",
            "company",
            "s",
            "lists"
          ]
        },
        "description": "Returns metadata for all the Lists on which the given Company appears.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_a_person_s_list_entries",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/a/person/s/list/entries",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "a",
            "person",
            "s",
            "list",
            "entries"
          ]
        },
        "description": "Summary: Browse rows for a Person in all Lists, showing field data and entry metadata like creation time and author. Requires \"Export data from Lists\" permission.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_a_person_s_lists",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/a/person/s/lists",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "a",
            "person",
            "s",
            "lists"
          ]
        },
        "description": "Returns metadata for all the Lists on which the given Person appears.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_a_single_company",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/a/single/company",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "a",
            "single",
            "company"
          ]
        },
        "description": "Retrieve basic company info and specific field data by using `fieldIds` or `fieldTypes` parameters. Multiple fields can be queried. No field data if parameters aren't specified. Requires \"Export All O",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"fieldIds\": \"\",\n  \"fieldTypes\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_a_single_opportunity",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/a/single/opportunity",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "a",
            "single",
            "opportunity"
          ]
        },
        "description": "Get basic details about an Opportunity without field data via provided endpoints. Field data requires using specific list entry APIs and the \"Export data from Lists\" permission.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_a_single_person",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/a/single/person",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "a",
            "single",
            "person"
          ]
        },
        "description": "Use GET `/v2/persons/fields` with `fieldIds` or `fieldTypes` for detailed data; basic info by default. Request multiple fields at once. \"Export All People\" permission needed.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": 0,\n  \"fieldIds\": \"\",\n  \"fieldTypes\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_all_companies",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/all/companies",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "all",
            "companies"
          ]
        },
        "description": "Affinity API allows paginated access to company info and custom fields. Use `fieldIds` or `fieldTypes` to specify data in a request. Retrieve field IDs/Types via GET `/v2/companies/fields`. Export per",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"fieldIds\": \"\",\n  \"fieldTypes\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_all_list_entries_on_a_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/all/list/entries/on/a/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "all",
            "list",
            "entries",
            "on",
            "a",
            "list"
          ]
        },
        "description": "Access and export essential data and metadata for Companies, Persons, or Opportunities from a List, specifying data via `fieldIds` or `fieldTypes`. \"Export data from Lists\" permission is necessary.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"listId\": 0,\n  \"fieldIds\": \"\",\n  \"fieldTypes\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_all_list_entries_on_a_saved_view",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/all/list/entries/on/a/saved/view",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "all",
            "list",
            "entries",
            "on",
            "a",
            "saved",
            "view"
          ]
        },
        "description": "Use the endpoint to access rows in a Saved View with specific filters and selected fields from a web app. It doesn't maintain sort order, supports only sheet-type views, and requires export permission",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"listId\": 0,\n  \"viewId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_all_opportunities",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/all/opportunities",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "all",
            "opportunities"
          ]
        },
        "description": "Pagination through Opportunities in Affinity yields basic info but excludes field data. For field data, use specified GET endpoints. \"Export data from Lists\" permission needed.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_all_persons",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/all/persons",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "all",
            "persons"
          ]
        },
        "description": "The Affinity API offers paginated access to Person data using `fieldIds` or `fieldTypes`. Bulk extraction needs special permissions and supports multiple parameters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"fieldIds\": \"\",\n  \"fieldTypes\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_current_user",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/current/user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "current",
            "user"
          ]
        },
        "description": "Returns metadata about the current user.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_metadata_on_a_single_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/metadata/on/a/single/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "metadata",
            "on",
            "a",
            "single",
            "list"
          ]
        },
        "description": "Returns metadata on a single List.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"listId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_metadata_on_a_single_list_s_fields",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/metadata/on/a/single/list/s/fields",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "metadata",
            "on",
            "a",
            "single",
            "list",
            "s",
            "fields"
          ]
        },
        "description": "Returns metadata on the Fields available on a single List. Use the returned Field IDs to request field data from the GET `/v2/lists/{listId}/list-entries` endpoint.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"listId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_metadata_on_a_single_saved_view",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/metadata/on/a/single/saved/view",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "metadata",
            "on",
            "a",
            "single",
            "saved",
            "view"
          ]
        },
        "description": "Returns metadata on a single Saved View.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"listId\": 0,\n  \"viewId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_metadata_on_all_lists",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/metadata/on/all/lists",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "metadata",
            "on",
            "all",
            "lists"
          ]
        },
        "description": "Returns metadata on Lists.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_metadata_on_company_fields",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/metadata/on/company/fields",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "metadata",
            "on",
            "company",
            "fields"
          ]
        },
        "description": "Returns metadata on non-list-specific Company Fields. Use the returned Field IDs to request field data from the GET `/v2/companies` and GET `/v2/companies/{id}` endpoints.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_metadata_on_person_fields",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/metadata/on/person/fields",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "metadata",
            "on",
            "person",
            "fields"
          ]
        },
        "description": "Returns metadata on non-list-specific Person Fields. Use the returned Field IDs to request field data from the GET `/v2/persons` and GET `/v2/persons/{id}` endpoints.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "affinity_get_metadata_on_saved_views",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/metadata/on/saved/views",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "metadata",
            "on",
            "saved",
            "views"
          ]
        },
        "description": "Returns metadata on the Saved Views on a List.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"cursor\": \"\",\n  \"listId\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}