openapi.gpt.json•91.7 kB
{
"openapi": "3.1.0",
"info": {
"title": "Captain Data MCP API",
"description": "MCP API for managing Captain Data actions.",
"version": "1.0.0"
},
"components": {
"securitySchemes": {},
"schemas": {}
},
"paths": {
"/health": {
"get": {
"operationId": "getHealth",
"summary": "Health check",
"tags": [
"Health"
],
"description": "Check if the API is running",
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "healthy"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"uptime": {
"type": "number",
"description": "Server uptime in seconds"
},
"redis": {
"type": "object",
"properties": {
"available": {
"type": "boolean",
"description": "Whether Redis is available"
},
"connected": {
"type": "boolean",
"description": "Whether Redis is connected"
},
"healthy": {
"type": "boolean",
"description": "Whether Redis is healthy"
},
"connectionAttempts": {
"type": "number",
"description": "Number of connection attempts"
},
"ping": {
"type": [
"null",
"string"
],
"description": "Redis ping response"
}
}
},
"_metadata": {
"type": "object",
"properties": {
"requestId": {
"type": "string"
},
"executionTime": {
"type": "number"
}
}
}
}
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "unhealthy"
},
"error": {
"type": "string"
},
"requestId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"executionTime": {
"type": "number"
}
}
}
}
}
}
}
}
},
"/auth": {
"post": {
"operationId": "authenticate",
"summary": "Authenticate with your Captain Data API key",
"tags": [
"Authentication"
],
"description": "Exchange your Captain Data API key for a session token that can be used for subsequent requests",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "Your Captain Data API key"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Authentication successful",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"session_token": {
"type": "string",
"description": "Session token to use in Authorization header for subsequent requests"
},
"expires_in": {
"type": "number",
"description": "Token expiration time in seconds"
},
"_metadata": {
"type": "object",
"properties": {
"requestId": {
"type": "string"
},
"executionTime": {
"type": "number"
}
}
}
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"requestId": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"requestId": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Internal Server Error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"requestId": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/introspect": {
"get": {
"operationId": "getIntrospect",
"summary": "List available tools",
"tags": [
"Introspection"
],
"description": "Get metadata about available tools (MCP introspection)",
"parameters": [
{
"schema": {
"type": "string",
"enum": [
"full"
]
},
"in": "query",
"name": "v",
"required": false,
"description": "Version parameter. Use \"full\" to get all tools"
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"parameters": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
}
}
}
}
}
}
}
}
},
"/tools/enrich_people": {
"post": {
"operationId": "enrichPeople",
"summary": "Execute enrich_people tool",
"tags": [
"Tools"
],
"description": "Extract detailed information from a LinkedIn profile. Use this when you need comprehensive data about a person including their work history, education, skills, and achievements. Perfect for lead research, candidate evaluation, or networking preparation.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"linkedin_profile_url"
],
"additionalProperties": false,
"properties": {
"linkedin_profile_url": {
"type": "string",
"format": "uri",
"pattern": "^https://www\\.linkedin\\.com/(sales/people|in|pub|sales/lead)/",
"description": "The LinkedIn profile URL to extract data from. Must be a valid LinkedIn URL starting with 'https://www.linkedin.com/sales/people/', 'https://www.linkedin.com/sales/lead/', 'https://www.linkedin.com/pub/' or 'https://www.linkedin.com/in/'",
"example": "https://www.linkedin.com/in/john-doe"
},
"sections": {
"type": "boolean",
"default": false,
"description": "Include education, certifications, and other profile sections in the results"
},
"experiences": {
"type": "boolean",
"default": false,
"description": "Include detailed work experience and employment history"
},
"skills": {
"type": "boolean",
"default": false,
"description": "Include skills, endorsements, and expertise areas"
},
"highlights": {
"type": "boolean",
"default": false,
"description": "Include highlights, achievements, and notable accomplishments"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"linkedin_profile_handle": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"full_name": {
"type": "string"
},
"birth_date": {
"type": "string"
},
"headline": {
"type": "string"
},
"summary": {
"type": "string"
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"skills": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sales_navigator_profile_id": {
"type": "string"
},
"linkedin_profile_id": {
"type": "integer"
},
"linkedin_profile_url": {
"type": "string",
"format": "uri"
},
"profile_country": {
"type": "string"
},
"profile_language": {
"type": "string"
},
"location": {
"type": "string"
},
"profile_image_url": {
"type": "string",
"format": "uri"
},
"job_title": {
"type": "string"
},
"education": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"experiences": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"highlights": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
}
}
}
},
"400": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"404": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
}
},
"parameters": [
{
"name": "session_token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Token from /auth endpoint"
}
]
}
},
"/tools/enrich_company": {
"post": {
"operationId": "enrichCompany",
"summary": "Execute enrich_company tool",
"tags": [
"Tools"
],
"description": "Extract comprehensive company information from LinkedIn. Use this when you need detailed data about a company including size, industry, location, and key insights. Ideal for market research, competitive analysis, or B2B prospecting.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"linkedin_company_url"
],
"additionalProperties": false,
"properties": {
"linkedin_company_url": {
"type": "string",
"format": "uri",
"pattern": "^https://www\\.linkedin\\.com/(sales/company|showcase|company|school)/",
"description": "The LinkedIn company page URL to extract data from. Must be a valid LinkedIn URL starting with 'https://www.linkedin.com/sales/company', 'https://www.linkedin.com/showcase', 'https://www.linkedin.com/company' or 'https://www.linkedin.com/school'",
"example": "https://www.linkedin.com/company/microsoft"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"company_name": {
"type": "string"
},
"specialties": {
"type": "array",
"items": {
"type": "string"
}
},
"tagline": {
"type": "string"
},
"linkedin_company_id": {
"type": "number"
},
"description": {
"type": "string"
},
"type": {
"type": "string"
},
"founded_on": {
"type": "number"
},
"linkedin_company_url": {
"type": "string",
"format": "uri"
},
"website": {
"type": "string",
"format": "uri"
},
"linkedin_company_phone": {
"type": "string"
},
"sales_navigator_company_url": {
"type": "string",
"format": "uri"
},
"industries": {
"type": "array",
"description": "Industries taxonomy (v2)",
"items": {
"type": "string"
}
},
"industries_v1": {
"type": "array",
"description": "Industries (v1)",
"items": {
"type": "string"
}
},
"industry": {
"type": "string"
},
"linkedin_job_search_url": {
"type": "string",
"format": "uri"
},
"followers_count": {
"type": "integer"
},
"number_employees": {
"type": "number"
},
"employees_range": {
"type": "string"
},
"linkedin_employees_url": {
"type": "string",
"format": "uri"
},
"sales_navigator_employees_url": {
"type": "string",
"format": "uri"
},
"country": {
"type": "string"
},
"geographic_area": {
"type": "string"
},
"city": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"headquarters": {
"type": "string"
},
"locations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"properties": {
"address": {
"type": "string"
},
"geographic_area": {
"type": "string"
},
"street": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"city": {
"type": "string"
}
}
}
}
},
"additionalProperties": true
}
}
}
},
"400": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"404": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
}
},
"parameters": [
{
"name": "session_token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Token from /auth endpoint"
}
]
}
},
"/tools/search_people": {
"post": {
"operationId": "searchPeople",
"summary": "Execute search_people tool",
"tags": [
"Tools"
],
"description": "Search for people using LinkedIn Sales Navigator. Use this when you need to find potential leads, candidates, or contacts based on specific criteria like job title, company, location, or skills. Great for building prospect lists or finding experts in a particular field.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"search_url"
],
"additionalProperties": false,
"properties": {
"search_url": {
"type": "string",
"format": "uri",
"pattern": "^https://www.linkedin.com/sales/search/people",
"description": "The Sales Navigator search URL with your desired filters and criteria. Must start with 'https://www.linkedin.com/sales/search/people'",
"example": "https://www.linkedin.com/sales/search/people?keywords=software%20engineer"
},
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination, starting at 1"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"full_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"company_name": {
"type": "string"
},
"sales_navigator_company_id": {
"type": "string"
},
"linkedin_profile_id": {
"type": "integer"
},
"connection_degree": {
"type": "integer"
},
"job_title": {
"type": "string"
},
"headline": {
"type": "string"
},
"profile_image_url": {
"type": "string",
"format": "string"
},
"sales_navigator_search_url": {
"type": "string",
"format": "string"
},
"sales_navigator_profile_url": {
"type": "string",
"format": "string"
},
"linkedin_profile_url": {
"type": "string",
"format": "string"
},
"sales_navigator_profile_id": {
"type": "string"
},
"sales_navigator_company_url": {
"type": "string",
"format": "string"
},
"location": {
"type": "string"
},
"linkedin_people_post_search_url": {
"type": "string",
"format": "string"
},
"viewed": {
"type": "boolean"
},
"tenure_start": {
"type": "string"
},
"tenure_end": {
"type": "string"
},
"tenure_length": {
"type": "string"
},
"recently_hired": {
"type": "boolean"
},
"recently_promoted": {
"type": "boolean"
},
"current_company": {
"type": "string"
}
},
"additionalProperties": true
}
}
}
}
},
"400": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"404": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
}
},
"parameters": [
{
"name": "session_token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Token from /auth endpoint"
}
]
}
},
"/tools/search_companies": {
"post": {
"operationId": "searchCompanies",
"summary": "Execute search_companies tool",
"tags": [
"Tools"
],
"description": "Search for companies using LinkedIn Sales Navigator. Use this when you need to find target companies based on industry, size, location, or other criteria. Perfect for market research, competitive analysis, or identifying potential business partners.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"search_url"
],
"additionalProperties": false,
"properties": {
"search_url": {
"type": "string",
"format": "uri",
"pattern": "^https://www\\.linkedin\\.com/sales/search/company",
"description": "The Sales Navigator company search URL with your desired filters and criteria. Must start with 'https://www.linkedin.com/sales/search/company'",
"example": "https://www.linkedin.com/sales/search/company?keywords=technology"
},
"page": {
"type": "integer",
"default": 1,
"description": "Page number for pagination, starting at 1"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"company_name": {
"type": "string"
},
"sales_navigator_company_id": {
"type": "string"
},
"linkedin_company_id": {
"type": "integer"
},
"industry": {
"type": "string"
},
"company_size": {
"type": "string"
},
"location": {
"type": "string"
},
"description": {
"type": "string"
},
"sales_navigator_company_url": {
"type": "string",
"format": "string"
},
"linkedin_company_url": {
"type": "string",
"format": "string"
},
"followers_count": {
"type": "integer"
},
"employee_count": {
"type": "integer"
}
},
"additionalProperties": true
}
}
}
}
},
"400": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"404": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
}
},
"parameters": [
{
"name": "session_token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Token from /auth endpoint"
}
]
}
},
"/tools/search_company_employees": {
"post": {
"operationId": "searchCompanyEmployees",
"summary": "Execute search_company_employees tool",
"tags": [
"Tools"
],
"description": "Find employees of a specific company using LinkedIn Sales Navigator. Use this when you need to identify key decision makers, potential contacts, or understand the organizational structure of a target company. Ideal for account-based marketing or sales prospecting.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [],
"additionalProperties": false,
"properties": {
"sales_navigator_company_url": {
"type": "string",
"format": "uri",
"pattern": "^https://www\\.linkedin\\.com/sales/company/",
"description": "The Sales Navigator company page URL. Must start with 'https://www.linkedin.com/sales/company/'. Provide either this URL or the company ID.",
"example": "https://www.linkedin.com/sales/company/microsoft"
},
"linkedin_company_id": {
"type": "string",
"description": "The LinkedIn company ID (alternative to providing the company URL). Provide either this ID or the company URL.",
"example": "12345"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"full_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"company_name": {
"type": "string"
},
"sales_navigator_company_id": {
"type": "string"
},
"linkedin_profile_id": {
"type": "integer"
},
"connection_degree": {
"type": "integer"
},
"job_title": {
"type": "string"
},
"headline": {
"type": "string"
},
"profile_image_url": {
"type": "string",
"format": "string"
},
"sales_navigator_profile_url": {
"type": "string",
"format": "string"
},
"linkedin_profile_url": {
"type": "string",
"format": "string"
},
"sales_navigator_profile_id": {
"type": "string"
},
"sales_navigator_company_url": {
"type": "string",
"format": "string"
},
"linkedin_company_url": {
"type": "string",
"format": "string"
},
"location": {
"type": "string"
},
"viewed": {
"type": "boolean"
},
"tenure_start": {
"type": "string"
},
"tenure_end": {
"type": "string"
},
"tenure_length": {
"type": "string"
},
"recently_hired": {
"type": "boolean"
},
"recently_promoted": {
"type": "boolean"
},
"current_company": {
"type": "string"
}
},
"additionalProperties": true
}
}
}
}
},
"400": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"404": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
}
},
"parameters": [
{
"name": "session_token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Token from /auth endpoint"
}
]
}
},
"/tools/{alias}": {
"post": {
"operationId": "executeGenericTool",
"summary": "Execute tool",
"tags": [
"Tools"
],
"description": "Execute a Captain Data tool by alias",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Tool parameters",
"properties": {
"parameters": {
"type": "object",
"description": "Tool-specific parameters",
"additionalProperties": true
}
},
"additionalProperties": true
}
}
},
"description": "Tool parameters"
},
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1
},
"in": "path",
"name": "alias",
"required": true,
"description": "Tool alias"
},
{
"name": "session_token",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "Token from /auth endpoint"
}
],
"responses": {
"200": {
"description": "Tool execution result",
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Tool execution result",
"properties": {
"result": {
"type": "object",
"description": "Tool execution result data",
"additionalProperties": true
},
"success": {
"type": "boolean",
"description": "Whether the tool execution was successful"
}
},
"additionalProperties": true
}
}
}
},
"400": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"404": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
},
"500": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code for programmatic handling"
},
"error_label": {
"type": [
"null",
"string"
]
},
"error_scope": {
"type": [
"null",
"string"
],
"enum": [
"input",
"integ",
"param",
"config"
]
},
"error_ref": {
"type": [
"null",
"string"
],
"example": "ERR-12345"
},
"message": {
"type": "string"
},
"status_code": {
"type": [
"null",
"integer"
]
},
"requestId": {
"type": "string",
"description": "Request ID for tracking"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Error timestamp"
},
"params": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://mcp.captaindata.com",
"description": "Production server"
}
]
}