{
  "openapi": "3.0.1",
  "info": {
    "title": "HarvestAPI LinkedIn API reference",
    "description": "HarvestAPI LinkedIn API reference",
    "license": {
      "name": "MIT"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.harvestapi.io"
    }
  ],
  "security": [
    {
      "ApiKeyAuthHeader": []
    }
  ],
  "paths": {
    "/linkedin/profile": {
      "get": {
        "summary": "Get the LinkedIn profile of the user",
        "description": "Get the LinkedIn profile of the user. Required at least one of the query parameters",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "URL or public identifier or profile ID of the LinkedIn profile ",
            "schema": {
              "type": "string",
              "format": "url"
            }
          },
          {
            "name": "main",
            "in": "query",
            "description": "Set this parameter to 'true' to return only main version of the profile that you can see on LinkedIn without expanding profile sections - up to 5 experiences, 2 educations, 2 skills, etc. This version charges fewer credits",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "findEmail",
            "in": "query",
            "description": "Include this parameter to find the email of the profile. It will perform SMTP verifications to ensure deliverability. It will also output emails for catch-all domains and mark them as `risky` (deliverability is unknown). This version charges more credits.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Profile response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "$ref": "#/components/schemas/Profile"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string"
                        },
                        "publicIdentifier": {
                          "type": "string"
                        },
                        "profileId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/profile-search": {
      "get": {
        "summary": "Search LinkedIn profiles",
        "description": "Search LinkedIn profiles by name, company, location, and more",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Search profiles by name",
            "schema": {
              "type": "string",
              "format": "url"
            }
          },
          {
            "name": "currentCompany",
            "in": "query",
            "required": false,
            "description": "Filter by company ID or Company URL. One value or multiple comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pastCompany",
            "in": "query",
            "required": false,
            "description": "Filter by past company ID or Company URL. One value or multiple comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "school",
            "in": "query",
            "required": false,
            "description": "Filter by school ID or School URL. One value or multiple comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "description": "Filter by first name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "description": "Filter by last name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "description": "Filter by title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location",
            "in": "query",
            "description": "Filter by location text",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "geoId",
            "in": "query",
            "description": "Filter by location as LinkedIn Geo ID. Overrides the location query param. Use the /linkedin/geo-id-search endpoint to find the Geo ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "industryId",
            "in": "query",
            "description": "Filter by industry ID. One value or multiple comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keywordsCompany",
            "in": "query",
            "description": "Filter by keywords in company name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keywordsSchool",
            "in": "query",
            "description": "Filter by keywords in school name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "followerOf",
            "in": "query",
            "required": false,
            "description": "Filter profiles that are followers of a LinkedIn profile. Provide the profile URL or ID. One value or multiple comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number, use for pagination",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Profile search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ProfileShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        },
                        "companyId": {
                          "type": "string"
                        },
                        "location": {
                          "type": "string"
                        },
                        "geoId": {
                          "type": "string"
                        },
                        "page": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/company": {
      "get": {
        "summary": "Get the LinkedIn company",
        "description": "Get the LinkedIn company. Required at least one of the query parameters",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "URL or universal name or company ID of the LinkedIn company",
            "schema": {
              "type": "string",
              "format": "url"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Company profile response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "$ref": "#/components/schemas/Company"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string"
                        },
                        "universalName": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/company-search": {
      "get": {
        "summary": "Search LinkedIn companies",
        "description": "Retrieve a list of LinkedIn companies matching the specified search criteria.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Keywords to search for in company names.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location",
            "in": "query",
            "description": "Filter companies by location.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "geoId",
            "in": "query",
            "description": "Filter by location as LinkedIn Geo ID. Overrides the location query param. Use the /linkedin/geo-id-search endpoint to find the Geo ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companySize",
            "in": "query",
            "description": "Filter by company size. One value or multiple comma-separated. Supported values: '1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000', '5001-10000', '10001+'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "industryId",
            "in": "query",
            "description": "Filter by industry ID. One value or multiple comma-separated industry IDs. Full list of IDs:  https://github.com/HarvestAPI/linkedin-industry-codes-v2/blob/main/linkedin_industry_code_v2_all_eng.csv",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination.",
            "schema": {
              "type": "integer",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of companies matching the search criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CompanyShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "string",
                      "description": "Status of the response."
                    },
                    "error": {
                      "type": "string",
                      "description": "Error message, if any."
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        },
                        "location": {
                          "type": "string"
                        },
                        "geoId": {
                          "type": "string"
                        },
                        "companySize": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized access.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/company-people-stats": {
      "get": {
        "summary": "Get the LinkedIn company people stats",
        "description": "Get the People statistics of a LinkedIn company page: where the employees are located, where they studied, etc.",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "URL or universal name or company ID of the LinkedIn company. A company ID skips the company lookup and answers faster",
            "schema": {
              "type": "string",
              "format": "url"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Company people stats response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "$ref": "#/components/schemas/CompanyPeopleStats"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "universalName": {
                          "type": "string"
                        },
                        "companyId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "element": {
                    "id": "1441",
                    "universalName": "google",
                    "linkedinUrl": "https://www.linkedin.com/company/google",
                    "peopleStats": [
                      {
                        "statTitle": "Locations",
                        "values": [
                          {
                            "title": "United States",
                            "count": 79084
                          },
                          {
                            "title": "California, United States",
                            "count": 47339
                          },
                          {
                            "title": "San Francisco Bay Area",
                            "count": 42556
                          }
                        ]
                      },
                      {
                        "statTitle": "School",
                        "values": [
                          {
                            "title": "University of California, Berkeley",
                            "count": 3558
                          },
                          {
                            "title": "Stanford University",
                            "count": 3191
                          },
                          {
                            "title": "Massachusetts Institute of Technology",
                            "count": 1594
                          }
                        ]
                      },
                      {
                        "statTitle": "Current Function",
                        "values": [
                          {
                            "title": "Engineering",
                            "count": 76734
                          },
                          {
                            "title": "Information Technology",
                            "count": 19508
                          },
                          {
                            "title": "Business Development",
                            "count": 15830
                          }
                        ]
                      },
                      {
                        "statTitle": "Skill Explicit",
                        "values": [
                          {
                            "title": "Python (Programming Language)",
                            "count": 53899
                          },
                          {
                            "title": "Java",
                            "count": 48710
                          },
                          {
                            "title": "C++",
                            "count": 45410
                          }
                        ]
                      },
                      {
                        "statTitle": "Service categories",
                        "values": [
                          {
                            "title": "Consulting",
                            "count": 1870
                          },
                          {
                            "title": "Marketing",
                            "count": 1545
                          },
                          {
                            "title": "Software Development",
                            "count": 1396
                          }
                        ]
                      },
                      {
                        "statTitle": "Field of Study",
                        "values": [
                          {
                            "title": "Computer Science",
                            "count": 44460
                          },
                          {
                            "title": "Computational Science",
                            "count": 39151
                          },
                          {
                            "title": "Computer Engineering",
                            "count": 10590
                          }
                        ]
                      }
                    ]
                  },
                  "status": 200,
                  "query": {
                    "universalName": "google"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/job": {
      "get": {
        "summary": "Get the LinkedIn job details",
        "description": "Get the LinkedIn job details by job ID or URL.",
        "parameters": [
          {
            "name": "jobId",
            "in": "query",
            "description": "ID of the LinkedIn job (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "description": "URL of the LinkedIn job (optional)",
            "schema": {
              "type": "string",
              "format": "url"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Job details response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "jobId": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/job-search": {
      "get": {
        "summary": "Search LinkedIn jobs",
        "description": "Search LinkedIn jobs by title, company, location, and more.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Search jobs by title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyId",
            "in": "query",
            "description": "Filter by company ID. One value or multiple comma-separated.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location",
            "in": "query",
            "description": "Filter by location text",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "geoId",
            "in": "query",
            "description": "Filter by location as LinkedIn Geo ID. Overrides the location query param. Use the /linkedin/geo-id-search endpoint to find the Geo ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Sort by field. Supported values: 'relevance', 'date'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workplaceType",
            "in": "query",
            "description": "Filter by workplace type. One or multiple values comma-separated. Supported values: 'office', 'hybrid', 'remote'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "employmentType",
            "in": "query",
            "description": "Filter by employment type. One or multiple values comma-separated. Supported values: 'full-time', 'part-time', 'contract', 'temporary', 'internship'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "salary",
            "in": "query",
            "description": "Filter by salary range. Supported values: '40k+', '60k+', '80k+', '100k+', '120k+', '140k+', '160k+', '180k+', '200k+'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postedLimit",
            "in": "query",
            "description": "Filter posts by maximum posted date. Supported values: '24h', 'week', 'month'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "experienceLevel",
            "in": "query",
            "description": "Filter by experience level. One or multiple values comma-separated. Supported values: 'internship', 'entry', 'associate', 'mid-senior', 'director', 'executive'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "industryId",
            "in": "query",
            "description": "Filter by industry ID. One value or multiple comma-separated industry IDs. Full list of IDs: https://github.com/HarvestAPI/linkedin-industry-codes-v2/blob/main/linkedin_industry_code_v2_all_eng.csv",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "functionId",
            "in": "query",
            "description": "Filter by job function ID. One value or multiple comma-separated function IDs. Full list of IDs: https://github.com/HarvestAPI/apify-linkedin-profile-search/blob/main/.actor/input_schema.json#L142",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "under10Applicants",
            "in": "query",
            "description": "Include this parameter to filter jobs with under 10 applicants",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "easyApply",
            "in": "query",
            "description": "Set this parameter to 'true' filter jobs with Easy Apply option or 'false' to exclude. Values can be 'true' or 'false'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination",
            "schema": {
              "type": "integer",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Job search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/JobShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "companyId": {
                          "type": "string"
                        },
                        "location": {
                          "type": "string"
                        },
                        "geoId": {
                          "type": "string"
                        },
                        "sortBy": {
                          "type": "string"
                        },
                        "workplaceType": {
                          "type": "string"
                        },
                        "postedLimit": {
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/geo-id-search": {
      "get": {
        "summary": "Search LinkedIn Geo ID",
        "description": "Search LinkedIn Geo ID by location text",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Location text to search for Geo ID (required)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Geo ID search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "entityId": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        }
                      }
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "elements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "geoId": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/post": {
      "get": {
        "summary": "Get LinkedIn post details",
        "description": "Get LinkedIn post details by post URL.",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "URL of the LinkedIn post (required)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post details response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "$ref": "#/components/schemas/PostShort"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "post": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/post-search": {
      "get": {
        "summary": "Search LinkedIn posts",
        "description": "Search LinkedIn posts by keywords, author, date range, and more.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Keywords to search for in posts",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profile",
            "in": "query",
            "description": "Filter posts by author's profile URL(s) or public identifier(s) or profile ID(s) (comma-separated). Note: LinkedIn returns fewer results per profile when using post search. To extract all posts by a profile, use the /linkedin/profile-posts endpoint",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "company",
            "in": "query",
            "description": "Filter posts by this company URL(s) or company ID(s) (comma-separated). Note: LinkedIn returns fewer results per company when using post search. To extract all posts by a company, use the /linkedin/company-posts endpoint",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorsCompany",
            "in": "query",
            "description": "List of LinkedIn companies where authors of posts work (comma-separated). It supports company URLs and IDs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorsIndustryId",
            "in": "query",
            "description": "List of LinkedIn industry IDs of authors' companies (comma-separated). It supports industry IDs. Full list of industry IDs: https://github.com/HarvestAPI/linkedin-industry-codes-v2/blob/main/linkedin_industry_code_v2_all_eng.csv",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mentioningMember",
            "in": "query",
            "description": "Filter posts mentioning this LinkedIn profile URL or ID (comma-separated). It supports profile URLs and IDs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mentioningCompany",
            "in": "query",
            "description": "Filter posts mentioning this LinkedIn company URL or ID (comma-separated). It supports company URLs and IDs.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contentType",
            "in": "query",
            "description": "Filter by content type. Supported values: 'videos', 'images', 'live_videos', 'documents', 'collaborative_articles', 'jobs'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorKeywords",
            "in": "query",
            "description": "Filter by keywords in authors' profiles",
            "schema": {
              "type": "string"
            }
          },

          {
            "name": "group",
            "in": "query",
            "description": "Group LinkedIn URL or Group ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postedLimit",
            "in": "query",
            "description": "Filter posts by maximum posted date. Supported values: '24h', 'week', 'month'. This parameter will be sent to LinkedIn, the filtering will be done on their side",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scrapePostedLimit",
            "in": "query",
            "description": "Post-Filter posts by maximum posted date. Supported values: '1h', '24h', 'week','month', '3months', '6months', 'year'. This parameter will be applied after receiving results from LinkedIn, the filtering will be done on our side",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Sort by field. Supported values: 'relevance', 'date'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Required if it was returned by the previous page. Otherwise the page will always be 1 (on LinkedIn side). Doesn't apply for all queries, usually profile posts return this token",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        },
                        "profileId": {
                          "type": "string"
                        },
                        "companyId": {
                          "type": "string"
                        },
                        "postedLimit": {
                          "type": "string"
                        },
                        "sortBy": {
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/post-comments": {
      "get": {
        "summary": "Get comments of LinkedIn post",
        "description": "Get comments of LinkedIn post by post URL.",
        "parameters": [
          {
            "name": "post",
            "in": "query",
            "description": "URL of the LinkedIn post (required)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Sort comments by field. Supported values: 'relevance', 'date'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination. Default is 1",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Required only if sortBy is 'relevance' and page > 1. Use this token from the previous page response.",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post comments response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostComment"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/post-comment-replies": {
      "get": {
        "summary": "Get replies of LinkedIn post comment",
        "description": "Get replies of LinkedIn post comment by comment URL.",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "URL of the LinkedIn comment (required)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Use this token from the previous page response.",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post comment replies response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostComment"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/post-reactions": {
      "get": {
        "summary": "Get reactions of LinkedIn post",
        "description": "Get reactions of LinkedIn post by post URL.",
        "parameters": [
          {
            "name": "post",
            "in": "query",
            "description": "URL of the LinkedIn post (required)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Sort comments by field. Supported values: 'relevance', 'date'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination. Default is 1",
            "schema": {
              "type": "integer",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post reactions response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostReaction"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/comment-reactions": {
      "get": {
        "summary": "Get reactions of LinkedIn post comment",
        "description": "Get reactions of LinkedIn post comment by comment URL.",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "URL of the LinkedIn comment (required)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination. Default is 1",
            "schema": {
              "type": "integer",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post reactions response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostReaction"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/profile-comments": {
      "get": {
        "summary": "Get comments of LinkedIn profile",
        "description": "Get comments of LinkedIn profile by post URL.",
        "parameters": [
          {
            "name": "profile",
            "in": "query",
            "description": "URL of the LinkedIn profile or public identifier or profile ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postedLimit",
            "in": "query",
            "description": "Filter posts by maximum posted date. Supported values: '24h', 'week', 'month'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination. Default is 1",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Required for pages > 1. Use this token from the previous page response.",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Profile comments response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostComment"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/profile-reactions": {
      "get": {
        "summary": "Get reactions of LinkedIn profile",
        "description": "Get reactions of LinkedIn profile by profile URL.",
        "parameters": [
          {
            "name": "profile",
            "in": "query",
            "description": "URL of the LinkedIn profile or public identifier or profile ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination. Default is 1",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Required for pages > 1. Use this token from the previous page response.",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post reactions response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostReaction"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/profile-posts": {
      "get": {
        "summary": "Get LinkedIn profile posts",
        "description": "Get LinkedIn profile posts by profile URL, ID, or public identifier.",
        "parameters": [
          {
            "name": "profile",
            "in": "query",
            "description": "Filter posts by author's profile URL or public identifier or profile ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postedLimit",
            "in": "query",
            "description": "Filter posts by maximum posted date. Supported values: '24h', 'week', 'month'. \nSince LinkedIn doesn't offer a way to filter by date, the filtering will be done on our side, due to that the pagination might have incorrect values, because pagination is returned by LinkedIn without applying the postedLimit filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scrapePostedLimit",
            "in": "query",
            "description": "Post-Filter posts by maximum posted date. Supported values: '1h', '24h', 'week','month', '3months', '6months', 'year'. This parameter will be applied after receiving results from LinkedIn, the filtering will be done on our side",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Required if it was returned by the previous page. Otherwise the page will always be 1 (on LinkedIn side). Doesn't apply for all queries, usually profile posts return this token",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        },
                        "profileId": {
                          "type": "string"
                        },
                        "companyId": {
                          "type": "string"
                        },
                        "postedLimit": {
                          "type": "string"
                        },
                        "sortBy": {
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/company-posts": {
      "get": {
        "summary": "Get LinkedIn company posts",
        "description": "Get LinkedIn company posts by company URL, ID, or universal name.",
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "description": "Filter posts by this company URL or universal name or company ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postedLimit",
            "in": "query",
            "description": "Filter posts by maximum posted date. Supported values: '24h', 'week', 'month'. \nSince LinkedIn doesn't offer a way to filter by date, the filtering will be done on our side, due to that the pagination might have incorrect values, because pagination is returned by LinkedIn without applying the postedLimit filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scrapePostedLimit",
            "in": "query",
            "description": "Post-Filter posts by maximum posted date. Supported values: '1h', '24h', 'week','month', '3months', '6months', 'year'. This parameter will be applied after receiving results from LinkedIn, the filtering will be done on our side",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Required if it was returned by the previous page. Otherwise the page will always be 1 (on LinkedIn side). Doesn't apply for all queries, usually profile posts return this token",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Post search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PostShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        },
                        "profileId": {
                          "type": "string"
                        },
                        "companyId": {
                          "type": "string"
                        },
                        "postedLimit": {
                          "type": "string"
                        },
                        "sortBy": {
                          "type": "string"
                        },
                        "page": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/group": {
      "get": {
        "summary": "Get the LinkedIn group",
        "description": "Get the LinkedIn group. Required at least one of the query parameters",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "description": "URL of the LinkedIn group (optional)",
            "schema": {
              "type": "string",
              "format": "url"
            }
          },
          {
            "name": "groupId",
            "in": "query",
            "description": "ID of the LinkedIn group (optional)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Group profile response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "$ref": "#/components/schemas/Group"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/group-search": {
      "get": {
        "summary": "Search LinkedIn Groups",
        "description": "Retrieve a list of LinkedIn Groups matching the specified search criteria.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Keywords to search for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination.",
            "schema": {
              "type": "integer",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of groups matching the search criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "string",
                      "description": "Status of the response."
                    },
                    "error": {
                      "type": "string",
                      "description": "Error message, if any."
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized access.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/service-search": {
      "get": {
        "summary": "Search LinkedIn profile services",
        "description": "Search LinkedIn profile services by name keywords and location.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": true,
            "description": "Search profiles by name",
            "schema": {
              "type": "string",
              "format": "url"
            }
          },
          {
            "name": "location",
            "in": "query",
            "description": "Filter by location text",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "geoId",
            "in": "query",
            "description": "Filter by location as LinkedIn Geo ID. Overrides the location query param. Use the /linkedin/geo-id-search endpoint to find the Geo ID",
            "schema": {
              "type": "string"
            }
          },

          {
            "name": "page",
            "in": "query",
            "description": "Page number, use for pagination",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Profile search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ProfileShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        },
                        "companyId": {
                          "type": "string"
                        },
                        "location": {
                          "type": "string"
                        },
                        "geoId": {
                          "type": "string"
                        },
                        "page": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/lead-search": {
      "get": {
        "summary": "Search LinkedIn leads",
        "description": "Search LinkedIn profile leads by filters with advanced inclusion and exclusion criteria",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Search query. Fuzzy search, supports LinkedIn's search operators",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currentCompanies",
            "in": "query",
            "description": "Filter by current company IDs or URLs. Comma-separated (max 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pastCompanies",
            "in": "query",
            "description": "Filter by past company IDs or URLs. Comma-separated (max 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locations",
            "in": "query",
            "description": "Filter by location text. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "geoIds",
            "in": "query",
            "description": "Filter by LinkedIn Geo ID. Comma-separated. Overrides location param. Use /linkedin/geo-id-search to find IDs",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "schools",
            "in": "query",
            "description": "Filter by school IDs or URLs. Comma-separated (max 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currentJobTitles",
            "in": "query",
            "description": "Filter by current job titles. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pastJobTitles",
            "in": "query",
            "description": "Filter by past job titles. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firstNames",
            "in": "query",
            "description": "Filter by first names. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastNames",
            "in": "query",
            "description": "Filter by last names. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "industryIds",
            "in": "query",
            "description": "Filter by industry IDs. Comma-separated (max 70). Full list: https://github.com/HarvestAPI/linkedin-industry-codes-v2/blob/main/linkedin_industry_code_v2_all_eng_with_header.csv",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "yearsAtCurrentCompanyIds",
            "in": "query",
            "description": "Filter by years at current company IDs. Comma-separated. https://github.com/HarvestAPI/harvestapi-sdk/blob/main/packages/scraper/README.md#yearsatcurrentcompanyids",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "yearsOfExperienceIds",
            "in": "query",
            "description": "Filter by years of experience IDs. Comma-separated. https://github.com/HarvestAPI/harvestapi-sdk/blob/main/packages/scraper/README.md#yearsofexperienceids",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "seniorityLevelIds",
            "in": "query",
            "description": "Filter by seniority level IDs. Comma-separated. https://github.com/HarvestAPI/harvestapi-sdk/blob/main/packages/scraper/README.md#senioritylevelids",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "functionIds",
            "in": "query",
            "description": "Filter by job function IDs. Comma-separated. https://github.com/HarvestAPI/harvestapi-sdk/blob/main/packages/scraper/README.md#functionids",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recentlyChangedJobs",
            "in": "query",
            "description": "Filter leads who recently changed jobs in the last 90 days.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "postedOnLinkedin",
            "in": "query",
            "description": "Filter leads who posted on LinkedIn in the last 30 days",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "profileLanguages",
            "in": "query",
            "description": "Filter by profile languages. Comma-separated. https://github.com/HarvestAPI/harvestapi-sdk/blob/main/packages/scraper/README.md#profilelanguages",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyHeadcount",
            "in": "query",
            "description": "Filter by company headcount. Comma-separated. https://github.com/HarvestAPI/harvestapi-sdk/blob/main/packages/scraper/README.md#companyheadcount",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "companyHeadquarterLocations",
            "in": "query",
            "description": "Filter by company headquarter location text. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeLocations",
            "in": "query",
            "description": "Locations to exclude from search. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeGeoIds",
            "in": "query",
            "description": "Geo IDs to exclude from search. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeCurrentCompanies",
            "in": "query",
            "description": "Current companies to exclude. Comma-separated (max 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludePastCompanies",
            "in": "query",
            "description": "Past companies to exclude. Comma-separated (max 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeSchools",
            "in": "query",
            "description": "Schools to exclude. Comma-separated (max 50)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeCurrentJobTitles",
            "in": "query",
            "description": "Current job titles to exclude. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludePastJobTitles",
            "in": "query",
            "description": "Past job titles to exclude. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeIndustryIds",
            "in": "query",
            "description": "Industry IDs to exclude. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeSeniorityLevelIds",
            "in": "query",
            "description": "Seniority level IDs to exclude. Comma-separated (max 20)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeFunctionIds",
            "in": "query",
            "description": "Function IDs to exclude. Comma-separated (max 30)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "excludeCompanyHeadquarterLocations",
            "in": "query",
            "description": "Company headquarter locations to exclude from search. Comma-separated (max 70)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "salesNavUrl",
            "in": "query",
            "description": "LinkedIn Sales Navigator search URL to use for the search. This will override all other search parameters, except the `page` parameter. For pagination, please pass the `page` query parameter separately. \nNote: the scraper doesn't scrape the URL directly, it will parse the URL, sanitize and validate params. It supports all parameters currently, but if LinkedIn adds new parameters in the future, they might not be supported until we update the API. Please contact us in this case.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination (clamped at 100)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "sessionId",
            "in": "query",
            "description": "Session ID to use for the search. See https://docs.harvestapi.io/linkedin-api-reference/leads/search-leads#session-id for details.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "usePrivatePool",
            "in": "query",
            "description": "Set to true to use your private pool of resources (if available)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requiredAccountId",
            "in": "query",
            "description": "If we provide you a private pool of accounts, you can use this parameter to specify which account should be used for this request.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lead search response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LeadShort"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/ad-search": {
      "get": {
        "summary": "Search LinkedIn Ad Library",
        "description": "Retrieve a list of LinkedIn Ads matching the specified search criteria.",
        "parameters": [
          {
            "name": "searchUrl",
            "in": "query",
            "description": "Scrape Ad Library search URL, for example: https://www.linkedin.com/ad-library/search?accountOwner=test&keyword=test&dateOption=custom-date-range&startdate=2025-07-07&enddate=2025-08-21",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "Search by keyword",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountOwner",
            "in": "query",
            "description": "Search by company or advertiser name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "countries",
            "in": "query",
            "description": "One or comma separated list of country codes to filter ads by country. Eg. 'US,GB,FR'. Supports \"ALL\" value to search in all countries.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateOption",
            "in": "query",
            "description": "One of the following options to filter ads by date: 'last-30-days', 'current-month', 'current-year', 'last-year', 'custom-date-range'",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startdate",
            "in": "query",
            "description": "Start date for 'custom-date-range' filter in 'YYYY-MM-DD' format",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enddate",
            "in": "query",
            "description": "End date for 'custom-date-range' filter in 'YYYY-MM-DD' format",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "description": "Pagination token from the previous response for fetching the next page",
            "schema": {
              "type": "string",
              "format": "nullable"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of ads matching the search criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedInAdShort"
                      }
                    },
                    "pagination": {
                      "type": "object",
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "status": {
                      "type": "string",
                      "description": "Status of the response."
                    },
                    "error": {
                      "type": "string",
                      "description": "Error message, if any."
                    },
                    "query": {
                      "type": "object",
                      "properties": {
                        "search": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized access.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/ad": {
      "get": {
        "summary": "Get LinkedIn Ad by ID",
        "description": "Retrieve detailed information about a specific LinkedIn Ad using its unique ID.",
        "parameters": [
          {
            "name": "adId",
            "in": "query",
            "description": "The unique identifier of the LinkedIn Ad.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "description": "The URL of the LinkedIn Ad.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed information about the specified LinkedIn Ad.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkedInAd"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Ad not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/send-connection": {
      "post": {
        "summary": "Send LinkedIn connection request",
        "description": "Send LinkedIn connection request to the specified profile. ",
        "parameters": [
          {
            "name": "profile",
            "in": "query",
            "description": "LinkedIn profile URL or public identifier or profile ID to which the connection request will be sent. For example, 'https://www.linkedin.com/in/john-doe-123456789/'",
            "schema": {
              "type": "string",
              "format": "url"
            }
          },
          {
            "name": "cookie",
            "in": "query",
            "required": true,
            "description": "LinkedIn cookies. Please check https://docs.harvestapi.io/guides/custom-accounts for more details on how to get and use the cookies.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "proxy",
            "in": "query",
            "description": "Proxy to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userAgent",
            "in": "query",
            "description": "User-Agent to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Connection request sent successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "type": "object",
                      "properties": {
                        "connectionId": {
                          "type": "string"
                        }
                      }
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },

    "/linkedin/sent-connections": {
      "get": {
        "summary": "Get my sent connection invitations",
        "description": "Retrieves a list of connection invitations sent by the current user.",
        "parameters": [
          {
            "name": "cookie",
            "in": "query",
            "required": true,
            "description": "LinkedIn cookies. Please check https://docs.harvestapi.io/guides/custom-accounts for more details on how to get and use the cookies.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "proxy",
            "in": "query",
            "description": "Proxy to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userAgent",
            "in": "query",
            "description": "User-Agent to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved sent connections",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "type": "object",
                      "properties": {
                        "sentInvitations": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "invitationId": {
                                "type": "string"
                              },
                              "firstName": {
                                "type": "string"
                              },
                              "lastName": {
                                "type": "string"
                              },
                              "inviterId": {
                                "type": "string"
                              },
                              "sharedSecret": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "myProfile": {
                          "type": "object",
                          "properties": {
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            },
                            "id": {
                              "type": "string"
                            },
                            "publicIdentifier": {
                              "type": "string"
                            },
                            "linkedinUrl": {
                              "type": "string",
                              "format": "url"
                            }
                          }
                        }
                      }
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/received-connections": {
      "get": {
        "summary": "Get my received connection invitations",
        "description": "Retrieves a list of connection invitations received by the current user.",
        "parameters": [
          {
            "name": "cookie",
            "in": "query",
            "required": true,
            "description": "LinkedIn cookies. Please check https://docs.harvestapi.io/guides/custom-accounts for more details on how to get and use the cookies.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "proxy",
            "in": "query",
            "description": "Proxy to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userAgent",
            "in": "query",
            "description": "User-Agent to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved received connections",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "type": "object",
                      "properties": {
                        "receivedInvitations": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "invitationId": {
                                "type": "string"
                              },
                              "invitationSenderId": {
                                "type": "string"
                              },
                              "sharedSecret": {
                                "type": "string"
                              },
                              "sender": {
                                "type": "object",
                                "properties": {
                                  "firstName": {
                                    "type": "string"
                                  },
                                  "lastName": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  },
                                  "publicIdentifier": {
                                    "type": "string"
                                  },
                                  "linkedinUrl": {
                                    "type": "string",
                                    "format": "url"
                                  }
                                }
                              }
                            }
                          }
                        },
                        "myProfile": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "firstName": {
                              "type": "string"
                            },
                            "lastName": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/accept-connection": {
      "post": {
        "summary": "Accept a connection invitation",
        "description": "Accepts a pending LinkedIn connection invitation.",
        "parameters": [
          {
            "name": "invitationId",
            "in": "query",
            "required": true,
            "description": "The ID of the invitation to accept.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sharedSecret",
            "in": "query",
            "required": true,
            "description": "The shared secret associated with the invitation. Get it from the [received invitations endpoint](/linkedin-api-reference/interactions/received-connections).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cookie",
            "in": "query",
            "required": true,
            "description": "LinkedIn cookies. Please check https://docs.harvestapi.io/guides/custom-accounts for more details on how to get and use the cookies.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "proxy",
            "in": "query",
            "description": "Proxy to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userAgent",
            "in": "query",
            "description": "User-Agent to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Invitation accepted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "type": "object",
                      "properties": {
                        "createdAt": {
                          "type": "integer"
                        },
                        "connectedMember": {
                          "type": "string"
                        },
                        "entityUrn": {
                          "type": "string"
                        },
                        "*connectedMemberResolutionResult": {
                          "type": "string"
                        }
                      }
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/linkedin/send-message": {
      "post": {
        "summary": "Send LinkedIn message",
        "description": "Send LinkedIn message to the specified profile. ",
        "parameters": [
          {
            "name": "recipientProfile",
            "in": "query",
            "description": "LinkedIn profile URL to which the message will be sent. For example, 'https://www.linkedin.com/in/john-doe-123456789/'",
            "schema": {
              "type": "string",
              "format": "url"
            }
          },
          {
            "name": "message",
            "in": "query",
            "description": "Message text to send.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cookie",
            "in": "query",
            "required": true,
            "description": "LinkedIn cookies. Please check https://docs.harvestapi.io/guides/custom-accounts for more details on how to get and use the cookies.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "proxy",
            "in": "query",
            "description": "Proxy to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userAgent",
            "in": "query",
            "description": "User-Agent to use for this request. More details - https://docs.harvestapi.io/guides/custom-accounts",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Message sent successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "element": {
                      "type": "object",
                      "properties": {
                        "originToken": {
                          "type": "string"
                        },
                        "body": {
                          "type": "object",
                          "properties": {
                            "attributes": {
                              "type": "array",
                              "items": {}
                            },
                            "text": {
                              "type": "string"
                            }
                          }
                        },
                        "backendUrn": {
                          "type": "string"
                        },
                        "conversationUrn": {
                          "type": "string"
                        },
                        "deliveredAt": {
                          "type": "integer"
                        },
                        "renderContentUnions": {
                          "type": "array",
                          "items": {}
                        },
                        "renderContentFallbackText": {
                          "type": "string",
                          "nullable": true
                        },
                        "entityUrn": {
                          "type": "string"
                        },
                        "backendConversationUrn": {
                          "type": "string"
                        },
                        "senderUrn": {
                          "type": "string"
                        }
                      }
                    },
                    "status": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Pagination": {
        "type": "object",
        "properties": {
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "totalElements": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "previousElements": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "paginationToken": {
            "type": "string",
            "format": "nullable"
          }
        }
      },

      "Profile": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "publicIdentifier": { "type": "string" },
          "linkedinUrl": { "type": "string", "format": "uri" },
          "firstName": { "type": "string" },
          "lastName": { "type": "string" },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailDetail"
            }
          },
          "websites": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "companyWebsites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompanyWebsite"
            }
          },
          "headline": { "type": "string" },
          "openToWork": { "type": "boolean" },
          "hiring": { "type": "boolean" },
          "premium": { "type": "boolean" },
          "influencer": { "type": "boolean" },
          "memorialized": { "type": "boolean" },
          "creator": { "type": "boolean" },
          "location": { "$ref": "#/components/schemas/Location" },
          "objectUrn": { "type": "string" },
          "registeredAt": { "type": "string", "format": "date-time" },
          "topSkills": {
            "type": "array",
            "items": { "type": "string" }
          },
          "connectionsCount": { "type": "integer" },
          "followerCount": { "type": "integer" },
          "verified": { "type": "boolean" },
          "about": { "type": "string" },
          "currentPosition": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Experience" }
          },
          "profileTopEducation": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Education" }
          },
          "profileActions": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Action" }
          },
          "profilePicture": { "$ref": "#/components/schemas/ImageObject" },
          "coverPicture": { "$ref": "#/components/schemas/ImageObject" },
          "photo": { "type": "string", "format": "uri" },
          "profileLocales": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Locale" }
          },
          "primaryLocale": { "$ref": "#/components/schemas/Locale" },
          "multiLocaleHeadline": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "headline": { "type": "string" },
                "locale": { "type": "string" }
              }
            }
          },
          "services": { "$ref": "#/components/schemas/Services" },
          "featured": {
            "$ref": "#/components/schemas/Featured"
          },
          "experience": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Experience" }
          },
          "education": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Education" }
          },
          "certifications": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Certification" }
          },
          "projects": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Project" }
          },
          "volunteering": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/VolunteerExperience" }
          },
          "receivedRecommendations": {
            "type": "array",
            "items": { "type": "object" }
          },
          "skills": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Skill" }
          },
          "publications": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Publication" }
          },
          "courses": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Course" }
          },
          "patents": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Patent" }
          },
          "honorsAndAwards": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/HonorAward" }
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": { "type": "string" },
                "proficiency": { "type": "string" }
              }
            }
          },
          "organizations": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/Organization" }
          },
          "causes": {
            "type": "array",
            "items": { "type": "string" }
          },
          "composeOptionType": { "type": "string" },
          "moreProfiles": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/LinkedProfile" }
          },
          "interests": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/InterestGroup" }
          }
        }
      },
      "Location": {
        "type": "object",
        "properties": {
          "linkedinText": { "type": "string" },
          "countryCode": { "type": "string" },
          "parsed": {
            "type": "object",
            "properties": {
              "text": { "type": "string" },
              "countryCode": { "type": "string" },
              "regionCode": { "type": "string", "nullable": true },
              "country": { "type": "string" },
              "countryFull": { "type": "string" },
              "state": { "type": "string" },
              "city": { "type": "string" }
            }
          }
        }
      },
      "DateObject": {
        "type": "object",
        "properties": {
          "month": { "type": "string", "nullable": true },
          "year": { "type": "integer", "nullable": true },
          "text": { "type": "string" }
        }
      },
      "ImageObject": {
        "type": "object",
        "properties": {
          "url": { "type": "string", "format": "uri", "nullable": true },
          "sizes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": { "type": "string", "format": "uri" },
                "width": { "type": "integer" },
                "height": { "type": "integer" }
              }
            }
          }
        }
      },
      "Locale": {
        "type": "object",
        "properties": {
          "country": { "type": "string" },
          "language": { "type": "string" }
        }
      },
      "Action": {
        "type": "object",
        "properties": {
          "label": { "type": "string" },
          "url": { "type": "string", "format": "uri" }
        }
      },
      "Experience": {
        "type": "object",
        "properties": {
          "position": { "type": "string" },
          "location": { "type": "string" },
          "employmentType": { "type": "string" },
          "workplaceType": { "type": "string" },
          "companyName": { "type": "string" },
          "companyLinkedinUrl": { "type": "string", "format": "uri" },
          "companyId": { "type": "string" },
          "duration": { "type": "string" },
          "description": { "type": "string" },
          "skills": {
            "type": "array",
            "items": { "type": "string" }
          },
          "experienceGroupId": { "type": "string" },
          "startDate": { "$ref": "#/components/schemas/DateObject" },
          "endDate": { "$ref": "#/components/schemas/DateObject" },
          "companyLogo": { "$ref": "#/components/schemas/ImageObject" },
          "companyUniversalName": { "type": "string" }
        }
      },
      "Education": {
        "type": "object",
        "properties": {
          "schoolName": { "type": "string" },
          "schoolLinkedinUrl": { "type": "string", "format": "uri" },
          "schoolId": { "type": "string" },
          "degree": { "type": "string" },
          "fieldOfStudy": { "type": "string" },
          "skills": {
            "type": "array",
            "items": { "type": "string" }
          },
          "startDate": { "$ref": "#/components/schemas/DateObject" },
          "endDate": { "$ref": "#/components/schemas/DateObject" },
          "period": { "type": "string" },
          "schoolLogo": { "$ref": "#/components/schemas/ImageObject" }
        }
      },
      "Services": {
        "type": "object",
        "properties": {
          "description": { "type": "string" },
          "media": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": { "type": "string", "nullable": true },
                "subtitle": { "type": "string", "nullable": true },
                "url": { "type": "string", "format": "uri" },
                "image": { "$ref": "#/components/schemas/ImageObject" }
              }
            }
          },
          "servicesList": {
            "type": "array",
            "items": { "type": "string" }
          },
          "rating": { "type": "string" },
          "requestUrl": { "type": "string", "format": "uri" }
        }
      },
      "Certification": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "issuedAt": { "type": "string" },
          "link": { "type": "string", "format": "uri", "nullable": true },
          "issuedBy": { "type": "string" },
          "issuedByLink": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "issuedByLogo": { "$ref": "#/components/schemas/ImageObject" }
        }
      },
      "Project": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "duration": { "type": "string" },
          "startDate": { "$ref": "#/components/schemas/DateObject" },
          "endDate": { "$ref": "#/components/schemas/DateObject" },
          "associatedWith": { "type": "string" },
          "associatedWithLink": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "description": { "type": "string" },
          "contributors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "linkedinUrl": { "type": "string", "format": "uri" }
              }
            }
          }
        }
      },
      "VolunteerExperience": {
        "type": "object",
        "properties": {
          "role": { "type": "string" },
          "organizationName": { "type": "string" },
          "duration": { "type": "string" },
          "startDate": {
            "$ref": "#/components/schemas/DateObject",
            "nullable": true
          },
          "endDate": {
            "$ref": "#/components/schemas/DateObject",
            "nullable": true
          }
        }
      },
      "Skill": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "positions": {
            "type": "array",
            "items": { "type": "string" }
          },
          "endorsements": { "type": "string" }
        }
      },
      "Publication": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "publishedAt": { "type": "string" },
          "description": { "type": "string", "nullable": true },
          "link": { "type": "string", "format": "uri", "nullable": true }
        }
      },
      "Course": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "associatedWith": { "type": "string" },
          "associatedWithLink": {
            "type": "string",
            "format": "uri",
            "nullable": true
          }
        }
      },
      "Patent": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "number": { "type": "string" },
          "issuedAt": { "type": "string" },
          "description": { "type": "string" },
          "url": { "type": "string", "format": "uri", "nullable": true }
        }
      },
      "HonorAward": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "issuedBy": { "type": "string" },
          "issuedAt": { "type": "string" },
          "description": { "type": "string" },
          "associatedWith": { "type": "string" },
          "associatedWithLink": {
            "type": "string",
            "format": "uri",
            "nullable": true
          }
        }
      },
      "Organization": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "positionHeld": { "type": "string", "nullable": true },
          "description": { "type": "string" },
          "startDate": { "$ref": "#/components/schemas/DateObject" },
          "endDate": { "$ref": "#/components/schemas/DateObject" },
          "companyLinkedinUrl": { "type": "string", "format": "uri" },
          "logo": { "type": "string", "format": "uri", "nullable": true }
        }
      },
      "LinkedProfile": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "firstName": { "type": "string" },
          "lastName": { "type": "string" },
          "position": { "type": "string" },
          "publicIdentifier": { "type": "string" },
          "linkedinUrl": { "type": "string", "format": "uri" }
        }
      },
      "InterestGroup": {
        "type": "object",
        "properties": {
          "interestName": { "type": "string" },
          "elements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": { "type": "string" },
                "subtitle": { "type": "string", "nullable": true },
                "link": { "type": "string", "format": "uri", "nullable": true },
                "caption": { "type": "string" },
                "image": {
                  "type": "object",
                  "properties": {
                    "url": { "type": "string", "format": "uri" }
                  }
                }
              }
            }
          }
        }
      },
      "EmailDetail": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "deliverable": {
            "type": "boolean"
          },
          "catchAllDomain": {
            "type": "boolean"
          },
          "validEmailServer": {
            "type": "boolean"
          },
          "free": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "qualityScore": {
            "type": "integer"
          }
        }
      },
      "Featured": {
        "type": "object",
        "properties": {
          "images": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "link": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "slides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeaturedSlide"
            }
          }
        }
      },
      "FeaturedSlide": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "image": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              }
            }
          }
        }
      },

      "ProfileShort": {
        "required": ["publicIdentifier"],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "publicIdentifier": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "location": {
            "type": "object",
            "properties": {
              "linkedinText": {
                "type": "string"
              }
            }
          },
          "linkedinUrl": {
            "type": "string"
          },
          "photo": {
            "type": "string"
          },
          "hidden": {
            "type": "boolean"
          }
        }
      },
      "LeadShort": {
        "required": ["linkedinUrl"],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "linkedinUrl": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "openProfile": {
            "type": "boolean"
          },
          "premium": {
            "type": "boolean"
          },
          "location": {
            "type": "object",
            "properties": {
              "linkedinText": {
                "type": "string"
              }
            }
          },
          "pictureUrl": {
            "type": "string"
          },
          "currentPositions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "companyName": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "startedOn": {
                  "type": "object",
                  "properties": {
                    "month": {
                      "type": "string",
                      "format": "nullable"
                    },
                    "year": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                },
                "companyId": {
                  "type": "string"
                },
                "companyLinkedinUrl": {
                  "type": "string"
                },
                "tenureAtPosition": {
                  "type": "object",
                  "properties": {
                    "numYears": {
                      "type": "string"
                    },
                    "numMonths": {
                      "type": "string"
                    }
                  }
                },
                "tenureAtCompany": {
                  "type": "object",
                  "properties": {
                    "numYears": {
                      "type": "string"
                    },
                    "numMonths": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },

      "Company": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "universalName": {
            "type": "string"
          },
          "linkedinUrl": {
            "type": "string",
            "format": "uri"
          },
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "website": {
            "type": "string",
            "format": "uri"
          },
          "logo": {
            "type": "string",
            "format": "uri"
          },
          "foundedOn": {
            "$ref": "#/components/schemas/FoundedOnDate"
          },
          "employeeCount": {
            "type": "integer"
          },
          "employeeCountRange": {
            "$ref": "#/components/schemas/EmployeeCountRange"
          },
          "followerCount": {
            "type": "integer"
          },
          "description": {
            "type": "string"
          },
          "companyType": {
            "type": "string"
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompanyLocation"
            }
          },
          "specialities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Industry"
            }
          },
          "logos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageResource"
            }
          },
          "backgroundCover": {
            "type": "string",
            "format": "uri"
          },
          "backgroundCovers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageResource"
            }
          },
          "active": {
            "type": "boolean"
          },
          "jobSearchUrl": {
            "type": "string",
            "format": "uri"
          },
          "pageVerified": {
            "type": "boolean"
          },
          "pageType": {
            "type": "string"
          },
          "showcase": {
            "type": "boolean"
          },
          "paidCompany": {
            "type": "boolean"
          },
          "autoGenerated": {
            "type": "boolean"
          },
          "callToActionUrl": {
            "type": "string",
            "format": "uri"
          },
          "similarOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SimilarOrganization"
            }
          },
          "affiliatedPages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AffiliatedPage"
            }
          }
        }
      },
      "FoundedOnDate": {
        "type": "object",
        "properties": {
          "month": {
            "type": "integer",
            "nullable": true
          },
          "year": {
            "type": "integer",
            "nullable": true
          },
          "day": {
            "type": "integer",
            "nullable": true
          }
        }
      },
      "EmployeeCountRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": "integer",
            "nullable": true
          },
          "end": {
            "type": "integer",
            "nullable": true
          }
        }
      },
      "CompanyLocation": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "geographicArea": {
            "type": "string",
            "nullable": true
          },
          "line1": {
            "type": "string",
            "nullable": true
          },
          "line2": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "headquarter": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "parsed": {
            "$ref": "#/components/schemas/ParsedLocation"
          }
        }
      },
      "ParsedLocation": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string"
          },
          "countryFull": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Industry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "urn": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "hierarchy": {
            "type": "string"
          }
        }
      },
      "ImageResource": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "width": {
            "type": "integer"
          },
          "height": {
            "type": "integer"
          }
        }
      },
      "SimilarOrganization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "universalName": {
            "type": "string"
          },
          "linkedinUrl": {
            "type": "string",
            "format": "uri"
          },
          "name": {
            "type": "string"
          },
          "logo": {
            "type": "string",
            "format": "uri"
          },
          "employeeCountRange": {
            "$ref": "#/components/schemas/EmployeeCountRange"
          },
          "followerCount": {
            "type": "integer"
          },
          "description": {
            "type": "string"
          },
          "industries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Industry"
            }
          },
          "backgroundCover": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "AffiliatedPage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "universalName": {
            "type": "string"
          },
          "linkedinUrl": {
            "type": "string",
            "format": "uri"
          },
          "name": {
            "type": "string"
          },
          "logo": {
            "type": "string",
            "format": "uri"
          },
          "followerCount": {
            "type": "integer"
          },
          "description": {
            "type": "string"
          },
          "industries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Industry"
            }
          },
          "logos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageResource"
            }
          },
          "showcase": {
            "type": "boolean"
          },
          "paidCompany": {
            "type": "boolean"
          }
        }
      },

      "CompanyPeopleStats": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "LinkedIn company ID"
          },
          "universalName": {
            "type": "string",
            "nullable": true,
            "description": "Universal name of the company (the last part of its URL). Null when the company was requested by ID"
          },
          "linkedinUrl": {
            "type": "string",
            "format": "uri"
          },
          "peopleStats": {
            "type": "array",
            "description": "One entry per \"People\" tab group, always in this order: Locations, School, Current Function, Skill Explicit, Service categories, Field of Study. Each group holds up to 15 values sorted by count, largest first; a group without data has an empty values list",
            "items": {
              "$ref": "#/components/schemas/CompanyPeopleStat"
            }
          }
        }
      },

      "CompanyPeopleStat": {
        "type": "object",
        "properties": {
          "statTitle": {
            "type": "string",
            "description": "Name of the group: \"Locations\", \"School\", \"Current Function\", \"Skill Explicit\", \"Service categories\" or \"Field of Study\""
          },
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "Value within the group, e.g. \"United States\" for Locations"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of the company employees matching the value"
                }
              }
            }
          }
        }
      },

      "CompanyShort": {
        "required": ["universalName"],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "industries": {
            "type": "string"
          },
          "location": {
            "type": "object",
            "properties": {
              "linkedinText": {
                "type": "string"
              }
            }
          },
          "followers": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "logo": {
            "type": "string"
          },
          "linkedinUrl": {
            "type": "string"
          },
          "universalName": {
            "type": "string"
          }
        }
      },
      "Job": {
        "required": ["id"],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "linkedinUrl": {
            "type": "string"
          },
          "jobState": {
            "type": "string"
          },
          "postedDate": {
            "type": "string",
            "format": "date-time"
          },
          "descriptionText": {
            "type": "string"
          },
          "descriptionHtml": {
            "type": "string"
          },
          "location": {
            "type": "object",
            "properties": {
              "linkedinText": {
                "type": "string"
              },
              "postalAddress": {
                "type": "string",
                "format": "nullable"
              },
              "parsed": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "regionCode": {
                    "type": "string",
                    "format": "nullable"
                  },
                  "country": {
                    "type": "string"
                  },
                  "countryFull": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "employmentType": {
            "type": "string"
          },
          "workplaceType": {
            "type": "string"
          },
          "workRemoteAllowed": {
            "type": "boolean"
          },
          "easyApplyUrl": {
            "type": "string"
          },
          "applicants": {
            "type": "integer",
            "format": "int32"
          },
          "companyName": {
            "type": "string"
          },
          "companyLogo": {
            "type": "string"
          },
          "companyLink": {
            "type": "string"
          },
          "companyUniversalName": {
            "type": "string"
          },
          "salary": {
            "type": "object",
            "properties": {
              "min": {
                "type": "string"
              },
              "max": {
                "type": "string"
              },
              "currency": {
                "type": "string"
              },
              "text": {
                "type": "string"
              }
            }
          },
          "views": {
            "type": "integer",
            "format": "int32"
          },
          "expireAt": {
            "type": "string",
            "format": "date-time"
          },
          "new": {
            "type": "boolean"
          },
          "jobApplicationLimitReached": {
            "type": "boolean"
          },
          "applicantTrackingSystem": {
            "type": "string"
          }
        }
      },
      "JobShort": {
        "required": ["id"],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "postedDate": {
            "type": "string",
            "format": "date-time"
          },
          "company": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "universalName": {
                "type": "string"
              },
              "linkedinUrl": {
                "type": "string"
              }
            }
          },
          "location": {
            "type": "object",
            "properties": {
              "linkedinText": {
                "type": "string"
              }
            }
          },
          "easyApply": {
            "type": "boolean"
          }
        }
      },
      "PostShort": {
        "required": ["id"],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "linkedinUrl": {
            "type": "string"
          },
          "author": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "urn": {
                "type": "string"
              },
              "publicIdentifier": {
                "type": "string"
              },
              "universalName": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "linkedinUrl": {
                "type": "string"
              },
              "type": {
                "type": "boolean"
              },
              "info": {
                "type": "boolean"
              },
              "website": {
                "type": "boolean"
              },
              "websiteLabel": {
                "type": "boolean"
              },
              "avatar": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "width": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "height": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "expiresAt": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "postedAt": {
            "type": "object",
            "properties": {
              "timestamp": {
                "type": "integer"
              },
              "date": {
                "type": "string"
              },
              "postedAgoShort": {
                "type": "string"
              },
              "postedAgoText": {
                "type": "string"
              }
            }
          },
          "postImages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "width": {
                  "type": "integer",
                  "format": "int32"
                },
                "height": {
                  "type": "integer",
                  "format": "int32"
                },
                "expiresAt": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "postVideo": {
            "type": "object",
            "properties": {
              "thumbnailUrl": {
                "type": "string"
              },
              "videoUrl": {
                "type": "string"
              }
            }
          },
          "article": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "subtitle": {
                "type": "string"
              },
              "link": {
                "type": "string"
              },
              "linkLabel": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "image": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "width": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "height": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "expiresAt": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          },
          "repostId": {
            "type": "string",
            "format": "nullable"
          },
          "repost": {
            "type": "object"
          },
          "repostedBy": {
            "type": "object",
            "properties": {
              "publicIdentifier": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "linkedinUrl": {
                "type": "string"
              }
            }
          },
          "newsletterUrl": {
            "type": "string"
          },
          "newsletterTitle": {
            "type": "string"
          },
          "socialContent": {
            "type": "object",
            "properties": {
              "hideCommentsCount": {
                "type": "boolean"
              },
              "hideReactionsCount": {
                "type": "boolean"
              },
              "hideSocialActivityCounts": {
                "type": "boolean"
              },
              "hideShareAction": {
                "type": "boolean"
              },
              "hideSendAction": {
                "type": "boolean"
              },
              "hideRepostsCount": {
                "type": "boolean"
              },
              "hideViewsCount": {
                "type": "boolean"
              },
              "hideReactAction": {
                "type": "boolean"
              },
              "hideCommentAction": {
                "type": "boolean"
              },
              "shareUrl": {
                "type": "string"
              },
              "showContributionExperience": {
                "type": "boolean"
              },
              "showSocialDetail": {
                "type": "boolean"
              }
            }
          },
          "engagement": {
            "type": "object",
            "properties": {
              "likes": {
                "type": "integer",
                "format": "int32"
              },
              "comments": {
                "type": "integer",
                "format": "int32"
              },
              "shares": {
                "type": "integer",
                "format": "int32"
              },
              "reactions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "PostReaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the reaction.",
            "example": "urn:li:fsd_reaction:(urn:li:fsd_profile:ACoAAFsSba4BjCtAJXsUcfwXs0LPljAa2PsGpc8,urn:li:activity:7330681775884533760,0)"
          },
          "reactionType": {
            "type": "string",
            "description": "The type of reaction.",
            "example": "LIKE"
          },
          "postId": {
            "type": "string",
            "description": "The ID of the post that was reacted to.",
            "example": "7330681775884533760"
          },
          "actor": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier for the actor.",
                "example": "ACoAAFsSba4BjCtAJXsUcfwXs0LPljAa2PsGpc8"
              },
              "name": {
                "type": "string",
                "description": "The name of the actor.",
                "example": "Om More"
              },
              "linkedinUrl": {
                "type": "string",
                "format": "url",
                "description": "The LinkedIn profile URL of the actor.",
                "example": "https://www.linkedin.com/in/ACoAAFsSba4BjCtAJXsUcfwXs0LPljAa2PsGpc8"
              },
              "position": {
                "type": "string",
                "description": "The current position of the actor.",
                "example": "Student at Yashwantrao Mohite College of Arts, Science and Commerce, Pune"
              },
              "pictureUrl": {
                "type": "string",
                "format": "url",
                "description": "The URL of the actor's profile picture.",
                "example": "https://media.licdn.com/dms/image/v2/D4E03AQEjFjWHGRTC2Q/profile-displayphoto-shrink_800_800/B4EZcG0eZVHAAc-/0/1748166110665?e=1753920000&v=beta&t=HOMnbBij0Z_MV2RvUu5zLKCpOaN8Cbnh72uqaH99ZLA"
              },
              "picture": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "url",
                    "description": "The URL of the picture.",
                    "example": "https://media.licdn.com/dms/image/v2/D4E03AQEjFjWHGRTC2Q/profile-displayphoto-shrink_800_800/B4EZcG0eZVHAAc-/0/1748166110665?e=1753920000&v=beta&t=HOMnbBij0Z_MV2RvUu5zLKCpOaN8Cbnh72uqaH99ZLA"
                  },
                  "width": {
                    "type": "integer",
                    "description": "The width of the picture in pixels.",
                    "example": 800
                  },
                  "height": {
                    "type": "integer",
                    "description": "The height of the picture in pixels.",
                    "example": 800
                  },
                  "expiresAt": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The expiration timestamp of the picture URL in milliseconds since epoch.",
                    "example": 1753920000000
                  }
                },
                "required": ["url", "width", "height", "expiresAt"]
              }
            },
            "required": ["id", "name", "linkedinUrl"]
          }
        },
        "required": ["id", "reactionType", "postId", "actor"]
      },
      "PostComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the comment.",
            "example": "7330012053861998592"
          },
          "linkedinUrl": {
            "type": "string",
            "format": "url",
            "description": "The direct URL to the comment on LinkedIn.",
            "example": "https://www.linkedin.com/feed/update/urn:li:ugcPost:7329991434395160578?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7329991434395160578%2C7330012053861998592%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287330012053861998592%2Curn%3Ali%3AugcPost%3A7329991434395160578%29"
          },
          "commentary": {
            "type": "string",
            "description": "The text content of the comment.",
            "example": "Exciting 🔥"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The ISO 8601 timestamp of when the comment was created.",
            "example": "2025-05-18T23:30:58.680Z"
          },
          "numComments": {
            "type": "integer",
            "description": "The number of replies to this comment.",
            "example": 0
          },
          "numShares": {
            "type": "integer",
            "nullable": true,
            "description": "The number of times this comment has been shared (often null for comments).",
            "example": null
          },
          "numImpressions": {
            "type": "integer",
            "nullable": true,
            "description": "The number of impressions for this comment (often null).",
            "example": null
          },
          "reactionTypeCounts": {
            "type": "array",
            "description": "A list of reaction types and their counts for this comment.",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "The type of reaction.",
                  "enum": ["LIKE", "EMPATHY", "PRAISE", "INTEREST", "MAYBE"],
                  "example": "LIKE"
                },
                "count": {
                  "type": "integer",
                  "description": "The number of this type of reaction.",
                  "example": 1
                }
              },
              "required": ["type", "count"]
            }
          },
          "postId": {
            "type": "string",
            "description": "The ID of the post to which this comment belongs.",
            "example": "7329991434395160578"
          },
          "actor": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier for the actor who made the comment.",
                "example": "ACoAABLGFg4BRMcDx84MmyU8X-Jqcw9wKCA1QxU"
              },
              "name": {
                "type": "string",
                "description": "The name of the actor.",
                "example": "Harshavardhan G H"
              },
              "linkedinUrl": {
                "type": "string",
                "format": "url",
                "description": "The LinkedIn profile URL of the actor.",
                "example": "https://www.linkedin.com/in/harshavardhangh"
              },
              "position": {
                "type": "string",
                "description": "The current position or headline of the actor.",
                "example": "Business Analyst | Data-Driven Decision Maker | 5+ Years of Experience in Municipal Data Systems & Public Sector Projects | Passionate About Driving Innovation in Local Governance | Always Exploring New Technologies"
              },
              "pictureUrl": {
                "type": "string",
                "format": "url",
                "description": "The URL of the actor's profile picture.",
                "example": "https://media.licdn.com/dms/image/v2/D5603AQF38AglH7bh-A/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1730799919024?e=1753920000&v=beta&t=Jo-oVn--3ftKSEMtrITF0b3_UG97a0n401-ztV_9Gac"
              },
              "picture": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "url",
                    "description": "The URL of the picture.",
                    "example": "https://media.licdn.com/dms/image/v2/D5603AQF38AglH7bh-A/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1730799919024?e=1753920000&v=beta&t=Jo-oVn--3ftKSEMtrITF0b3_UG97a0n401-ztV_9Gac"
                  },
                  "width": {
                    "type": "integer",
                    "description": "The width of the picture in pixels.",
                    "example": 800
                  },
                  "height": {
                    "type": "integer",
                    "description": "The height of the picture in pixels.",
                    "example": 800
                  },
                  "expiresAt": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The expiration timestamp of the picture URL in milliseconds since epoch.",
                    "example": 1753920000000
                  }
                },
                "required": ["url", "width", "height", "expiresAt"]
              },
              "author": {
                "type": "boolean",
                "description": "Indicates if the actor is the original author of the parent post.",
                "example": false
              }
            },
            "required": ["id", "name", "linkedinUrl", "author"]
          },
          "createdAtTimestamp": {
            "type": "integer",
            "format": "int64",
            "description": "The timestamp of when the comment was created, in milliseconds since epoch.",
            "example": 1747611058680
          },
          "pinned": {
            "type": "boolean",
            "description": "Indicates if the comment is pinned.",
            "example": false
          },
          "contributed": {
            "type": "boolean",
            "description": "Indicates if the actor is a contributor to the content (e.g., a group admin or page role).",
            "example": false
          },
          "edited": {
            "type": "boolean",
            "description": "Indicates if the comment has been edited.",
            "example": false
          }
        },
        "required": [
          "id",
          "linkedinUrl",
          "commentary",
          "createdAt",
          "numComments",
          "postId",
          "actor",
          "createdAtTimestamp",
          "pinned",
          "contributed",
          "edited"
        ]
      },
      "Group": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the LinkedIn group."
          },
          "linkedinUrl": {
            "type": "string",
            "format": "url",
            "description": "URL of the LinkedIn group."
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the LinkedIn group."
          },
          "memberCount": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "Number of members in the group."
          },
          "logo": {
            "type": "object",
            "nullable": true,
            "properties": {
              "url": {
                "type": "string",
                "format": "url",
                "description": "URL of the group's logo."
              },
              "width": {
                "type": "integer",
                "description": "Width of the logo image."
              },
              "height": {
                "type": "integer",
                "description": "Height of the logo image."
              },
              "expiresAt": {
                "type": "integer",
                "format": "int64",
                "description": "Timestamp when the logo URL expires."
              }
            },
            "description": "Details about the group's logo."
          },
          "heroImage": {
            "type": "object",
            "nullable": true,
            "properties": {
              "url": {
                "type": "string",
                "format": "url",
                "description": "URL of the group's hero image."
              },
              "width": {
                "type": "integer",
                "description": "Width of the hero image."
              },
              "height": {
                "type": "integer",
                "description": "Height of the hero image."
              },
              "expiresAt": {
                "type": "integer",
                "format": "int64",
                "description": "Timestamp when the hero image URL expires."
              }
            },
            "description": "Details about the group's hero image."
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "Description of the LinkedIn group."
          },
          "rules": {
            "type": "string",
            "nullable": true,
            "description": "Rules of the LinkedIn group."
          },
          "createdAt": {
            "type": "object",
            "nullable": true,
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time",
                "description": "Creation date of the group in string format."
              },
              "timestamp": {
                "type": "integer",
                "format": "int64",
                "description": "Creation date of the group as a Unix timestamp."
              }
            },
            "description": "Creation timestamp and date of the group."
          },
          "groupPlusStatusActive": {
            "type": "boolean",
            "description": "Indicates if Group Plus status is active."
          },
          "postApprovalEnabled": {
            "type": "boolean",
            "description": "Indicates if post approval is enabled for the group."
          },
          "invitationLevel": {
            "type": "string",
            "nullable": true,
            "description": "Level of invitation required for the group (e.g., 'Anyone', 'ByInvitation')."
          },
          "welcomeNote": {
            "type": "string",
            "nullable": true,
            "description": "Welcome note for new members."
          },
          "automatedWelcomeNoteEnabled": {
            "type": "boolean",
            "description": "Indicates if automated welcome note is enabled."
          },
          "publicVisibility": {
            "type": "boolean",
            "description": "Indicates if the group is publicly visible."
          },
          "admins": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "integer",
                "description": "Total count of administrators."
              },
              "text": {
                "type": "string",
                "nullable": true,
                "description": "Text representation of administrators (e.g., \"John Doe and 2 others\")."
              },
              "profiles": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier for the admin profile."
                    },
                    "linkedinUrl": {
                      "type": "string",
                      "format": "url",
                      "description": "URL of the admin's LinkedIn profile."
                    },
                    "firstName": {
                      "type": "string",
                      "description": "First name of the admin."
                    },
                    "lastName": {
                      "type": "string",
                      "description": "Last name of the admin."
                    },
                    "headline": {
                      "type": "string",
                      "nullable": true,
                      "description": "Headline of the admin's LinkedIn profile."
                    },
                    "picture": {
                      "type": "string",
                      "format": "url",
                      "nullable": true,
                      "description": "URL of the admin's profile picture."
                    }
                  },
                  "required": ["id", "linkedinUrl", "firstName", "lastName"]
                },
                "description": "List of admin profiles."
              }
            },
            "required": ["totalCount", "profiles"],
            "description": "Information about the group administrators."
          }
        }
      },
      "GroupShort": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the LinkedIn group."
          },
          "linkedinUrl": {
            "type": "string",
            "format": "url",
            "nullable": true,
            "description": "URL of the LinkedIn group."
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the LinkedIn group."
          },
          "members": {
            "type": "string",
            "nullable": true,
            "description": "Text representation of the member count (e.g., '10,000+ members')."
          },
          "summary": {
            "type": "string",
            "nullable": true,
            "description": "Short summary or description of the group."
          },
          "picture": {
            "type": "string",
            "format": "url",
            "nullable": true,
            "description": "URL of the group's profile picture."
          },
          "primaryActions": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "nullable": true,
                  "description": "Label for the action (e.g., 'Join', 'View')."
                },
                "value": {
                  "type": "string",
                  "nullable": true,
                  "description": "Value associated with the action (e.g., a URL or action ID)."
                }
              }
            },
            "description": "List of primary actions related to the group."
          }
        },
        "required": ["id"]
      },

      "LinkedInAd": {
        "type": "object",
        "required": ["id", "variants", "about", "impressions", "targeting"],
        "properties": {
          "id": { "type": "string" },
          "variants": {
            "type": "array",
            "items": {
              "type": "object",
              "required": ["advertiser", "content", "creativeType"],
              "properties": {
                "advertiser": {
                  "type": "object",
                  "properties": {
                    "name": { "type": "string", "nullable": true },
                    "linkedinUrl": { "type": "string" },
                    "imageUrl": { "type": "string", "nullable": true },
                    "headline": { "type": "string", "nullable": true }
                  }
                },
                "content": {
                  "type": "object",
                  "properties": {
                    "description": { "type": "string", "nullable": true },
                    "imageUrl": { "type": "string", "nullable": true },
                    "videoThumbnailUrl": { "type": "string", "nullable": true },
                    "videoSource": { "nullable": true },
                    "targetUrl": { "type": "string", "nullable": true },
                    "headline": { "type": "string", "nullable": true },
                    "ctaLabel": { "type": "string", "nullable": true },
                    "slides": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "imageUrl": { "type": "string", "nullable": true },
                          "targetUrl": { "type": "string", "nullable": true },
                          "title": { "type": "string", "nullable": true }
                        }
                      }
                    }
                  }
                },
                "creativeType": { "type": "string", "nullable": true }
              }
            }
          },
          "about": {
            "type": "object",
            "properties": {
              "format": { "type": "string", "nullable": true },
              "advertiserName": { "type": "string", "nullable": true },
              "advertiserUrl": { "type": "string", "nullable": true },
              "paidBy": { "type": "string", "nullable": true },
              "ranFrom": { "type": "string", "nullable": true },
              "ranTo": { "type": "string", "nullable": true }
            }
          },
          "impressions": {
            "type": "object",
            "properties": {
              "total": { "type": "string", "nullable": true },
              "byCountry": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": { "type": "string", "nullable": true },
                    "percentage": { "type": "string", "nullable": true }
                  }
                }
              }
            }
          },
          "targeting": {
            "type": "object",
            "required": ["segments", "parameters"],
            "properties": {
              "segments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": ["name", "includes", "excludes"],
                  "properties": {
                    "name": { "type": "string" },
                    "includes": { "type": "array", "items": { "type": "string" } },
                    "excludes": { "type": "array", "items": { "type": "string" } }
                  }
                }
              },
              "parameters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": ["name", "targeted", "excluded"],
                  "properties": {
                    "name": { "type": "string" },
                    "targeted": { "type": "boolean" },
                    "excluded": { "type": "boolean" }
                  }
                }
              }
            }
          }
        }
      },
      "LinkedinAdShort": {
        "type": "object",
        "required": ["id", "advertiser", "content", "creativeType"],
        "properties": {
          "id": { "type": "string" },
          "advertiser": {
            "type": "object",
            "required": ["name", "imageUrl", "headline"],
            "properties": {
              "name": { "type": "string" },
              "imageUrl": { "type": "string" },
              "headline": { "type": "string" }
            }
          },
          "content": {
            "type": "object",
            "required": ["pageUrl"],
            "properties": {
              "headline": { "type": "string", "nullable": true },
              "description": { "type": "string", "nullable": true },
              "pageUrl": { "type": "string" },
              "imageUrl": { "type": "string", "nullable": true },
              "message": { "type": "string" },
              "messageAuthor": { "type": "string" }
            }
          },
          "creativeType": { "type": "string" }
        }
      },
      "Error": {
        "required": ["error", "message"],
        "type": "object",
        "properties": {
          "error": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuthHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      }
    }
  }
}
