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

# Update a job

> Updates the job with the specified ID. You can update job status, title, description, and other job properties.



## OpenAPI

````yaml /api-reference/openapi.json put /vacancies/{id}
openapi: 3.1.0
info:
  title: Spott API Reference
  version: '0.1'
servers:
  - url: https://api.gospott.com
security: []
tags: []
paths:
  /vacancies/{id}:
    put:
      tags:
        - Jobs
      summary: Update a job
      description: >-
        Updates the job with the specified ID. You can update job status, title,
        description, and other job properties.
      operationId: updateVacancy
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVacancyDto'
      responses:
        '204':
          description: Job updated successfully
        '400':
          description: Bad request - missing or invalid required fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
        '401':
          description: Unauthorized - invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
        '404':
          description: Job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
        '500':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
      security:
        - x-api-key: []
components:
  schemas:
    UpdateVacancyDto:
      type: object
      properties:
        companyId:
          type: string
          minLength: 1
        description:
          anyOf:
            - type: string
            - type: 'null'
        employmentType:
          anyOf:
            - type: string
              enum:
                - fullTime
                - partTime
                - temporary
                - internship
                - permanent
                - fixedTermContract
                - interimOrTemporary
            - type: 'null'
        locationType:
          anyOf:
            - type: string
              enum:
                - remote
                - hybrid
                - onsite
            - type: 'null'
        restricted:
          type: boolean
        location:
          anyOf:
            - $ref: '#/components/schemas/CreateLocationDto'
            - type: 'null'
          deprecated: true
          description: >-
            Deprecated: use `locations` instead. A single physical location for
            the job. Ignored when `locations` is provided.
        locations:
          description: >-
            Physical locations for the job (0 to 15). Takes precedence over the
            deprecated `location` field. Omit to leave unchanged; send an empty
            array to clear all.
          maxItems: 15
          type: array
          items:
            $ref: '#/components/schemas/CreateLocationDto'
        salaryRange:
          anyOf:
            - $ref: '#/components/schemas/CreateVacancySalaryRangeDto'
            - type: 'null'
        startAt:
          anyOf:
            - $ref: '#/components/schemas/DateISO'
            - type: 'null'
        endAt:
          anyOf:
            - $ref: '#/components/schemas/DateISO'
            - type: 'null'
        teamUserIds:
          type: array
          items:
            type: string
            minLength: 1
        clientContactIds:
          type: array
          items:
            type: string
            minLength: 1
        stageId:
          type: string
          minLength: 1
        name:
          type: string
          minLength: 1
        scorecard:
          type: array
          items:
            $ref: '#/components/schemas/UpdateVacancyScorecardGroupDto'
        dealValue:
          anyOf:
            - type: object
              properties:
                amount:
                  type: number
                currency:
                  $ref: '#/components/schemas/DmSupportedCurrency'
              required:
                - amount
                - currency
            - type: 'null'
        targetCompanyId:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
      id: PrivateUpdateVacancyDto
    ExceptionBaseDto:
      type: object
      properties:
        status:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        message:
          type: string
        requestId:
          type: string
      required:
        - status
        - message
        - requestId
      id: ExceptionBaseDto
    CreateLocationDto:
      type: object
      properties:
        street1:
          anyOf:
            - type: string
            - type: 'null'
        street2:
          anyOf:
            - type: string
            - type: 'null'
        postalCode:
          anyOf:
            - type: string
            - type: 'null'
        city:
          anyOf:
            - type: string
            - type: 'null'
        region:
          anyOf:
            - type: string
            - type: 'null'
        state:
          anyOf:
            - type: string
            - type: 'null'
        country:
          anyOf:
            - type: string
            - type: 'null'
        latitude:
          anyOf:
            - type: number
            - type: 'null'
        longitude:
          anyOf:
            - type: number
            - type: 'null'
        type:
          anyOf:
            - $ref: '#/components/schemas/LocationType'
            - type: 'null'
      required:
        - street1
        - street2
        - postalCode
        - city
        - region
        - state
        - country
        - type
      id: PrivateCreateLocationDto
    CreateVacancySalaryRangeDto:
      type: object
      properties:
        min:
          anyOf:
            - type: number
            - type: 'null'
        max:
          anyOf:
            - type: number
            - type: 'null'
        currency:
          $ref: '#/components/schemas/DmCurrency'
      required:
        - min
        - max
        - currency
      id: PrivateCreateVacancySalaryRangeDto
    DateISO:
      id: DateISO
      format: date-time
      anyOf:
        - type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        - type: string
          format: date
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
    UpdateVacancyScorecardGroupDto:
      type: object
      properties:
        groupName:
          type: string
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/UpdateVacancyScorecardAttributeDto'
      required:
        - groupName
        - attributes
      id: PrivateUpdateVacancyScorecardGroupDto
    DmSupportedCurrency:
      type: string
      enum:
        - EUR
        - GBP
        - USD
        - ZAR
        - AUD
        - CHF
        - SAR
        - AED
        - EGP
        - HUF
        - RON
        - BGN
        - CZK
        - PLN
        - NOK
        - SEK
        - DKK
        - CAD
        - HKD
        - JPY
        - THB
        - CNY
        - INR
        - SGD
        - MYR
        - QAR
        - PHP
        - LKR
        - KWD
        - PKR
        - MOP
        - IDR
        - VND
        - KRW
        - MXN
        - BRL
        - ARS
        - NZD
        - TWD
        - ILS
        - TRY
        - RUB
        - MDL
        - MUR
        - OMR
      id: DmSupportedCurrency
    LocationType:
      type: string
      enum:
        - primary_home
        - secondary_home
        - primary_work
        - headquarters
        - regional_office
      id: LocationType
    DmCurrency:
      type: string
      enum:
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BRL
        - BSD
        - BTC
        - BTN
        - BWP
        - BYN
        - BZD
        - CAD
        - CDF
        - CHF
        - CLF
        - CLP
        - CNH
        - CNY
        - COP
        - CRC
        - CUC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ERN
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GGP
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HRK
        - HTG
        - HUF
        - IDR
        - ILS
        - IMP
        - INR
        - IQD
        - IRR
        - ISK
        - JEP
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KPW
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SDG
        - SEK
        - SGD
        - SHP
        - SLE
        - SLL
        - SOS
        - SRD
        - SSP
        - STD
        - STN
        - SVC
        - SYP
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - USD
        - UYU
        - UZS
        - VEF
        - VES
        - VND
        - VUV
        - WST
        - XAF
        - XAG
        - XAU
        - XCD
        - XCG
        - XDR
        - XOF
        - XPD
        - XPF
        - XPT
        - YER
        - ZAR
        - ZMW
        - ZWG
        - ZWL
      id: DmCurrency
    UpdateVacancyScorecardAttributeDto:
      type: object
      properties:
        attribute:
          type: string
      required:
        - attribute
      id: PrivateUpdateVacancyScorecardAttributeDto
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        API key for authentication. Get your API key from Settings → API Keys in
        your Spott dashboard.

````