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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.affinda.com/feedback

```json
{
  "path": "/api-reference/search-&-match/get-search-result-of-specific-job-description",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Get search result of specific job description

> This contains more detailed information about the matching score of the search criteria, or which search criteria is missing in this job description.
The `identifier` is the unique ID returned via the [/job_description_search](#post-/job_description_search) endpoint.



## OpenAPI

````yaml https://api.affinda.com/static/v3/api_spec.yaml post /v3/job_description_search/details/{identifier}
openapi: 3.0.3
info:
  description: >-
    # Introduction

    Affinda uses the latest advancements in AI technology to rapidly process
    documents with better-than-human accuracy.

    This guide covers how to:

    * Extract structured data from a range of document types

    * Integrate our solutions into your platform

    * Manage users


    *Note: This API spec is for v3 of the API, the deprecated v2 documentation
    [can be found here](https://api.affinda.com/docs/v2)*


    > **Important: Use the correct API URL for your region.** Affinda is hosted
    across multiple instances. Make sure you are sending requests to the correct
    URL for your account:

    > | Instance | API Base URL |

    > |----------|-------------|

    > | **AUS / Global** | `https://api.affinda.com` |

    > | **US** | `https://api.us1.affinda.com` |

    > | **EU** | `https://api.eu1.affinda.com` |

    >

    > You can determine your instance from the URL you use to access the Affinda
    web app (e.g. `app.us1.affinda.com` means you are on the US instance). When
    using the "Try it" feature, select the matching region from the server
    dropdown.

    # Getting Started

    * Obtain an API key by [signing up for a
    free-trial](https://app.affinda.com/auth/register)

    * (Recommended) Download and install one of our client libraries: *
    [Python](https://github.com/affinda/affinda-python) : `pip install affinda`
    * [Javascript](https://github.com/affinda/affinda-typescript) : `npm install
    @affinda/affinda` * [.NET](https://github.com/affinda/affinda-dotnet):
    `dotnet add package Affinda.API` *
    [Java](https://github.com/affinda/affinda-java) - [maven
    repository](https://mvnrepository.com/artifact/com.affinda.api/affinda-api-client)

    * Without a client library, API requests via HTTP according to the API spec
    in this documentation
  version: v3
  title: Affinda API
  contact:
    email: contact@affinda.com
  license:
    name: MIT
    url: https://raw.githubusercontent.com/affinda/affinda-api-spec/master/LICENSE
  x-logo:
    url: https://api.affinda.com/static/documentation/affinda_logo.png
    backgroundColor: '#FFFFFF'
    altText: Affinda logo
servers:
  - url: https://{region}.affinda.com
    description: >-
      Select the correct server for your instance: api (AUS/Global), api.us1
      (US), or api.eu1 (EU).
    variables:
      region:
        default: api
        description: >-
          The instance region. Use 'api' for AUS/Global, 'api.us1' for US, or
          'api.eu1' for EU. You can find your region in the Affinda web app URL.
        enum:
          - api
          - api.eu1
          - api.us1
        x-ms-parameter-location: client
security:
  - ApiKeyAuth: []
tags:
  - name: Documents
    description: >
      Operations to upload documents for parsing.


      A document can be uploaded using `file` or `url`, one of these parameters
      must be provided.


      A document can be uploaded to a `workspace` or a `collection`, one of
      these parameters must also be provided.


      When uploaded to a workspace, the document's specific type will be
      predicted and auto classified into one of the collections before being
      parsed.


      When uploaded to a collection, the document will be parsed using that
      collection's extractor.
  - name: Organizations
    description: |
      Operations to manage organizations and organization memberships.

      Organizations are the top-level entity for managing users and workspaces.
  - name: Workspaces
    description: |
      Operations to manage workspaces.

      Workspaces group together related collections of documents.
  - name: Document Types
    description: >
      Operations to manage document types.


      Document types represent specific categories of documents with common
      extraction patterns, such as invoices or resumes.
  - name: Data Sources
    description: >
      Operations to manage custom mapping data sources. These are used to map
      from raw data extracted by

      Affinda AI models onto your own data model.
  - name: Validation Results
    description: >
      Operations to manage validation results.


      Validation results track the status and outcomes of document validation
      processes.
  - name: Usage
    description: >
      Operations to retrieve credits consumption.


      Returns daily credits usage for an organization, optionally narrowed to a
      single

      workspace or document type.
  - name: Tags
    description: >
      Operations to manage tags.


      Tags can be arbitrarily attached to documents to help organize and manage
      them.
  - name: Annotations
    description: >
      Operations to manually create, update, delete annotations.


      Together with the data point endpoints, these helps to annotate your
      documents with arbitrary data,

      or to edit annotations that were created by the Affinda parser.
  - name: Webhooks
    description: >
      Manage webhook integrations with your apps.


      Affinda have implemented webhooks to allow the data extracted by Affinda
      to be 'pushed' to you when an event occurs

      (e.g. document parsed or document validated), instead of you having to
      constantly poll our API to 'pull' the data to your system.
  - name: Search & Match
    description: >
      Operations to search through an index of documents and manage indexes via
      the Affinda Resume Parser API or a client library.


      Resumes and job descriptions must be explicitly added to an index, which
      then makes them searchable.
  - name: Deprecated End Points
    description: >
      Deprecated endpoints that are maintained for backward compatibility.


      These endpoints include Data Point, Collection, and Users functionality
      that has been superseded by newer APIs.
  - name: Add x-hidden to endpoints
    description: >
      Hidden endpoints not intended for public use.


      These endpoints include Splitting, Extractor, Organization, and Workspace
      Memberships & Usage functionality.
paths:
  /v3/job_description_search/details/{identifier}:
    post:
      tags:
        - Search & Match
      summary: Get search result of specific job description
      description: >-
        This contains more detailed information about the matching score of the
        search criteria, or which search criteria is missing in this job
        description.

        The `identifier` is the unique ID returned via the
        [/job_description_search](#post-/job_description_search) endpoint.
      operationId: getJobDescriptionSearchDetail
      parameters:
        - in: path
          required: true
          name: identifier
          description: Job Description identifier
          schema:
            type: string
            example: ELgrnBbM
      requestBody:
        description: Search parameters
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobDescriptionSearchParameters'
      responses:
        '200':
          description: Successfully retrieved detail search result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobDescriptionSearchDetail'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        default:
          $ref: '#/components/responses/DefaultError'
components:
  schemas:
    JobDescriptionSearchParameters:
      type: object
      additionalProperties: false
      nullable: true
      required:
        - indices
      properties:
        indices:
          type: array
          example:
            - all-job-descriptions
          items:
            type: string
        resume:
          $ref: '#/components/schemas/Identifier'
          nullable: true
        jobTitles:
          type: array
          items:
            type: string
        jobTitlesRequired:
          type: boolean
        jobTitlesWeight:
          type: number
          minimum: 0
          maximum: 1
        totalYearsExperience:
          type: number
          nullable: true
        yearsExperienceRequired:
          type: boolean
        yearsExperienceWeight:
          type: number
          minimum: 0
          maximum: 1
        locations:
          type: array
          items:
            $ref: '#/components/schemas/ResumeSearchParametersLocation'
        locationsWeight:
          type: number
          minimum: 0
          maximum: 1
        locationsRequired:
          type: boolean
        skills:
          type: array
          items:
            $ref: '#/components/schemas/ResumeSearchParametersSkill'
        skillsWeight:
          type: number
          minimum: 0
          maximum: 1
        languages:
          type: array
          items:
            $ref: '#/components/schemas/ResumeSearchParametersSkill'
        languagesWeight:
          type: number
          minimum: 0
          maximum: 1
        degrees:
          type: array
          items:
            type: string
        degreesRequired:
          type: boolean
        degreeTypes:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/EducationLevel'
        degreeTypesRequired:
          type: boolean
        educationWeight:
          type: number
          minimum: 0
          maximum: 1
        searchExpression:
          type: string
          nullable: true
        searchExpressionRequired:
          type: boolean
        searchExpressionWeight:
          type: number
          minimum: 0
          maximum: 1
        socCodes:
          type: array
          items:
            type: integer
            minimum: 1
            maximum: 9999
        socCodesWeight:
          type: number
          minimum: 0
          maximum: 1
        socCodesRequired:
          type: boolean
        managementLevel:
          $ref: '#/components/schemas/ManagementLevel'
        managementLevelRequired:
          type: boolean
        managementLevelWeight:
          type: number
          minimum: 0
          maximum: 1
        customData:
          type: array
          items:
            $ref: '#/components/schemas/SearchParametersCustomData'
    JobDescriptionSearchDetail:
      type: object
      properties:
        jobTitle:
          type: object
          nullable: false
          properties:
            missing:
              type: array
              items:
                type: string
            value:
              type: object
              properties:
                name:
                  type: string
                  nullable: true
                  example: Javascript developer
                companyName:
                  type: string
                  nullable: true
                  example: Affinda
                match:
                  type: boolean
                  example: true
        location:
          type: object
          nullable: false
          properties:
            missing:
              type: array
              items:
                $ref: '#/components/schemas/ResumeSearchParametersLocation'
            value:
              type: object
              nullable: true
              allOf:
                - $ref: '#/components/schemas/Location'
                - type: object
                  properties:
                    match:
                      type: boolean
                      example: true
        education:
          type: object
          nullable: false
          properties:
            missing:
              type: object
              properties:
                degrees:
                  type: array
                  items:
                    type: string
                degreeTypes:
                  type: array
                  items:
                    type: string
            value:
              type: object
              properties:
                degrees:
                  type: array
                  items:
                    type: string
                degreeTypes:
                  type: array
                  items:
                    type: string
                match:
                  type: boolean
                  example: true
        skills:
          type: object
          nullable: false
          properties:
            missing:
              type: array
              items:
                $ref: '#/components/schemas/ResumeSearchParametersSkill'
            value:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    example: Java Programming Language
                  match:
                    type: boolean
                    example: true
        experience:
          type: object
          properties:
            minimumExperience:
              type: integer
              nullable: true
              minimum: 0
            maximumExperience:
              type: integer
              nullable: true
              minimum: 0
            match:
              type: boolean
              example: true
        occupationGroup:
          type: object
          nullable: false
          properties:
            missing:
              type: array
              items:
                type: integer
            value:
              type: object
              nullable: true
              allOf:
                - $ref: '#/components/schemas/OccupationGroupSearchResult'
        languages:
          type: object
          nullable: false
          properties:
            missing:
              type: array
              items:
                $ref: '#/components/schemas/ResumeSearchParametersSkill'
            value:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    example: English
                  match:
                    type: boolean
                    example: true
        managementLevel:
          type: object
          nullable: true
          properties:
            level:
              $ref: '#/components/schemas/ManagementLevel'
            match:
              type: boolean
              example: true
        searchExpression:
          type: object
          properties:
            missing:
              type: array
              items:
                type: string
            value:
              type: array
              items:
                type: string
    Identifier:
      type: string
      description: A random string that uniquely identify the resource.
    ResumeSearchParametersLocation:
      type: object
      properties:
        name:
          type: string
          default: ''
        coordinates:
          type: object
          nullable: true
          properties:
            latitude:
              type: number
              nullable: true
            longitude:
              type: number
              nullable: true
        distance:
          type: integer
          default: 100
          minimum: 1
        unit:
          type: string
          enum:
            - km
            - mi
          default: km
          x-ms-enum:
            name: searchLocationUnit
    ResumeSearchParametersSkill:
      type: object
      properties:
        name:
          type: string
        required:
          type: boolean
    EducationLevel:
      type: string
      example: bachelors
      nullable: true
      enum:
        - school
        - certificate
        - bachelors
        - masters
        - doctoral
      x-ms-enum:
        name: educationLevel
    ManagementLevel:
      type: string
      example: Low
      nullable: true
      enum:
        - None
        - Low
        - Mid
        - Upper
      x-ms-enum:
        name: managementLevel
    SearchParametersCustomData:
      type: object
      required:
        - filterType
        - query
      properties:
        filterType:
          type: string
          enum:
            - equals
            - range
          example: equals
          description: >-
            Data points of "text" type support only "equals" filterType, others
            support both "equals" and "range"
        dataPoint:
          type: string
          nullable: true
          example: isAvailable
          description: The data point's slug, used for portal v2 (deprecated)
          deprecated: true
        field:
          type: string
          nullable: true
          example: isAvailable
          description: The field's slug
        query:
          type: object
          example:
            value: true
          description: >-
            "equals" searches require the "value" key inside the query, and
            "range" searches require at least one of "gte" (greater than or
            equal) and "lte" (less than or equal)
        required:
          type: boolean
        weight:
          type: number
          minimum: 0
          maximum: 1
    Location:
      type: object
      nullable: true
      required:
        - rawInput
      properties:
        formatted:
          type: string
          nullable: true
          readOnly: true
          example: Blacksburg, VA, USA
        postalCode:
          type: string
          readOnly: true
          example: '3124'
          nullable: true
        state:
          type: string
          readOnly: true
          nullable: true
          example: Virginia
        stateCode:
          type: string
          nullable: true
          readOnly: true
          example: TX
        country:
          type: string
          readOnly: true
          nullable: true
          example: United States
        countryCode:
          type: string
          nullable: true
          readOnly: true
          example: US
          description: Two letter country code (ISO 3166-1 alpha-2)
        rawInput:
          type: string
          example: Blacksburg, VA
        streetNumber:
          type: string
          nullable: true
          readOnly: true
          example: '1'
        street:
          type: string
          nullable: true
          readOnly: true
          example: Smith St
        apartmentNumber:
          type: string
          nullable: true
          readOnly: true
          example: '12'
        city:
          type: string
          nullable: true
          readOnly: true
          example: Blacksburg
        latitude:
          type: number
          nullable: true
          readOnly: true
          example: '67.0124'
        longitude:
          type: number
          nullable: true
          readOnly: true
          example: '67.0124'
        poBox:
          type: string
          nullable: true
          readOnly: true
          example: P.O. Box 123
    OccupationGroupSearchResult:
      type: object
      additionalProperties: false
      required:
        - code
        - name
      properties:
        match:
          type: boolean
          example: true
        code:
          type: integer
        name:
          type: string
        children:
          type: array
          items:
            $ref: '#/components/schemas/OccupationGroup'
        parents:
          type: array
          items:
            $ref: '#/components/schemas/OccupationGroup'
    RequestError:
      type: object
      additionalProperties: false
      required:
        - type
        - errors
      properties:
        type:
          type: string
          example: validation_error
        errors:
          type: array
          items:
            type: object
            required:
              - attr
              - code
              - detail
            properties:
              attr:
                type: string
                nullable: true
                example: non_field_errors
              code:
                type: string
                example: unique
              detail:
                type: string
                example: This index name has already been used
    OccupationGroup:
      type: object
      additionalProperties: false
      required:
        - code
        - name
        - children
      properties:
        code:
          type: integer
        name:
          type: string
        children:
          type: array
          items:
            $ref: '#/components/schemas/OccupationGroup'
  responses:
    400Error:
      description: >-
        Bad request. If it is a validation error will contain a list of each
        invalid field
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestError'
      x-ms-error-response: true
    401Error:
      description: Authorisation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestError'
      x-ms-error-response: true
    DefaultError:
      description: UnexpectedError
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RequestError'
      x-ms-error-response: true
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: >-
        Basic authentication using an API key, e.g. `{Authorization: Bearer
        aff_0bb4fbdf97b7e4111ff6c0015471094155f91}`.

        You can find your API key within the Settings page of the [Affinda web
        app](https://app.affinda.com/). You can obtain an API key by [signing up
        for a free trial](https://app.affinda.com/auth/register).

````