{
  "info": {
    "name": "EQALL External API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "EQALL External API and MCP server. Set the apiKey variable to a key from EQALL Settings → Integrations → API & AI agents. Run a Find request first: it saves the first result's ID into contactId / companyId / meetingId so the details requests work straight away. (claude.ai, ChatGPT and other MCP clients connect with OAuth sign-in instead of a key; see the guide.) Guide: https://www.eqall.com/developers.html · Reference: https://www.eqall.com/api-reference.html"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.eqall.com",
      "description": "EQALL API host"
    },
    {
      "key": "apiKey",
      "value": "eqk_paste_your_key_here",
      "description": "Your API key (eqk_…)"
    },
    {
      "key": "contactId",
      "value": "",
      "description": "Filled in by Find contacts"
    },
    {
      "key": "companyId",
      "value": "",
      "description": "Filled in by Find companies"
    },
    {
      "key": "meetingId",
      "value": "",
      "description": "Filled in by Find meetings"
    },
    {
      "key": "cursor",
      "value": "",
      "description": "nextCursor from a previous page"
    }
  ],
  "item": [
    {
      "name": "Account",
      "item": [
        {
          "name": "Who am I",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/whoami",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "whoami"
              ]
            },
            "description": "Check the key: the user, company and permissions it acts as."
          }
        }
      ]
    },
    {
      "name": "Contacts",
      "item": [
        {
          "name": "Find contacts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/contacts?query=jane&limit=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "contacts"
              ],
              "query": [
                {
                  "key": "query",
                  "value": "jane",
                  "disabled": false,
                  "description": ""
                },
                {
                  "key": "limit",
                  "value": "20",
                  "disabled": false,
                  "description": ""
                },
                {
                  "key": "cursor",
                  "value": "{{cursor}}",
                  "disabled": true,
                  "description": ""
                }
              ]
            },
            "description": "Search your network. Every word must match (\"jane acme\"). Saves the first contactId."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "const body = pm.response.json();",
                  "const first = body && body.contacts && body.contacts[0];",
                  "if (first) { pm.collectionVariables.set('contactId', first.contactId); }",
                  "pm.test('200 OK', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Get contact details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/contacts/{{contactId}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "contacts",
                "{{contactId}}"
              ]
            },
            "description": "Profile, insights and last meeting recap."
          }
        },
        {
          "name": "Add contact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/external/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "contacts"
              ]
            },
            "description": "Needs a key with 'Allow adding contacts' (write:contacts). Adding an existing email returns that contact.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"firstName\": \"Jane\",\n  \"lastName\": \"Doe\",\n  \"email\": \"jane.doe@acme.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Companies",
      "item": [
        {
          "name": "Find companies",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/companies?query=acme&limit=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "companies"
              ],
              "query": [
                {
                  "key": "query",
                  "value": "acme",
                  "disabled": false,
                  "description": ""
                },
                {
                  "key": "limit",
                  "value": "20",
                  "disabled": false,
                  "description": ""
                },
                {
                  "key": "cursor",
                  "value": "{{cursor}}",
                  "disabled": true,
                  "description": ""
                }
              ]
            },
            "description": "Search your own company and companies of people in your network, by name or domain. Saves the first companyId."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "const body = pm.response.json();",
                  "const first = body && body.companies && body.companies[0];",
                  "if (first) { pm.collectionVariables.set('companyId', first.companyId); }",
                  "pm.test('200 OK', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Get company details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/companies/{{companyId}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "companies",
                "{{companyId}}"
              ]
            },
            "description": "Profile, products, partners, leadership, finance, insights and news."
          }
        }
      ]
    },
    {
      "name": "Meetings",
      "item": [
        {
          "name": "Find meetings",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/meetings?when=past&type=external&limit=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "meetings"
              ],
              "query": [
                {
                  "key": "when",
                  "value": "past",
                  "disabled": false,
                  "description": ""
                },
                {
                  "key": "type",
                  "value": "external",
                  "disabled": false,
                  "description": ""
                },
                {
                  "key": "title",
                  "value": "",
                  "disabled": true,
                  "description": ""
                },
                {
                  "key": "attendee",
                  "value": "",
                  "disabled": true,
                  "description": ""
                },
                {
                  "key": "company",
                  "value": "",
                  "disabled": true,
                  "description": ""
                },
                {
                  "key": "from",
                  "value": "2026-09-01",
                  "disabled": true,
                  "description": ""
                },
                {
                  "key": "to",
                  "value": "2026-09-30",
                  "disabled": true,
                  "description": ""
                },
                {
                  "key": "limit",
                  "value": "20",
                  "disabled": false,
                  "description": ""
                },
                {
                  "key": "cursor",
                  "value": "{{cursor}}",
                  "disabled": true,
                  "description": ""
                }
              ]
            },
            "description": "All filters optional. Enable the ones you want. Saves the first meetingId."
          },
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "const body = pm.response.json();",
                  "const first = body && body.meetings && body.meetings[0];",
                  "if (first) { pm.collectionVariables.set('meetingId', first.meetingId); }",
                  "pm.test('200 OK', () => pm.response.to.have.status(200));"
                ]
              }
            }
          ]
        },
        {
          "name": "Get meeting details (default)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/meetings/{{meetingId}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "meetings",
                "{{meetingId}}"
              ]
            },
            "description": "Prep for upcoming meetings, recap for completed ones."
          }
        },
        {
          "name": "Get meeting details (prep + recap)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/external/meetings/{{meetingId}}?include=prep,recap",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "external",
                "meetings",
                "{{meetingId}}"
              ],
              "query": [
                {
                  "key": "include",
                  "value": "prep,recap",
                  "disabled": false,
                  "description": ""
                }
              ]
            },
            "description": ""
          }
        }
      ]
    },
    {
      "name": "MCP",
      "description": "JSON-RPC 2.0 over Streamable HTTP. The response is a server-sent event; the tool result is JSON text in result.content[0].text.",
      "item": [
        {
          "name": "tools/list",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/list\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "findContact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"findContact\",\n    \"arguments\": {\n      \"query\": \"jane\"\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "getContactDetails",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"getContactDetails\",\n    \"arguments\": {\n      \"contactId\": \"{{contactId}}\"\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "createContact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"createContact\",\n    \"arguments\": {\n      \"firstName\": \"Jane\",\n      \"lastName\": \"Doe\",\n      \"email\": \"jane.doe@acme.com\"\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "findCompany",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"findCompany\",\n    \"arguments\": {\n      \"query\": \"acme\"\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "getCompanyDetails",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"getCompanyDetails\",\n    \"arguments\": {\n      \"companyId\": \"{{companyId}}\"\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "findMeetings",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"findMeetings\",\n    \"arguments\": {\n      \"when\": \"past\",\n      \"type\": \"external\",\n      \"limit\": 5\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "getMeetingDetails",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json, text/event-stream"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/mcp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mcp"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"getMeetingDetails\",\n    \"arguments\": {\n      \"meetingId\": \"{{meetingId}}\",\n      \"include\": [\n        \"prep\",\n        \"recap\"\n      ]\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    }
  ]
}
