{
    "schemes": ["https"],
    "swagger": "2.0",
    "info": {
        "description": "Leadsforge Public API",
        "title": "Leadsforge API",
        "termsOfService": "https://www.leadsforge.ai/terms",
        "contact": {},
        "version": "1.0"
    },
    "host": "api.leadsforge.ai",
    "basePath": "/public/v1",
    "paths": {
        "/balance": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get credit balance",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "balance"
                ],
                "summary": "Get credit balance",
                "responses": {
                    "200": {
                        "description": "Credit balance",
                        "schema": {
                            "$ref": "#/definitions/CreditBalanceResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/filters/countries": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of supported country values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "Get available countries for company followers filtering",
                "responses": {
                    "200": {
                        "description": "Countries list",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersCountriesResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/filters/departments": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of supported department values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "Get available departments for company followers filtering",
                "responses": {
                    "200": {
                        "description": "Departments list",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersDepartmentsResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/filters/job-titles": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get paginated list of supported job title values with optional search",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "Get available job titles for company followers filtering",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "minimum": 1,
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "maximum": 20,
                        "minimum": 1,
                        "type": "integer",
                        "description": "Page size",
                        "name": "page_size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job titles list",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersJobTitlesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/filters/levels": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of supported seniority level values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "Get available levels for company followers filtering",
                "responses": {
                    "200": {
                        "description": "Levels list",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersLevelsResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/filters/states": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of supported state/region values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "Get available states for company followers filtering",
                "responses": {
                    "200": {
                        "description": "States list",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersStatesResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/jobs": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "List the caller's company-followers jobs, most recent first. Use the filters (status, clientRequestID, from/to) to recover a job when the job ID is unknown.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "List company followers jobs",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size (max 100)",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "in_progress",
                            "completed",
                            "failed",
                            "no_results"
                        ],
                        "type": "string",
                        "description": "Filter by status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by your clientRequestID",
                        "name": "clientRequestID",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Created-at lower bound (RFC3339)",
                        "name": "from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Created-at upper bound (RFC3339)",
                        "name": "to",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Jobs",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersJobsListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/jobs/{jobID}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Fetch company followers job status.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "Get company followers job status.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Job ID",
                        "name": "jobID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job status",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersJobResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/jobs/{jobID}/results": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Fetch company followers job results with pagination.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "List company followers results.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Job ID",
                        "name": "jobID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job results",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersResultsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/company-followers/search": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Starts an async company followers search for a LinkedIn company page, limit is required and capped at 50000, supports idempotency via Idempotency-Key header (if a job with the same key already exists for this account the existing job is returned), supports webhook notifications via webhookURL field (POST with JSON body on completion/failure, retried up to 10 times with exponential backoff, 2xx = success), webhook payload: jobID (string), status (completed|failed), linkedinUrl (string), companyName (string), followerCount (int), total (int), processed (int), error (string, failure only). The webhook omits companyLogoUrl to avoid sending a raw upstream image URL; fetch it from GET /company-followers/jobs/{jobID}.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "company-followers"
                ],
                "summary": "Search company followers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Idempotency key - if a job with this key already exists for this account, the existing job is returned as-is, use a new key to start a new search",
                        "name": "Idempotency-Key",
                        "in": "header"
                    },
                    {
                        "description": "Search request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/StartCompanyFollowersSearchRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Job created",
                        "schema": {
                            "$ref": "#/definitions/CompanyFollowersJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "402": {
                        "description": "Insufficient credits",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "502": {
                        "description": "Bad Gateway",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/email": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Enrich a single person's work email and return the result in the same response, no polling. Provide personID (from POST /search), linkedinURL, or firstName + lastName + a company signal (companyDomain preferred over company name). Costs 1 credit on a hit; a miss is free. Optional externalID (max 128 chars) is echoed back.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "Find email (synchronous)",
                "parameters": [
                    {
                        "description": "Person to enrich",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SyncEnrichmentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Enrichment result",
                        "schema": {
                            "$ref": "#/definitions/SyncEnrichmentResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "402": {
                        "description": "Insufficient credits",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "503": {
                        "description": "Sync enrichment not enabled for channel",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/emails": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Request email finding. Two input modes (mutually exclusive): (1) personIDs - array of IDs obtained from POST /search, (2) people - array of objects, each with either linkedinURL (e.g. \"https://www.linkedin.com/in/john-doe\") or firstName + lastName + company name (e.g. \"Salesforge\", not a URL). Max 500 items. Original input fields are echoed back on each result for correlation. People array entries are deduplicated by normalized linkedinURL or by case-insensitive firstName+lastName+company; only one result is returned per unique person, so duplicate entries (e.g. two CRM records pointing at the same person with different externalIDs) will lose the externalIDs of the duplicates - send unique people if you need each externalID echoed back. Each person in the people array may include an optional externalID (max 128 chars), a pure passthrough value persisted with the result and echoed back in the webhook payload and GET /results response for client-side correlation; externalID is not supported in personIDs mode. Example with people: {\"people\": [{\"linkedinURL\": \"https://www.linkedin.com/in/john-doe\", \"externalID\": \"crm-42\"}, {\"firstName\": \"Jane\", \"lastName\": \"Smith\", \"company\": \"Salesforge\"}], \"webhookURL\": \"https://example.com/webhook\"}. Example with personIDs: {\"personIDs\": [\"p_abc123\", \"p_def456\"]}.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "Find emails",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header"
                    },
                    {
                        "description": "Find request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/StartEnrichmentRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Job created",
                        "schema": {
                            "$ref": "#/definitions/EnrichmentJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "402": {
                        "description": "Insufficient credits",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/jobs": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "List the caller's enrichment jobs, most recent first. Use the filters (status, channel, clientRequestID, from/to) to recover a job when the job ID is unknown.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "List enrichment jobs",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size (max 100)",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "in_progress",
                            "completed",
                            "failed"
                        ],
                        "type": "string",
                        "description": "Filter by status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "email",
                            "phone",
                            "linkedin"
                        ],
                        "type": "string",
                        "description": "Filter by channel",
                        "name": "channel",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by your clientRequestID",
                        "name": "clientRequestID",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Created-at lower bound (RFC3339)",
                        "name": "from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Created-at upper bound (RFC3339)",
                        "name": "to",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Jobs",
                        "schema": {
                            "$ref": "#/definitions/EnrichmentJobsListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/jobs/{jobID}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Fetch enrichment job status",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "Get enrichment job",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Job ID",
                        "name": "jobID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job status",
                        "schema": {
                            "$ref": "#/definitions/EnrichmentJobResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/jobs/{jobID}/results": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Fetch enrichment job results",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "List enrichment results",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Job ID",
                        "name": "jobID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job results",
                        "schema": {
                            "$ref": "#/definitions/EnrichmentJobResultsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/linkedin": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Request linkedin profile finding. Two input modes (mutually exclusive): (1) personIDs - array of IDs obtained from POST /search, (2) people - array of objects, each with either linkedinURL (e.g. \"https://www.linkedin.com/in/john-doe\") or firstName + lastName + company name (e.g. \"Salesforge\", not a URL). Max 500 items. Original input fields are echoed back on each result for correlation. People array entries are deduplicated by normalized linkedinURL or by case-insensitive firstName+lastName+company; only one result is returned per unique person, so duplicate entries (e.g. two CRM records pointing at the same person with different externalIDs) will lose the externalIDs of the duplicates - send unique people if you need each externalID echoed back. Each person in the people array may include an optional externalID (max 128 chars), a pure passthrough value persisted with the result and echoed back in the webhook payload and GET /results response for client-side correlation; externalID is not supported in personIDs mode. Example with people: {\"people\": [{\"linkedinURL\": \"https://www.linkedin.com/in/john-doe\", \"externalID\": \"crm-42\"}, {\"firstName\": \"Jane\", \"lastName\": \"Smith\", \"company\": \"Salesforge\"}], \"webhookURL\": \"https://example.com/webhook\"}. Example with personIDs: {\"personIDs\": [\"p_abc123\", \"p_def456\"]}.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "Find linkedin profiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header"
                    },
                    {
                        "description": "Find request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/StartEnrichmentRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Job created",
                        "schema": {
                            "$ref": "#/definitions/EnrichmentJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "402": {
                        "description": "Insufficient credits",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/phone": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Enrich a single person's phone number and return the result in the same response, no polling. Provide personID (from POST /search), linkedinURL, or firstName + lastName + a company signal (companyDomain preferred over company name). Costs 10 credits on a hit; a miss is free. Optional externalID (max 128 chars) is echoed back.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "Find phone number (synchronous)",
                "parameters": [
                    {
                        "description": "Person to enrich",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SyncEnrichmentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Enrichment result",
                        "schema": {
                            "$ref": "#/definitions/SyncEnrichmentResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "402": {
                        "description": "Insufficient credits",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "503": {
                        "description": "Sync enrichment not enabled for channel",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/enrichment/phones": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Request phone number finding. Two input modes (mutually exclusive): (1) personIDs - array of IDs obtained from POST /search, (2) people - array of objects, each with either linkedinURL (e.g. \"https://www.linkedin.com/in/john-doe\") or firstName + lastName + company name (e.g. \"Salesforge\", not a URL). Max 500 items. Original input fields are echoed back on each result for correlation. People array entries are deduplicated by normalized linkedinURL or by case-insensitive firstName+lastName+company; only one result is returned per unique person, so duplicate entries (e.g. two CRM records pointing at the same person with different externalIDs) will lose the externalIDs of the duplicates - send unique people if you need each externalID echoed back. Each person in the people array may include an optional externalID (max 128 chars), a pure passthrough value persisted with the result and echoed back in the webhook payload and GET /results response for client-side correlation; externalID is not supported in personIDs mode. Example with people: {\"people\": [{\"linkedinURL\": \"https://www.linkedin.com/in/john-doe\", \"externalID\": \"crm-42\"}, {\"firstName\": \"Jane\", \"lastName\": \"Smith\", \"company\": \"Salesforge\"}], \"webhookURL\": \"https://example.com/webhook\"}. Example with personIDs: {\"personIDs\": [\"p_abc123\", \"p_def456\"]}.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "enrichment"
                ],
                "summary": "Find phone numbers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header"
                    },
                    {
                        "description": "Find request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/StartEnrichmentRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Job created",
                        "schema": {
                            "$ref": "#/definitions/EnrichmentJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "402": {
                        "description": "Insufficient credits",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/lookalikes/filters/departments": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of available department values for filtering",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "lookalikes"
                ],
                "summary": "Get available departments",
                "responses": {
                    "200": {
                        "description": "Departments list",
                        "schema": {
                            "$ref": "#/definitions/DepartmentsResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/lookalikes/filters/employee-ranges": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of available employee range values for filtering",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "lookalikes"
                ],
                "summary": "Get available employee ranges",
                "responses": {
                    "200": {
                        "description": "Employee ranges list",
                        "schema": {
                            "$ref": "#/definitions/EmployeeRangesResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/lookalikes/filters/locations": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of country ISO 3166-1 alpha-2 codes and region IDs accepted by the locations filter on /lookalikes/search.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "lookalikes"
                ],
                "summary": "Get available lookalikes locations",
                "responses": {
                    "200": {
                        "description": "Locations list",
                        "schema": {
                            "$ref": "#/definitions/LookalikesLocationsResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "502": {
                        "description": "Bad Gateway",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/lookalikes/filters/seniorities": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get list of available seniority values for filtering",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "lookalikes"
                ],
                "summary": "Get available seniorities",
                "responses": {
                    "200": {
                        "description": "Seniorities list",
                        "schema": {
                            "$ref": "#/definitions/SenioritiesResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/lookalikes/preview": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Free, uncharged preview of companies similar to the provided domains. Returns company metadata only (no credits, no people). To turn these into enrichable people, pass a returned company domain into POST /search companyDomains.include to get personIDs, then send those to /enrichment/*.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "lookalikes"
                ],
                "summary": "Preview lookalike companies (free)",
                "parameters": [
                    {
                        "description": "Preview request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LookalikesPreviewRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preview results",
                        "schema": {
                            "$ref": "#/definitions/LookalikesPreviewResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "502": {
                        "description": "Bad Gateway",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/lookalikes/search": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Search for companies similar to the provided domains. Costs 1 credit per company returned. Credits are reserved before the search and charged based on actual results. Page max: 100, pageSize max: 100. To find and enrich people at these companies, pass a returned company domain into POST /search companyDomains.include to get personIDs, then send those to /enrichment/*. Use POST /lookalikes/preview for a free (uncharged) look first.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "lookalikes"
                ],
                "summary": "Search lookalike companies",
                "parameters": [
                    {
                        "description": "Search request",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LookalikesSearchRequest"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Idempotency key - a retried request with the same key returns the original result without charging credits again",
                        "name": "Idempotency-Key",
                        "in": "header"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Search results",
                        "schema": {
                            "$ref": "#/definitions/LookalikesSearchResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "402": {
                        "description": "Insufficient credits",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "409": {
                        "description": "Idempotency conflict",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "502": {
                        "description": "Bad Gateway",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Search leads. Accepts the full person filter set. Beyond the documented fields the body also accepts exclusion filters to skip contacts you already own: excludeEmails ([]string), excludeDomains ([]string), excludeLinkedInURLs ([]string). Use companyDomains.include to target specific companies (e.g. domains returned by /lookalikes/preview or /lookalikes/search). Free-text fields (jobTitles, leadLocations, companyLocations, technologies, keywords, companyNames) accept any value (casing and partial terms are matched), so there is no value list to fetch. Controlled fields must use exact values from their discovery endpoints under /search/filters (industries, seniorities, departments, companyTypes, fundingTypes, revenueRanges).",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Search",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Cursor",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "description": "Search request",
                        "name": "search",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/PersonSearchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Search response",
                        "schema": {
                            "$ref": "#/definitions/SearchResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "410": {
                        "description": "Cursor expired or invalid - restart the search from the first page",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search/count": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Count leads matching a filter set. Accepts the same filter payload as POST /search except the limit field, and returns the total number of matches without paginating results. Useful for sizing the audience before launching a search.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Count search results",
                "parameters": [
                    {
                        "description": "Search filters",
                        "name": "search",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/PersonSearchFilters"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Count response",
                        "schema": {
                            "$ref": "#/definitions/SearchCountResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search/filters/company-types": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get the company type values accepted by companyTypes on /search.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Get search company types",
                "responses": {
                    "200": {
                        "description": "Company types",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/CompanyTypeResponse"
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search/filters/departments": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get the department values accepted by leadDepartments on /search.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Get search departments",
                "responses": {
                    "200": {
                        "description": "Departments list",
                        "schema": {
                            "$ref": "#/definitions/DepartmentsResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search/filters/funding-types": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get the funding type values accepted by companyFundingRounds on /search.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Get search funding types",
                "responses": {
                    "200": {
                        "description": "Funding types",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FundingTypeResponse"
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search/filters/industries": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Search the industry filter values accepted by companyIndustries on /search. These are exact, case-sensitive values, send them verbatim.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Get search industries",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search query",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Limit (1-100)",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Industries",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/IndustryResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search/filters/revenue-ranges": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get the revenue range values accepted by companyRevenueRanges on /search.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Get search revenue ranges",
                "responses": {
                    "200": {
                        "description": "Revenue ranges",
                        "schema": {
                            "$ref": "#/definitions/RevenueRangesResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/search/filters/seniorities": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get the seniority values accepted by leadSeniorities on /search.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "search"
                ],
                "summary": "Get search seniorities",
                "responses": {
                    "200": {
                        "description": "Seniorities list",
                        "schema": {
                            "$ref": "#/definitions/SenioritiesResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "AnyAllFilter": {
            "type": "object",
            "properties": {
                "all": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "any": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "Company": {
            "type": "object",
            "properties": {
                "domain": {
                    "type": "string"
                },
                "employeeCount": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "industry": {
                    "type": "string"
                },
                "keywords": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "location": {
                    "$ref": "#/definitions/Location"
                },
                "revenueRange": {
                    "$ref": "#/definitions/RevenueRange"
                },
                "website": {
                    "type": "string"
                },
                "yearsInBusiness": {
                    "type": "integer"
                }
            }
        },
        "CompanyFollowerResultItem": {
            "type": "object",
            "properties": {
                "companyLocation": {
                    "type": "string",
                    "example": "San Francisco, CA"
                },
                "companyLogoUrl": {
                    "type": "string",
                    "example": "https://media.licdn.com/dms/image/company-logo.jpg"
                },
                "companyName": {
                    "type": "string",
                    "example": "Acme Corp"
                },
                "companyProfileUrl": {
                    "type": "string",
                    "example": "https://www.linkedin.com/company/acme-corp"
                },
                "firstName": {
                    "type": "string",
                    "example": "Jane"
                },
                "industry": {
                    "type": "string",
                    "example": "Computer Software"
                },
                "isPremium": {
                    "type": "boolean",
                    "example": false
                },
                "lastName": {
                    "type": "string",
                    "example": "Smith"
                },
                "location": {
                    "type": "string",
                    "example": "San Francisco Bay Area"
                },
                "name": {
                    "type": "string",
                    "example": "Jane Smith"
                },
                "objectUrn": {
                    "type": "string",
                    "example": "urn:li:member:11550089"
                },
                "personID": {
                    "type": "string",
                    "example": "ps_xK9mQ2"
                },
                "profilePictureUrl": {
                    "type": "string",
                    "example": "https://media.licdn.com/dms/image/example.jpg"
                },
                "profileUrl": {
                    "type": "string",
                    "example": "https://www.linkedin.com/in/janesmith"
                },
                "summary": {
                    "type": "string",
                    "example": "Experienced engineer focused on distributed systems"
                },
                "title": {
                    "type": "string",
                    "example": "Senior Software Engineer"
                }
            }
        },
        "CompanyFollowersCountriesResponse": {
            "type": "object",
            "properties": {
                "countries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "CompanyFollowersDepartmentsResponse": {
            "type": "object",
            "properties": {
                "departments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "CompanyFollowersJobResponse": {
            "type": "object",
            "properties": {
                "clientRequestID": {
                    "type": "string",
                    "example": "req_12345"
                },
                "companyLogoUrl": {
                    "type": "string",
                    "example": "https://media.licdn.com/dms/image/company-logo.jpg"
                },
                "companyName": {
                    "type": "string",
                    "example": "Salesforge"
                },
                "completedAt": {
                    "type": "string",
                    "example": "2026-03-18T12:05:00Z"
                },
                "consumedCredits": {
                    "type": "number",
                    "example": 0
                },
                "createdAt": {
                    "type": "string",
                    "example": "2026-03-18T12:00:00Z"
                },
                "error": {
                    "type": "string"
                },
                "followerCount": {
                    "type": "integer",
                    "example": 12345
                },
                "jobID": {
                    "type": "string",
                    "example": "pcfj_abc123"
                },
                "linkedinUrl": {
                    "type": "string",
                    "example": "https://www.linkedin.com/company/salesforgeai"
                },
                "processed": {
                    "type": "integer",
                    "example": 120
                },
                "reservedCredits": {
                    "type": "number",
                    "example": 50
                },
                "resultsURL": {
                    "type": "string",
                    "example": "/public/v1/company-followers/jobs/pcfj_abc123/results"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "in_progress",
                        "completed",
                        "failed",
                        "no_results"
                    ],
                    "example": "in_progress"
                },
                "statusURL": {
                    "type": "string",
                    "example": "/public/v1/company-followers/jobs/pcfj_abc123"
                },
                "total": {
                    "type": "integer",
                    "example": 500
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2026-03-18T12:01:00Z"
                },
                "webhookURL": {
                    "type": "string",
                    "example": "https://example.com/webhooks/followers"
                }
            }
        },
        "CompanyFollowersJobTitlesResponse": {
            "type": "object",
            "properties": {
                "jobTitles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "totalPages": {
                    "type": "integer"
                }
            }
        },
        "CompanyFollowersJobsListResponse": {
            "type": "object",
            "properties": {
                "jobs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CompanyFollowersJobResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "CompanyFollowersLevelsResponse": {
            "type": "object",
            "properties": {
                "levels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "CompanyFollowersResultsResponse": {
            "type": "object",
            "properties": {
                "jobID": {
                    "type": "string",
                    "example": "pcfj_abc123"
                },
                "limit": {
                    "type": "integer",
                    "example": 50
                },
                "offset": {
                    "type": "integer",
                    "example": 0
                },
                "results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CompanyFollowerResultItem"
                    }
                },
                "total": {
                    "type": "integer",
                    "example": 487
                }
            }
        },
        "CompanyFollowersStatesResponse": {
            "type": "object",
            "properties": {
                "states": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "CompanyLookalikesLocation": {
            "type": "object",
            "required": [
                "id",
                "type"
            ],
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/CompanyLookalikesLocationType"
                }
            }
        },
        "CompanyLookalikesLocationType": {
            "type": "string",
            "enum": [
                "region",
                "country"
            ],
            "x-enum-varnames": [
                "CompanyLookalikesLocationTypeRegion",
                "CompanyLookalikesLocationTypeCountry"
            ]
        },
        "CompanyTypeResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "CreditBalanceResponse": {
            "type": "object",
            "properties": {
                "availableCredits": {
                    "type": "number"
                },
                "companyFollowersPrice": {
                    "type": "number"
                },
                "companyLookalikePrice": {
                    "type": "number"
                },
                "emailEnrichmentPrice": {
                    "type": "number"
                },
                "linkedinEnrichmentPrice": {
                    "type": "number"
                },
                "phoneNumberEnrichmentPrice": {
                    "type": "number"
                },
                "reservedCredits": {
                    "type": "number"
                }
            }
        },
        "DepartmentsResponse": {
            "type": "object",
            "properties": {
                "departments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "EmployeeRangesResponse": {
            "type": "object",
            "properties": {
                "employeeRanges": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "EnrichmentJobResponse": {
            "type": "object",
            "properties": {
                "channel": {
                    "type": "string"
                },
                "clientRequestID": {
                    "type": "string"
                },
                "completedAt": {
                    "type": "string"
                },
                "consumedCredits": {
                    "type": "number"
                },
                "createdAt": {
                    "type": "string"
                },
                "failed": {
                    "type": "integer"
                },
                "jobID": {
                    "type": "string"
                },
                "processed": {
                    "type": "integer"
                },
                "reservedCredits": {
                    "type": "number"
                },
                "resultsURL": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "statusURL": {
                    "type": "string"
                },
                "succeeded": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                },
                "updatedAt": {
                    "type": "string"
                },
                "webhookURL": {
                    "type": "string"
                }
            }
        },
        "EnrichmentJobResult": {
            "type": "object",
            "properties": {
                "channel": {
                    "$ref": "#/definitions/PublicEnrichmentChannel"
                },
                "completedAt": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                },
                "externalID": {
                    "type": "string"
                },
                "inputCompany": {
                    "type": "string"
                },
                "inputFirstName": {
                    "type": "string"
                },
                "inputLastName": {
                    "type": "string"
                },
                "inputLinkedinURL": {
                    "type": "string"
                },
                "jobID": {
                    "type": "string"
                },
                "payload": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "person": {
                    "$ref": "#/definitions/PersonIdentity"
                },
                "personID": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/PublicEnrichmentResultStatus"
                },
                "webhookAttempt": {
                    "$ref": "#/definitions/ResultWebhookAttempt"
                }
            }
        },
        "EnrichmentJobResultsResponse": {
            "type": "object",
            "properties": {
                "jobID": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EnrichmentJobResult"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "EnrichmentJobsListResponse": {
            "type": "object",
            "properties": {
                "jobs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EnrichmentJobResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "Error": {
            "type": "object",
            "properties": {
                "code": {
                    "$ref": "#/definitions/ErrorCode"
                },
                "data": {},
                "message": {
                    "type": "string"
                }
            }
        },
        "ErrorCode": {
            "type": "string",
            "enum": [
                "bad_request",
                "unauthorized",
                "forbidden",
                "not_found",
                "conflict",
                "insufficient_credits",
                "timeout",
                "gone",
                "rate_limited",
                "idempotency_conflict",
                "missing_api_key",
                "invalid_api_key",
                "bad_gateway",
                "service_unavailable",
                "internal"
            ],
            "x-enum-varnames": [
                "ErrorCodeBadRequest",
                "ErrorCodeUnauthorized",
                "ErrorCodeForbidden",
                "ErrorCodeNotFound",
                "ErrorCodeConflict",
                "ErrorCodeInsufficientCredits",
                "ErrorCodeTimeout",
                "ErrorCodeGone",
                "ErrorCodeRateLimited",
                "ErrorCodeIdempotencyConflict",
                "ErrorCodeMissingAPIKey",
                "ErrorCodeInvalidAPIKey",
                "ErrorCodeBadGateway",
                "ErrorCodeServiceUnavailable",
                "ErrorCodeInternal"
            ]
        },
        "FundingTypeResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "IncludeExcludeAllFilter": {
            "type": "object",
            "properties": {
                "exclude": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "include": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "matchAll": {
                    "type": "boolean"
                }
            }
        },
        "IncludeExcludeFilter": {
            "type": "object",
            "properties": {
                "exclude": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "include": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "IndustryResponse": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "JobTitleFilter": {
            "type": "object",
            "properties": {
                "exactMatch": {
                    "type": "boolean"
                },
                "exclude": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "include": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "LanguageFilter": {
            "type": "object",
            "properties": {
                "exclude": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "include": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "primaryOnly": {
                    "type": "boolean"
                }
            }
        },
        "Lead": {
            "type": "object",
            "properties": {
                "company": {
                    "$ref": "#/definitions/Company"
                },
                "firstName": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "jobTitle": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string"
                },
                "linkedinUrl": {
                    "type": "string"
                },
                "location": {
                    "$ref": "#/definitions/Location"
                }
            }
        },
        "Location": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "LookalikeCompany": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "domain": {
                    "type": "string"
                },
                "industry": {
                    "type": "string"
                },
                "keywords": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "logo": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "website": {
                    "type": "string"
                }
            }
        },
        "LookalikesLocation": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/CompanyLookalikesLocationType"
                }
            }
        },
        "LookalikesLocationsResponse": {
            "type": "object",
            "properties": {
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LookalikesLocation"
                    }
                }
            }
        },
        "LookalikesPreviewRequest": {
            "type": "object",
            "required": [
                "domains"
            ],
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "domains": {
                    "type": "array",
                    "maxItems": 10,
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "employeeRanges": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "fundingStages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CompanyLookalikesLocation"
                    }
                }
            }
        },
        "LookalikesPreviewResponse": {
            "type": "object",
            "properties": {
                "companies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LookalikeCompany"
                    }
                },
                "totalCount": {
                    "type": "integer"
                }
            }
        },
        "LookalikesSearchRequest": {
            "type": "object",
            "required": [
                "domains"
            ],
            "properties": {
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "domains": {
                    "type": "array",
                    "maxItems": 10,
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                },
                "employeeRanges": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "fundingStages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CompanyLookalikesLocation"
                    }
                },
                "page": {
                    "type": "integer",
                    "minimum": 1
                },
                "pageSize": {
                    "type": "integer",
                    "maximum": 100,
                    "minimum": 1
                }
            }
        },
        "LookalikesSearchResponse": {
            "type": "object",
            "properties": {
                "companies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LookalikeCompany"
                    }
                },
                "page": {
                    "type": "integer"
                },
                "totalCount": {
                    "type": "integer"
                },
                "totalPages": {
                    "type": "integer"
                }
            }
        },
        "MinMaxFilter": {
            "type": "object",
            "properties": {
                "max": {
                    "type": "integer"
                },
                "min": {
                    "type": "integer"
                }
            }
        },
        "PersonIdentity": {
            "type": "object",
            "properties": {
                "company": {
                    "type": "string"
                },
                "firstName": {
                    "type": "string"
                },
                "jobTitle": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                }
            }
        },
        "PersonInput": {
            "type": "object",
            "properties": {
                "company": {
                    "type": "string",
                    "example": "Salesforge"
                },
                "companyDomain": {
                    "type": "string",
                    "example": "salesforge.ai"
                },
                "externalID": {
                    "type": "string",
                    "maxLength": 128,
                    "example": "crm-contact-42"
                },
                "firstName": {
                    "type": "string",
                    "example": "John"
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "linkedinURL": {
                    "type": "string",
                    "example": "https://www.linkedin.com/in/john-doe"
                }
            }
        },
        "PersonSearchFilters": {
            "type": "object",
            "properties": {
                "companyDomains": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyEmployeeNumberRange": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "companyFoundedYearRange": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "companyFundingRounds": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyIDs": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyIndustries": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyKeywords": {
                    "$ref": "#/definitions/IncludeExcludeAllFilter"
                },
                "companyLocations": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyNames": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyRequired": {
                    "type": "boolean"
                },
                "companyRevenueRanges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RevenueCategory"
                    }
                },
                "companyTechnologies": {
                    "$ref": "#/definitions/AnyAllFilter"
                },
                "companyTypes": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyYearsInBusinessRange": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "leadDepartments": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadIDs": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadJobTitles": {
                    "$ref": "#/definitions/JobTitleFilter"
                },
                "leadLanguages": {
                    "$ref": "#/definitions/LanguageFilter"
                },
                "leadLocations": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadSeniorities": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadTenure": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "maxContactsPerCompany": {
                    "type": "integer",
                    "maximum": 100,
                    "minimum": 0
                }
            }
        },
        "PersonSearchRequest": {
            "type": "object",
            "properties": {
                "companyDomains": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyEmployeeNumberRange": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "companyFoundedYearRange": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "companyFundingRounds": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyIDs": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyIndustries": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyKeywords": {
                    "$ref": "#/definitions/IncludeExcludeAllFilter"
                },
                "companyLocations": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyNames": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyRequired": {
                    "type": "boolean"
                },
                "companyRevenueRanges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RevenueCategory"
                    }
                },
                "companyTechnologies": {
                    "$ref": "#/definitions/AnyAllFilter"
                },
                "companyTypes": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "companyYearsInBusinessRange": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "leadDepartments": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadIDs": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadJobTitles": {
                    "$ref": "#/definitions/JobTitleFilter"
                },
                "leadLanguages": {
                    "$ref": "#/definitions/LanguageFilter"
                },
                "leadLocations": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadSeniorities": {
                    "$ref": "#/definitions/IncludeExcludeFilter"
                },
                "leadTenure": {
                    "$ref": "#/definitions/MinMaxFilter"
                },
                "limit": {
                    "type": "integer",
                    "maximum": 2000,
                    "minimum": 1
                },
                "maxContactsPerCompany": {
                    "type": "integer",
                    "maximum": 100,
                    "minimum": 0
                }
            }
        },
        "PublicEnrichmentChannel": {
            "type": "string",
            "enum": [
                "email",
                "phone",
                "linkedin"
            ],
            "x-enum-varnames": [
                "PublicEnrichmentChannelEmail",
                "PublicEnrichmentChannelPhone",
                "PublicEnrichmentChannelLinkedIn"
            ]
        },
        "PublicEnrichmentResultStatus": {
            "type": "string",
            "enum": [
                "succeeded",
                "failed",
                "not_found"
            ],
            "x-enum-varnames": [
                "PublicEnrichmentResultStatusSucceeded",
                "PublicEnrichmentResultStatusFailed",
                "PublicEnrichmentResultStatusNotFound"
            ]
        },
        "ResultWebhookAttempt": {
            "type": "object",
            "properties": {
                "delivered": {
                    "type": "boolean"
                },
                "error": {
                    "type": "string"
                },
                "statusCode": {
                    "type": "integer"
                }
            }
        },
        "RevenueCategory": {
            "type": "string",
            "enum": [
                "very_small",
                "small_lower",
                "small_upper",
                "lower_mid_sized",
                "mid_sized_lower",
                "mid_sized_upper",
                "large_lower",
                "large_upper",
                "enterprise_lower",
                "enterprise_upper",
                "global_giants_lower",
                "global_giants_upper",
                "super_enterprises"
            ],
            "x-enum-varnames": [
                "RevenueVerySmall",
                "RevenueSmallLower",
                "RevenueSmallUpper",
                "RevenueLowerMidSized",
                "RevenueMidSizedLower",
                "RevenueMidSizedUpper",
                "RevenueLargeLower",
                "RevenueLargeUpper",
                "RevenueEnterpriseLower",
                "RevenueEnterpriseUpper",
                "RevenueGlobalGiantsLower",
                "RevenueGlobalGiantsUpper",
                "RevenueSuperEnterprises"
            ]
        },
        "RevenueRange": {
            "type": "object",
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            }
        },
        "RevenueRangeResponse": {
            "type": "object",
            "properties": {
                "display": {
                    "type": "string"
                },
                "value": {
                    "$ref": "#/definitions/RevenueCategory"
                }
            }
        },
        "RevenueRangesResponse": {
            "type": "object",
            "properties": {
                "revenueRanges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RevenueRangeResponse"
                    }
                }
            }
        },
        "SearchCountResponse": {
            "type": "object",
            "properties": {
                "totalCount": {
                    "type": "integer"
                }
            }
        },
        "SearchResponse": {
            "type": "object",
            "properties": {
                "cursor": {
                    "type": "string"
                },
                "leads": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Lead"
                    }
                }
            }
        },
        "SenioritiesResponse": {
            "type": "object",
            "properties": {
                "seniorities": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "StartCompanyFollowersSearchRequest": {
            "type": "object",
            "required": [
                "limit",
                "linkedinUrl"
            ],
            "properties": {
                "clientRequestID": {
                    "type": "string",
                    "maxLength": 128,
                    "example": "req_12345"
                },
                "countries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "United States",
                        "Germany"
                    ]
                },
                "departments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "Engineering",
                        "Marketing"
                    ]
                },
                "jobTitles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "Software Engineer",
                        "Product Manager"
                    ]
                },
                "levels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "Senior",
                        "Director"
                    ]
                },
                "limit": {
                    "type": "integer",
                    "maximum": 50000,
                    "minimum": 1,
                    "example": 500
                },
                "linkedinUrl": {
                    "type": "string",
                    "example": "https://www.linkedin.com/company/salesforgeai"
                },
                "states": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "California",
                        "Bavaria"
                    ]
                },
                "webhookURL": {
                    "type": "string",
                    "example": "https://example.com/webhooks/followers"
                }
            }
        },
        "StartEnrichmentRequest": {
            "type": "object",
            "properties": {
                "clientRequestID": {
                    "type": "string",
                    "maxLength": 128,
                    "example": "my-request-123"
                },
                "people": {
                    "type": "array",
                    "maxItems": 500,
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/PersonInput"
                    }
                },
                "personIDs": {
                    "type": "array",
                    "maxItems": 500,
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "p_abc123",
                        "p_def456"
                    ]
                },
                "saveToList": {
                    "type": "boolean",
                    "example": false
                },
                "webhookURL": {
                    "type": "string",
                    "example": "https://example.com/webhook"
                }
            }
        },
        "SyncEnrichmentRequest": {
            "type": "object",
            "properties": {
                "company": {
                    "type": "string",
                    "example": "Salesforge"
                },
                "companyDomain": {
                    "type": "string",
                    "example": "salesforge.ai"
                },
                "externalID": {
                    "type": "string",
                    "maxLength": 128,
                    "example": "crm-contact-42"
                },
                "firstName": {
                    "type": "string",
                    "example": "John"
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "linkedinURL": {
                    "type": "string",
                    "example": "https://www.linkedin.com/in/john-doe"
                },
                "personID": {
                    "type": "string",
                    "example": "p_abc123"
                }
            }
        },
        "SyncEnrichmentResponse": {
            "type": "object",
            "properties": {
                "channel": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "externalID": {
                    "type": "string"
                },
                "personID": {
                    "type": "string"
                },
                "phoneNumber": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "ApiKeyAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}