> ## Documentation Index
> Fetch the complete documentation index at: https://docs.api.tamtam.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Score job titles at a company

> Return the Lead Score of each job title as held at the given company: how well the role fits the account's buyer archetypes, 0-100, with the company's size band deciding which variant of the archetype applies.

Nothing here names a Tamtam contact. Pass what a row of your own file holds — the title, optionally the person's name, and the LinkedIn ID of the company — and read the score back on the same row, in the same order, with your `custom` map echoed.

The company must be one Tamtam holds. Resolve a company name with `POST /v2/companies/search` first; a company we do not hold is answered with `error: company_unknown` on that row while the rest score. When the company cannot be resolved at all, use `POST /v2/lead-scores/title-only`.

Answers **422** with detail `lead_score_config_in_progress` while the account's archetypes are still being generated (retry in a minute), or `lead_score_not_configured` when they cannot be.

Free.



## OpenAPI

````yaml /reference/openapi.yaml post /v2/lead-scores/at-company
openapi: 3.1.0
info:
  title: Tamtam Public API
  version: 2.0.0
servers:
  - url: https://api.tamtam.ai/api
security: []
paths:
  /v2/lead-scores/at-company:
    post:
      tags:
        - Lead Score
      summary: Score job titles at a company
      description: >-
        Return the Lead Score of each job title as held at the given company:
        how well the role fits the account's buyer archetypes, 0-100, with the
        company's size band deciding which variant of the archetype applies.


        Nothing here names a Tamtam contact. Pass what a row of your own file
        holds — the title, optionally the person's name, and the LinkedIn ID of
        the company — and read the score back on the same row, in the same
        order, with your `custom` map echoed.


        The company must be one Tamtam holds. Resolve a company name with `POST
        /v2/companies/search` first; a company we do not hold is answered with
        `error: company_unknown` on that row while the rest score. When the
        company cannot be resolved at all, use `POST
        /v2/lead-scores/title-only`.


        Answers **422** with detail `lead_score_config_in_progress` while the
        account's archetypes are still being generated (retry in a minute), or
        `lead_score_not_configured` when they cannot be.


        Free.
      operationId: score-titles-at-company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScoreTitlesAtCompanyInputBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeadScoresOutputBody'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
        - apikeyAuth: []
        - bearerAuth: []
components:
  schemas:
    ScoreTitlesAtCompanyInputBody:
      additionalProperties: false
      properties:
        candidates:
          description: Rows to score, at most 50 per call.
          items:
            $ref: '#/components/schemas/ScoreTitleAtCompanyCandidateDto'
          maxItems: 50
          minItems: 1
          type:
            - array
            - 'null'
      required:
        - candidates
      type: object
    LeadScoresOutputBody:
      additionalProperties: false
      properties:
        scores:
          description: One entry per request row, in the same order.
          items:
            $ref: '#/components/schemas/LeadScoreItemDto'
          type:
            - array
            - 'null'
      required:
        - scores
      type: object
    ErrorModel:
      additionalProperties: false
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    ScoreTitleAtCompanyCandidateDto:
      additionalProperties: false
      properties:
        company_linkedin_id:
          description: >-
            LinkedIn numeric ID of the company the title is held at. Resolve a
            name with POST /v2/companies/search first. Must be a company Tamtam
            holds; one it does not is answered with error company_unknown, and
            POST /v2/companies-lists/{listID} brings a new one in.
          examples:
            - '1441'
          minLength: 1
          type: string
        custom:
          additionalProperties:
            type: string
          description: Custom key-value pairs echoed back on the result, e.g. your row id.
          type: object
        full_name:
          description: >-
            The person's name, when known. Helps the classifier read an
            ambiguous title; never required.
          examples:
            - Jane Doe
          type: string
        job_title:
          description: The job title to score, as written. Any language.
          examples:
            - VP Sales
          minLength: 1
          type: string
      required:
        - job_title
        - company_linkedin_id
      type: object
    LeadScoreItemDto:
      additionalProperties: false
      properties:
        archetype_title:
          description: >-
            The archetype the title matched. Absent when the score is 0 or
            absent.
          examples:
            - Head of Sales
          type: string
        company_context:
          description: >-
            true when the score was computed at a known company: the classifier
            saw its size and industry, and the score is the archetype's variant
            for that size band. false when scored on the title alone, in which
            case the score is the archetype's best case across size bands.
          type: boolean
        custom:
          additionalProperties:
            type: string
          description: The custom map from the request row, echoed back.
          type: object
        error:
          description: >-
            Why the row was not scored: company_unknown (Tamtam does not hold
            the company), not_evaluated (the classification call failed; retry
            later). Absent when scored.
          examples:
            - company_unknown
          type: string
        reason:
          description: >-
            The classifier's one-sentence rationale, for a match or for a
            no-match.
          examples:
            - Leads the sales function; VP-level title.
          type: string
        score:
          description: >-
            Buyer-fit score, 0-100, against the account's archetypes. 0 means
            the title was evaluated and matches no archetype. Absent when it was
            not evaluated; see error.
          examples:
            - 85
          format: int64
          maximum: 100
          minimum: 0
          type: integer
      required:
        - company_context
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    apikeyAuth:
      description: Account API key passed in the Authorization header
      in: header
      name: Authorization
      type: apiKey
    bearerAuth:
      description: Bearer JWT obtained via the OAuth 2.1 authorization flow
      scheme: bearer
      type: http

````