import type { UnifapiOperationDefinition } from "../operations.ts";

export const linkedinOperations: readonly UnifapiOperationDefinition[] = [
  {
    name: "get_linkedin_ad",
    operationId: "getLinkedinAdsById",
    description: "Get a LinkedIn Ad Library entry by ID.",
    method: "GET",
    path: "/linkedin/ads/{id}",
    pathFields: ["id"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn Ad Library entry by ID.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_company_affiliated",
    operationId: "getLinkedinCompaniesBySlugAffiliated",
    description: "List a LinkedIn company's affiliated pages.",
    method: "GET",
    path: "/linkedin/companies/{slug}/affiliated",
    pathFields: ["slug"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        slug: {
          type: "string",
          minLength: 1,
          description: "The slug value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn company's affiliated pages.",
      required: ["slug"],
    },
    paginated: false,
  },
  {
    name: "get_linkedin_company_job_count",
    operationId: "getLinkedinCompaniesBySlugJobCount",
    description: "Get the number of active jobs at a LinkedIn company.",
    method: "GET",
    path: "/linkedin/companies/{slug}/job-count",
    pathFields: ["slug"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        slug: {
          type: "string",
          minLength: 1,
          description: "The slug value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get the number of active jobs at a LinkedIn company.",
      required: ["slug"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_company_jobs",
    operationId: "getLinkedinCompaniesBySlugJobs",
    description: "List active job postings at a LinkedIn company.",
    method: "GET",
    path: "/linkedin/companies/{slug}/jobs",
    pathFields: ["slug"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        slug: {
          type: "string",
          minLength: 1,
          description: "The slug value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List active job postings at a LinkedIn company.",
      required: ["slug"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_company_member_insights",
    operationId: "getLinkedinCompaniesBySlugMemberInsights",
    description: "Get a LinkedIn company's aggregated member insights.",
    method: "GET",
    path: "/linkedin/companies/{slug}/member-insights",
    pathFields: ["slug"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        slug: {
          type: "string",
          minLength: 1,
          description: "The slug value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn company's aggregated member insights.",
      required: ["slug"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_company_people",
    operationId: "getLinkedinCompaniesBySlugPeople",
    description: "List employees of a LinkedIn company.",
    method: "GET",
    path: "/linkedin/companies/{slug}/people",
    pathFields: ["slug"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        slug: {
          type: "string",
          minLength: 1,
          description: "The slug value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List employees of a LinkedIn company.",
      required: ["slug"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_company_posts",
    operationId: "getLinkedinCompaniesBySlugPosts",
    description: "List posts published by a LinkedIn company page.",
    method: "GET",
    path: "/linkedin/companies/{slug}/posts",
    pathFields: ["slug"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        slug: {
          type: "string",
          minLength: 1,
          description: "The slug value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List posts published by a LinkedIn company page.",
      required: ["slug"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_company",
    operationId: "getLinkedinCompaniesBySlug",
    description: "Get a LinkedIn company profile by URL slug.",
    method: "GET",
    path: "/linkedin/companies/{slug}",
    pathFields: ["slug"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        slug: {
          type: "string",
          minLength: 1,
          description: "LinkedIn URL slug (universal_name), e.g. `microsoft`",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn company profile by URL slug.",
      required: ["slug"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_group_posts",
    operationId: "getLinkedinGroupsByIdPosts",
    description: "List posts in a LinkedIn group.",
    method: "GET",
    path: "/linkedin/groups/{id}/posts",
    pathFields: ["id"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List posts in a LinkedIn group.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_group",
    operationId: "getLinkedinGroupsById",
    description: "Get a LinkedIn group by ID.",
    method: "GET",
    path: "/linkedin/groups/{id}",
    pathFields: ["id"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn group by ID.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "get_linkedin_job",
    operationId: "getLinkedinJobsById",
    description: "Get a LinkedIn job posting by ID.",
    method: "GET",
    path: "/linkedin/jobs/{id}",
    pathFields: ["id"],
    queryFields: ["include_skills"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
        include_skills: {
          type: "string",
          enum: ["true", "false"],
          description: "The include_skills value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn job posting by ID.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_post_comment_replies",
    operationId: "getLinkedinPostsByIdCommentsByCommentIdReplies",
    description: "List replies to a LinkedIn comment.",
    method: "GET",
    path: "/linkedin/posts/{id}/comments/{comment_id}/replies",
    pathFields: ["id", "comment_id"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
        comment_id: {
          type: "string",
          minLength: 1,
          description: "The comment_id value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List replies to a LinkedIn comment.",
      required: ["id", "comment_id"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_post_comments",
    operationId: "getLinkedinPostsByIdComments",
    description: "List top-level comments on a LinkedIn post.",
    method: "GET",
    path: "/linkedin/posts/{id}/comments",
    pathFields: ["id"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List top-level comments on a LinkedIn post.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_post_reactions",
    operationId: "getLinkedinPostsByIdReactions",
    description: "List users who reacted to a LinkedIn post.",
    method: "GET",
    path: "/linkedin/posts/{id}/reactions",
    pathFields: ["id"],
    queryFields: ["cursor", "type"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
        type: {
          type: "string",
          enum: ["all", "like", "praise", "empathy", "interest", "appreciation", "entertainment"],
          default: "all",
          description: "Filter by reaction type. `all` returns every reaction (default).",
        },
      },
      additionalProperties: false,
      description: "The input payload for List users who reacted to a LinkedIn post.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_post_reposts",
    operationId: "getLinkedinPostsByIdReposts",
    description: "List reposts of a LinkedIn post.",
    method: "GET",
    path: "/linkedin/posts/{id}/reposts",
    pathFields: ["id"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List reposts of a LinkedIn post.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_post",
    operationId: "getLinkedinPostsById",
    description: "Get a LinkedIn post by ID.",
    method: "GET",
    path: "/linkedin/posts/{id}",
    pathFields: ["id"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "The id value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn post by ID.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "search_linkedin_ads",
    operationId: "getLinkedinSearchAds",
    description: "Search the LinkedIn Ad Library.",
    method: "GET",
    path: "/linkedin/search/ads",
    pathFields: [],
    queryFields: ["cursor", "keyword", "advertiser_name", "country", "date"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
        keyword: {
          type: "string",
          description: "The keyword value.",
        },
        advertiser_name: {
          type: "string",
          description: "The advertiser_name value.",
        },
        country: {
          type: "string",
          description: "ISO-3166-1 alpha-2 code, e.g. `US`",
        },
        date: {
          type: "string",
          description: "The date value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search the LinkedIn Ad Library.",
    },
    paginated: true,
  },
  {
    name: "resolve_linkedin_industries",
    operationId: "getLinkedinSearchIndustries",
    description: "Resolve a free-text industry name to LinkedIn industry IDs.",
    method: "GET",
    path: "/linkedin/search/industries",
    pathFields: [],
    queryFields: ["keyword"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        keyword: {
          type: "string",
          minLength: 1,
          description: "The keyword value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Resolve a free-text industry name to LinkedIn industry IDs.",
      required: ["keyword"],
    },
    paginated: false,
  },
  {
    name: "search_linkedin_jobs",
    operationId: "getLinkedinSearchJobs",
    description: "Search LinkedIn jobs by keyword and filters.",
    method: "GET",
    path: "/linkedin/search/jobs",
    pathFields: [],
    queryFields: [
      "cursor",
      "keyword",
      "sort_by",
      "date_posted",
      "geocode",
      "company",
      "experience_level",
      "remote",
      "job_type",
      "easy_apply",
      "has_verifications",
      "under_10_applicants",
      "fair_chance_employer",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
        keyword: {
          type: "string",
          minLength: 1,
          description: "Free-text search query",
        },
        sort_by: {
          type: "string",
          description: "The sort_by value.",
        },
        date_posted: {
          type: "string",
          description: "The date_posted value.",
        },
        geocode: {
          type: "string",
          description: "The geocode value.",
        },
        company: {
          type: "string",
          description: "The company value.",
        },
        experience_level: {
          type: "string",
          description: "The experience_level value.",
        },
        remote: {
          type: "string",
          description: "The remote value.",
        },
        job_type: {
          type: "string",
          description: "The job_type value.",
        },
        easy_apply: {
          type: "string",
          enum: ["true", "false"],
          description: "The easy_apply value.",
        },
        has_verifications: {
          type: "string",
          enum: ["true", "false"],
          description: "The has_verifications value.",
        },
        under_10_applicants: {
          type: "string",
          enum: ["true", "false"],
          description: "The under_10_applicants value.",
        },
        fair_chance_employer: {
          type: "string",
          enum: ["true", "false"],
          description: "The fair_chance_employer value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search LinkedIn jobs by keyword and filters.",
      required: ["keyword"],
    },
    paginated: true,
  },
  {
    name: "resolve_linkedin_locations",
    operationId: "getLinkedinSearchLocations",
    description: "Resolve a free-text location into LinkedIn geocode tokens.",
    method: "GET",
    path: "/linkedin/search/locations",
    pathFields: [],
    queryFields: ["keyword"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        keyword: {
          type: "string",
          minLength: 1,
          description: "The keyword value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Resolve a free-text location into LinkedIn geocode tokens.",
      required: ["keyword"],
    },
    paginated: false,
  },
  {
    name: "search_linkedin_people",
    operationId: "getLinkedinSearchPeople",
    description: "Search LinkedIn people by name, title, company, etc.",
    method: "GET",
    path: "/linkedin/search/people",
    pathFields: [],
    queryFields: [
      "cursor",
      "name",
      "first_name",
      "last_name",
      "title",
      "company",
      "school",
      "geocode_location",
      "current_company",
      "profile_language",
      "industry",
      "service_category",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
        name: {
          type: "string",
          description: "The name value.",
        },
        first_name: {
          type: "string",
          description: "The first_name value.",
        },
        last_name: {
          type: "string",
          description: "The last_name value.",
        },
        title: {
          type: "string",
          description: "The title value.",
        },
        company: {
          type: "string",
          description: "The company value.",
        },
        school: {
          type: "string",
          description: "The school value.",
        },
        geocode_location: {
          type: "string",
          description: "The geocode_location value.",
        },
        current_company: {
          type: "string",
          description: "The current_company value.",
        },
        profile_language: {
          type: "string",
          description: "The profile_language value.",
        },
        industry: {
          type: "string",
          description: "The industry value.",
        },
        service_category: {
          type: "string",
          description: "The service_category value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search LinkedIn people by name, title, company, etc.",
    },
    paginated: true,
  },
  {
    name: "search_linkedin_posts",
    operationId: "getLinkedinSearchPosts",
    description: "Search LinkedIn posts by keyword.",
    method: "GET",
    path: "/linkedin/search/posts",
    pathFields: [],
    queryFields: ["cursor", "keyword", "date_posted", "sort_by", "from_member", "from_company", "content_type"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
        keyword: {
          type: "string",
          minLength: 1,
          description: "The keyword value.",
        },
        date_posted: {
          type: "string",
          description: "The date_posted value.",
        },
        sort_by: {
          type: "string",
          description: "The sort_by value.",
        },
        from_member: {
          type: "string",
          description: "The from_member value.",
        },
        from_company: {
          type: "string",
          description: "The from_company value.",
        },
        content_type: {
          type: "string",
          description: "The content_type value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search LinkedIn posts by keyword.",
      required: ["keyword"],
    },
    paginated: true,
  },
  {
    name: "search_linkedin_schools",
    operationId: "getLinkedinSearchSchools",
    description: "Search LinkedIn schools by keyword.",
    method: "GET",
    path: "/linkedin/search/schools",
    pathFields: [],
    queryFields: ["cursor", "keyword"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
        keyword: {
          type: "string",
          minLength: 1,
          description: "The keyword value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search LinkedIn schools by keyword.",
      required: ["keyword"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_user_about",
    operationId: "getLinkedinUsersByUsernameAbout",
    description: "Get a LinkedIn profile's 'about' metadata.",
    method: "GET",
    path: "/linkedin/users/{username}/about",
    pathFields: ["username"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn profile's 'about' metadata.",
      required: ["username"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_user_certifications",
    operationId: "getLinkedinUsersByUsernameCertifications",
    description: "List a LinkedIn user's certifications.",
    method: "GET",
    path: "/linkedin/users/{username}/certifications",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn user's certifications.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_comments",
    operationId: "getLinkedinUsersByUsernameComments",
    description: "List comments authored by a LinkedIn user.",
    method: "GET",
    path: "/linkedin/users/{username}/comments",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List comments authored by a LinkedIn user.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_user_contact",
    operationId: "getLinkedinUsersByUsernameContact",
    description: "Get a LinkedIn user's public contact info.",
    method: "GET",
    path: "/linkedin/users/{username}/contact",
    pathFields: ["username"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn user's public contact info.",
      required: ["username"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_user_educations",
    operationId: "getLinkedinUsersByUsernameEducations",
    description: "List a LinkedIn user's education.",
    method: "GET",
    path: "/linkedin/users/{username}/educations",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn user's education.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_experience",
    operationId: "getLinkedinUsersByUsernameExperience",
    description: "List a LinkedIn user's work experience.",
    method: "GET",
    path: "/linkedin/users/{username}/experience",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn user's work experience.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_user_follower_count",
    operationId: "getLinkedinUsersByUsernameFollowerCount",
    description: "Get a LinkedIn user's follower & connection counts.",
    method: "GET",
    path: "/linkedin/users/{username}/follower-count",
    pathFields: ["username"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn user's follower & connection counts.",
      required: ["username"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_user_honors",
    operationId: "getLinkedinUsersByUsernameHonors",
    description: "List a LinkedIn user's honors and awards.",
    method: "GET",
    path: "/linkedin/users/{username}/honors",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn user's honors and awards.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_images",
    operationId: "getLinkedinUsersByUsernameImages",
    description: "List image posts authored by a LinkedIn user.",
    method: "GET",
    path: "/linkedin/users/{username}/images",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List image posts authored by a LinkedIn user.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_interest_companies",
    operationId: "getLinkedinUsersByUsernameInterestsCompanies",
    description: "List companies a LinkedIn user follows.",
    method: "GET",
    path: "/linkedin/users/{username}/interests/companies",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List companies a LinkedIn user follows.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_interest_groups",
    operationId: "getLinkedinUsersByUsernameInterestsGroups",
    description: "List LinkedIn groups a user follows.",
    method: "GET",
    path: "/linkedin/users/{username}/interests/groups",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List LinkedIn groups a user follows.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_posts",
    operationId: "getLinkedinUsersByUsernamePosts",
    description: "List posts authored by a LinkedIn user.",
    method: "GET",
    path: "/linkedin/users/{username}/posts",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List posts authored by a LinkedIn user.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_publications",
    operationId: "getLinkedinUsersByUsernamePublications",
    description: "List a LinkedIn user's publications.",
    method: "GET",
    path: "/linkedin/users/{username}/publications",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn user's publications.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_reactions",
    operationId: "getLinkedinUsersByUsernameReactions",
    description: "List reactions a LinkedIn user has placed on posts.",
    method: "GET",
    path: "/linkedin/users/{username}/reactions",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List reactions a LinkedIn user has placed on posts.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_recommendations",
    operationId: "getLinkedinUsersByUsernameRecommendations",
    description: "List recommendations written for a LinkedIn user.",
    method: "GET",
    path: "/linkedin/users/{username}/recommendations",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List recommendations written for a LinkedIn user.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "get_linkedin_user",
    operationId: "getLinkedinUsersByUsername",
    description: "Get a LinkedIn user profile by URL slug.",
    method: "GET",
    path: "/linkedin/users/{username}",
    pathFields: ["username"],
    queryFields: [],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "LinkedIn URL slug, e.g. `williamhgates`",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get a LinkedIn user profile by URL slug.",
      required: ["username"],
    },
    paginated: false,
  },
  {
    name: "list_linkedin_user_skills",
    operationId: "getLinkedinUsersByUsernameSkills",
    description: "List a LinkedIn user's skills.",
    method: "GET",
    path: "/linkedin/users/{username}/skills",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn user's skills.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_videos",
    operationId: "getLinkedinUsersByUsernameVideos",
    description: "List video posts authored by a LinkedIn user.",
    method: "GET",
    path: "/linkedin/users/{username}/videos",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List video posts authored by a LinkedIn user.",
      required: ["username"],
    },
    paginated: true,
  },
  {
    name: "list_linkedin_user_volunteers",
    operationId: "getLinkedinUsersByUsernameVolunteers",
    description: "List a LinkedIn user's volunteer experience.",
    method: "GET",
    path: "/linkedin/users/{username}/volunteers",
    pathFields: ["username"],
    queryFields: ["cursor"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "The username value.",
        },
        cursor: {
          type: "string",
          description: "The cursor value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for List a LinkedIn user's volunteer experience.",
      required: ["username"],
    },
    paginated: true,
  },
];
