> ## 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/resume-parser/update-a-resumes-data",
  "feedback": "Description of the issue"
}
```

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

</AgentInstructions>

# Update a resume's data

> Update data of a parsed resume.
The `identifier` is the unique ID returned after POST-ing the resume via the [/resumes](#post-/resumes) endpoint.



## OpenAPI

````yaml https://api.affinda.com/static/v2/api_spec.yaml patch /v2/resumes/{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 the deprecated v2 of the API, the v3
    documentation [can be found here](https://api.affinda.com/docs/v3)*


    > **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: v2
  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: Invoice Extractor
    description: >-
      Operations to perform on parsed invoices via the Affinda Invoice Extractor
      API or a client library
  - name: Resume Parser
    description: >-
      Operations to perform on parsed resumes via the Affinda Resume Parser API
      or a client library
  - name: Job Description Parser
    description: >-
      Operations to perform on job descriptions via the Affinda Job Description
      API or a client library
  - name: Search & Match - Indexing
    description: >
      Operations to create and manage indexes and to add new documents to these
      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 (see Search & Match – Searching).
  - name: Search & Match - Searching
    description: >-
      Operations to search through an index of documents via the Affinda Resume
      Parser API or a client library.
  - name: Search & Match - Embedding
    description: Operations to fetch and configure the embeddable search tool.
  - name: Resume Search
    description: >
      Operations to search parsed resumes via the Affinda Resume Parser API or a
      client library.


      Resumes must be explicitly added to an index, which then makes them
      searchable with the below endpoint.
  - name: Resume Redactor
    description: >-
      Operations to perform on redacted resumes via the Affinda Resume Parser
      API or a client library
  - name: Users
    description: >
      Operations to manage users that are part of an account.


      For example, you may want to implement different settings

      for different users in your platform.  You can use these endpoints to
      generate new user accounts, and the usage

      for these accounts will be deducted from your master account.


      If you would like these user accounts to be able to login at
      https://app.affinda.com/, they will need to

      go to https://app.affinda.com/ and reset their password using the email
      used to create their account.
  - name: Documents API
    description: Placeholder
  - name: Webhook API
    description: Manage webhook integrations with your apps.
paths:
  /v2/resumes/{identifier}:
    patch:
      tags:
        - Resume Parser
      summary: Update a resume's data
      description: >-
        Update data of a parsed resume.

        The `identifier` is the unique ID returned after POST-ing the resume via
        the [/resumes](#post-/resumes) endpoint.
      operationId: updateResumeData
      parameters:
        - in: path
          required: true
          name: identifier
          description: Resume identifier
          schema:
            $ref: '#/components/schemas/Identifier'
      requestBody:
        description: Resume data to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeData'
      responses:
        '200':
          description: Successfully updated resume data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeData'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        default:
          $ref: '#/components/responses/DefaultError'
components:
  schemas:
    Identifier:
      type: string
      description: A random string that uniquely identify the resource.
    ResumeData:
      type: object
      additionalProperties:
        anyOf:
          - type: string
            nullable: true
          - type: integer
            nullable: true
          - type: number
            nullable: true
          - type: boolean
            nullable: true
          - type: array
            items: {}
            description: >-
              For fields with multiple entries, use lists. E.g. 'multipleField':
              ['entry1', 'entry2']
            nullable: true
        description: 'For custom fields. E.g. ''isAvailable'': true'
        not:
          type: object
      nullable: true
      description: A JSON-encoded string of the `ResumeData` object.
      properties:
        name:
          type: object
          nullable: true
          additionalProperties: false
          properties:
            raw:
              type: string
              example: Tim A. Smith
            first:
              type: string
              example: Tim
            last:
              type: string
              example: Smith
            middle:
              type: string
              example: A.
            title:
              type: string
              example: Dr
        phoneNumbers:
          type: array
          items:
            type: string
          example:
            - (704) 996-9966
            - '+61412632636'
        phoneNumberDetails:
          type: array
          items:
            type: object
            properties:
              rawText:
                type: string
                nullable: false
                example: '+61412632636'
              formattedNumber:
                type: string
                nullable: true
                example: +61 412 632 636
              countryCode:
                type: string
                nullable: true
                example: AU
              internationalCountryCode:
                type: integer
                nullable: true
                example: 61
                minimum: 1
              nationalNumber:
                type: string
                nullable: true
                example: 0412 632 636
        websites:
          type: array
          items:
            type: string
          example:
            - www.timsmith.com
        emails:
          type: array
          items:
            type: string
            format: email
          example:
            - timsmith@vt.edu
        dateOfBirth:
          type: string
          example: '1992-01-01'
          nullable: true
        location:
          $ref: '#/components/schemas/Location'
        objective:
          type: string
          default: ''
          nullable: true
        languages:
          type: array
          items:
            type: string
            enum:
              - Ainu
              - Akan
              - Akkadian
              - Amharic
              - Anam
              - Arabic
              - Aramaic
              - Arem
              - Armenian
              - Awadhi
              - Aymara
              - Azari
              - Bagheli
              - Bagri
              - Bahasa
              - Bahasa Indonesian
              - Bambara
              - Bangala
              - Bardi
              - Bassa
              - Batak
              - Belarusian
              - Bemba
              - Benga
              - Bengali
              - Berber
              - Bhojpuri
              - Bislama
              - Brahui
              - Bulgarian
              - Bunu
              - Cambodian
              - Carew
              - Carib
              - Catalan
              - Cebuano
              - Chakma
              - Chamorro
              - Chango
              - Chewa
              - Croatian
              - Czech
              - Dagbani
              - Danish
              - Dari
              - Dayi
              - Dhatki
              - Dhivehi
              - Dinka
              - Dogri
              - Duala
              - Dutch
              - English
              - Esperanto
              - Estonian
              - Ewondo
              - Faroese
              - Filipino
              - Finnish
              - Formula
              - French
              - Frisian
              - Friulian
              - Fula
              - Gaelic
              - Galo
              - Garhwali
              - Garifuna
              - German
              - Gikuyu
              - Gujarati
              - Gujerati
              - Gwere
              - Hawaiian
              - Haya
              - Hebrew
              - Hindi
              - Hmu
              - Hokkien
              - Hopi
              - Hungarian
              - Hup
              - Ibanag
              - Igbo
              - Ilokano
              - Indonesian
              - Intermediate
              - Irish
              - Italian
              - Japanese
              - Jiba
              - Kachin
              - Kalenjin
              - Kamayo
              - Kannada
              - Kaonde
              - Kayan
              - Khandeshi
              - Khmer
              - Kikuyu
              - Kodava
              - Koma
              - Kongo
              - Konkani
              - Korean
              - Korwa
              - Kreyol
              - Krio
              - Kumaoni
              - Kurdish
              - Kurukh
              - Kwa
              - Ladino
              - Lango
              - Latvian
              - Lawa
              - Lingala
              - Lithuanian
              - Lule
              - Luxembourgish
              - Magahi
              - Maithili
              - Malay
              - Malayalam
              - Malaysian
              - Malvi
              - Maninka
              - Manipuri
              - Manx
              - Marathi
              - Mayan
              - Medumba
              - Memoni
              - Mewari
              - Mizo
              - Montenegrin
              - Mwan
              - Mwanga
              - Ndebele
              - Nepali
              - Nimadi
              - Oriya
              - Oromo
              - Ovambo
              - Pamona
              - Pangasinan
              - Pashto
              - Phoenician
              - Polish
              - Portuguese
              - Pulaar
              - Pular
              - Punjabi
              - Quecha
              - Rajasthani
              - Romanian
              - Russian
              - Sakha
              - Sango
              - Santhali
              - Saraiki
              - Seim
              - Shading
              - Shama
              - Shan
              - Shona
              - Silesian
              - Sindhi
              - Slovak
              - Slovene
              - Soga
              - Sogdian
              - Sotho
              - Spanish
              - Sudanese
              - Sumerian
              - Surajpuri
              - Surigaonon
              - Swati
              - Swazi
              - Swedish
              - Tagalog
              - Tamil
              - Tausug
              - Telugu
              - Tetum
              - Tharu
              - Tibetan
              - Tigrinya
              - Tripuri
              - Tswana
              - Tulu
              - Turkish
              - Tuwali
              - Ubi
              - Ukrainian
              - Urdu
              - Veps
              - Vietnamese
              - Wagdi
              - Waziri
              - Xhosa
              - Yiddish
              - Yoruba
          example:
            - English
            - French
            - Arabic
        languageCodes:
          type: array
          items:
            type: string
          readOnly: true
          example:
            - en
            - fr
            - ar
        summary:
          type: string
          default: ''
          nullable: true
        totalYearsExperience:
          type: integer
          example: 13
          nullable: true
          minimum: 0
        headShot:
          type: string
          format: byte
          nullable: true
          readOnly: true
          description: base64 encoded string
        education:
          type: array
          items:
            $ref: '#/components/schemas/Education'
        profession:
          type: string
          example: Software Developer
          description: >-
            Prediction of the candidate's profession based on recent work
            experience
          nullable: true
          readOnly: true
        linkedin:
          type: string
          example: https://www.linkedin.com/in/user-name
          description: Linkedin account associated with the candidate
          nullable: true
          readOnly: true
        workExperience:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              id:
                type: integer
                nullable: false
                minimum: 1
              jobTitle:
                type: string
                nullable: true
                example: Sales and retail assistants
              socCode:
                type: string
                nullable: true
                readOnly: true
                example: '7111'
              socName:
                type: string
                nullable: true
                readOnly: true
                example: Sales and retail assistants
              organization:
                type: string
                nullable: true
                example: General Motors
              industry:
                type: string
                nullable: true
                readOnly: true
                example: Automotive
              location:
                $ref: '#/components/schemas/Location'
              jobDescription:
                type: string
                nullable: true
                example: >-
                  Interned with supercar Development from May 2017 to August
                  2017.
              dates:
                type: object
                additionalProperties: false
                nullable: true
                properties:
                  startDate:
                    type: string
                    format: date
                    nullable: true
                    example: '2018-05-01'
                  endDate:
                    type: string
                    format: date
                    nullable: true
                    example: '2018-08-01'
                  monthsInPosition:
                    type: integer
                    nullable: true
                    minimum: 0
                  isCurrent:
                    type: boolean
                  rawText:
                    type: string
                    example: May-Aug '18
              occupation:
                type: object
                additionalProperties: false
                nullable: false
                readOnly: true
                properties:
                  jobTitle:
                    type: string
                    nullable: true
                    example: Sr. Software Developer
                    description: >-
                      The raw (not normalized) job title pulled from the work
                      experience entry
                  jobTitleNormalized:
                    type: string
                    example: Software Developer
                    nullable: true
                    description: >-
                      Mapped onto the EMSI job title taxonomy if a sufficiently
                      close match exists.
                  emsiId:
                    type: string
                    nullable: true
                    example: ETE2AD3A1C11B4EC9B
                    description: EMSI id of the normalised job title.
                  managementLevel:
                    $ref: '#/components/schemas/ManagementLevel'
                  classification:
                    type: object
                    additionalProperties: false
                    nullable: true
                    properties:
                      title:
                        type: string
                        example: Book-keepers, payroll managers and wages clerks
                        description: SOC2020 classification for this job title
                      minorGroup:
                        type: string
                        example: 'Administrative Occupations: Finance'
                        description: SOC2020 minor group
                      subMajorGroup:
                        type: string
                        example: ADMINISTRATIVE OCCUPATIONS
                        description: SOC2020 sub major group
                      majorGroup:
                        type: string
                        example: ADMINISTRATIVE AND SECRETARIAL OCCUPATIONS
                        description: SOC2020 major group
                      socCode:
                        type: integer
                        example: 4122
                        minimum: 1
                        maximum: 9999
                        description: >-
                          The 4 digit code representing the SOC2020
                          classification for this job title
                      minorGroupCode:
                        type: integer
                        example: 4122
                        minimum: 1
                        maximum: 9999
                        description: >-
                          The 4 digit code representing the SOC2020
                          classification for this job title
                      subMajorGroupCode:
                        type: integer
                        example: 4122
                        minimum: 1
                        maximum: 9999
                        description: >-
                          The 4 digit code representing the SOC2020
                          classification for this job title
                      majorGroupCode:
                        type: integer
                        example: 4122
                        minimum: 1
                        maximum: 9999
                        description: >-
                          The 4 digit code representing the SOC2020
                          classification for this job title
        skills:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              id:
                type: integer
                nullable: false
                minimum: 1
              emsiId:
                type: string
                nullable: true
                readOnly: true
                example: KS1218W78FGVPVP2KXPX
                description: EMSI id of this skill.
              name:
                type: string
                example: Applied Mechanics
              lastUsed:
                nullable: true
                type: string
                example: '2012-01-01'
              numberOfMonths:
                type: integer
                nullable: true
                example: 12
                minimum: 0
              type:
                type: string
                readOnly: true
                example: hard_skill
              count:
                type: integer
                nullable: true
                readOnly: true
                example: 10
                minimum: 0
              weighting:
                type: number
                nullable: true
                readOnly: true
                example: 0.057699221573302296
              sources:
                type: array
                readOnly: true
                items:
                  type: object
                  additionalProperties: false
                  properties:
                    section:
                      type: string
                      example: WorkExperience
                    position:
                      type: integer
                      nullable: true
                      example: 0
                      minimum: 0
                      description: >-
                        If this skill is extracted from a "workExperience"
                        section, the "position" is the index of the work
                        experience where this skill is found, with 0 being the
                        first work experience, 1 being the second work
                        experience, and so on.
                    workExperienceId:
                      type: integer
                      nullable: true
                      example: 1234
                      minimum: 1
                      description: >-
                        If this skill is extracted from a "workExperience"
                        section, the "workExperienceId" is the id of the work
                        experience where this skill is found.
        certifications:
          type: array
          items:
            type: string
          example:
            - Certificate in AWS
        publications:
          type: array
          items:
            type: string
          example:
            - >-
              Tim Smith et al., Investigations of nanoparticles in the pathology
              of the human eye, Cell 2014
        referees:
          type: array
          items:
            type: object
            additionalProperties: true
            properties:
              name:
                type: string
                example: Stephen Smith
                nullable: true
              text:
                type: string
                example: >-
                  Stephen Smith, Team Member/Mentor, Company Power Generation:
                  stephen.smith@company.com
              email:
                type: string
                format: email
                example: stephen.smith@company.com
                nullable: true
              number:
                type: string
                example: '+61490667215'
                nullable: true
              position:
                type: string
                nullable: true
                example: Principal
        sections:
          type: array
          readOnly: true
          items:
            type: object
            additionalProperties: false
            properties:
              sectionType:
                type: string
                example: PersonalDetails
              bbox:
                type: array
                items:
                  type: number
                example:
                  - 0
                  - 36.392
                  - 612
                  - 111.056
                minItems: 4
                maxItems: 4
              pageIndex:
                type: integer
                minimum: 0
                example: 0
              text:
                type: string
                example: <All text from the {sectionType} section>
        isResumeProbability:
          type: integer
          readOnly: true
          nullable: true
          example: 98
          minimum: 0
          maximum: 100
          description: >-
            Probability that the given document is a resume. Values below 30
            suggest that the document is not a resume.
        rawText:
          type: string
          example: Christopher Nolan 3210 fake street '... <rest of resume text>'
          description: >-
            All of the raw text of the parsed resume, example is shortened for
            readability
        redactedText:
          type: string
          example: '**** Objective: To obtain a job ''... <rest of resume text>'''
          description: Redacted version of the text in the resume, removing PII.
    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
    Education:
      type: object
      properties:
        id:
          type: integer
          nullable: false
          minimum: 1
        organization:
          type: string
          nullable: true
          example: Virginia Polytechnic Institute and State University (Virginia Tech)
        accreditation:
          $ref: '#/components/schemas/Accreditation'
        grade:
          type: object
          additionalProperties: true
          nullable: true
          properties:
            raw:
              type: string
              example: 'GPA : 3.35'
            metric:
              type: string
              example: GPA
              nullable: true
            value:
              type: string
              example: '3.35'
        location:
          $ref: '#/components/schemas/Location'
        dates:
          type: object
          nullable: true
          additionalProperties: false
          properties:
            completionDate:
              type: string
              format: date
              example: '2021-05-01'
            isCurrent:
              type: boolean
            startDate:
              type: string
              format: date
              nullable: true
              example: '2019-05-01'
            rawText:
              type: string
              example: May-Aug '18
    ManagementLevel:
      type: string
      example: Low
      nullable: true
      enum:
        - None
        - Low
        - Mid
        - Upper
      x-ms-enum:
        name: managementLevel
    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
    Accreditation:
      type: object
      nullable: true
      additionalProperties: false
      properties:
        education:
          type: string
          example: Bachelor of Science
        inputStr:
          type: string
          readOnly: true
          example: Bachelor of Science, Mechanical Engineering, expected
        matchStr:
          type: string
          nullable: true
          readOnly: true
          example: Bachelor of Science
        educationLevel:
          type: string
          nullable: true
          readOnly: true
          example: bachelors
  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
        75z0bb4fbdf97b7e4111ff6c0015471094155f91}`.

        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).

````