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

# Correct saved offer terms

> Replaces a saved offer's terms. `expected` is the copy being corrected; a change made elsewhere since then is a conflict.



## OpenAPI

````yaml /spec.json patch /career/offers/{id}
openapi: 3.1.1
info:
  title: Reactive Resume
  version: 6.0.10
  description: >-
    Reactive Resume API. Mutations do not support Idempotency-Key. Do not
    automatically retry POST, PUT, PATCH or DELETE requests after a timeout:
    first read the resource to determine whether the operation succeeded.
    Existing enum values and response shapes are retained for compatibility.
  license:
    name: MIT
    url: https://github.com/reactive-resume/reactive-resume/blob/main/LICENSE
  contact:
    name: Amruth Pillai
    email: amruth@rxresu.me
    url: https://amruthpillai.com
servers:
  - url: https://rxresu.me/api/openapi
security:
  - apiKey: []
  - bearerAuth: []
  - cookieAuth: []
externalDocs:
  url: https://docs.rxresu.me
  description: Reactive Resume Documentation
paths:
  /career/offers/{id}:
    patch:
      tags:
        - Career
      summary: Correct saved offer terms
      description: >-
        Replaces a saved offer's terms. `expected` is the copy being corrected;
        a change made elsewhere since then is a conflict.
      operationId: updateCareerOffer
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                terms:
                  type: object
                  properties:
                    version:
                      enum:
                        - written
                        - verbal
                      type: string
                      default: written
                    currency:
                      type: string
                      pattern: ^[A-Z]{3}$
                    period:
                      enum:
                        - hour
                        - month
                        - year
                      type: string
                    base:
                      anyOf:
                        - type: number
                          minimum: 0
                        - type: 'null'
                    variable:
                      anyOf:
                        - type: number
                          minimum: 0
                        - type: 'null'
                    variableConditions:
                      type: string
                      maxLength: 1000
                      default: ''
                    equity:
                      type: string
                      maxLength: 1000
                      default: ''
                    location:
                      type: string
                      maxLength: 500
                      default: ''
                    officeDays:
                      anyOf:
                        - type: integer
                          minimum: 0
                          maximum: 5
                        - type: 'null'
                      default: null
                    leave:
                      type: string
                      maxLength: 500
                      default: ''
                    learning:
                      anyOf:
                        - type: number
                          minimum: 0
                        - type: 'null'
                      default: null
                    other:
                      type: string
                      maxLength: 1000
                      default: ''
                    respondBy:
                      anyOf:
                        - type: string
                          format: date-time
                        - type: 'null'
                      default: null
                  required:
                    - currency
                    - period
                    - base
                    - variable
                expected:
                  type: object
                  properties:
                    version:
                      enum:
                        - written
                        - verbal
                      type: string
                      default: written
                    currency:
                      type: string
                      pattern: ^[A-Z]{3}$
                    period:
                      enum:
                        - hour
                        - month
                        - year
                      type: string
                    base:
                      anyOf:
                        - type: number
                          minimum: 0
                        - type: 'null'
                    variable:
                      anyOf:
                        - type: number
                          minimum: 0
                        - type: 'null'
                    variableConditions:
                      type: string
                      maxLength: 1000
                      default: ''
                    equity:
                      type: string
                      maxLength: 1000
                      default: ''
                    location:
                      type: string
                      maxLength: 500
                      default: ''
                    officeDays:
                      anyOf:
                        - type: integer
                          minimum: 0
                          maximum: 5
                        - type: 'null'
                      default: null
                    leave:
                      type: string
                      maxLength: 500
                      default: ''
                    learning:
                      anyOf:
                        - type: number
                          minimum: 0
                        - type: 'null'
                      default: null
                    other:
                      type: string
                      maxLength: 1000
                      default: ''
                    respondBy:
                      anyOf:
                        - type: string
                          format: date-time
                        - type: 'null'
                      default: null
                  required:
                    - currency
                    - period
                    - base
                    - variable
              required:
                - terms
                - expected
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  userId:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
                    x-native-type: date
                  updatedAt:
                    type: string
                    format: date-time
                    x-native-type: date
                  applicationId:
                    anyOf:
                      - type: string
                      - type: 'null'
                  interviewId:
                    anyOf:
                      - type: string
                      - type: 'null'
                  title:
                    type: string
                  data:
                    anyOf:
                      - type: object
                        properties:
                          kind:
                            const: fit
                          headline:
                            type: string
                            maxLength: 200
                          summary:
                            type: string
                            maxLength: 600
                          requirements:
                            type: array
                            maxItems: 20
                            items:
                              type: object
                              properties:
                                text:
                                  type: string
                                  maxLength: 300
                                origin:
                                  enum:
                                    - posting
                                    - inferred
                                  type: string
                                status:
                                  enum:
                                    - supported
                                    - partial
                                    - missing
                                  type: string
                                evidence:
                                  type: string
                                  maxLength: 600
                                factIds:
                                  type: array
                                  maxItems: 10
                                  items:
                                    type: string
                                  default: []
                              required:
                                - text
                                - origin
                                - status
                                - evidence
                          checks:
                            type: array
                            maxItems: 5
                            items:
                              type: object
                              properties:
                                label:
                                  type: string
                                  maxLength: 60
                                met:
                                  anyOf:
                                    - type: boolean
                                    - type: 'null'
                                text:
                                  type: string
                                  maxLength: 300
                              required:
                                - label
                                - met
                                - text
                          ask:
                            anyOf:
                              - type: object
                                properties:
                                  person:
                                    type: string
                                    maxLength: 100
                                  text:
                                    type: string
                                    maxLength: 400
                                required:
                                  - person
                                  - text
                              - type: 'null'
                        required:
                          - kind
                          - headline
                          - summary
                          - requirements
                          - checks
                          - ask
                      - type: object
                        properties:
                          kind:
                            const: briefing
                          headline:
                            type: string
                            maxLength: 200
                          summary:
                            type: string
                            maxLength: 300
                          plan:
                            type: array
                            maxItems: 8
                            items:
                              type: object
                              properties:
                                minutes:
                                  type: integer
                                  minimum: 1
                                  maximum: 60
                                title:
                                  type: string
                                  maxLength: 120
                                detail:
                                  type: string
                                  maxLength: 400
                                action:
                                  enum:
                                    - story
                                    - draft-story
                                    - questions
                                    - practise
                                    - none
                                  type: string
                                storyId:
                                  anyOf:
                                    - type: string
                                    - type: 'null'
                                  default: null
                              required:
                                - minutes
                                - title
                                - detail
                                - action
                          questions:
                            type: array
                            maxItems: 8
                            items:
                              type: object
                              properties:
                                text:
                                  type: string
                                  maxLength: 400
                                origin:
                                  type: string
                                  maxLength: 60
                              required:
                                - text
                                - origin
                          focus:
                            type: string
                            maxLength: 500
                          opening:
                            type: string
                            maxLength: 600
                          stories:
                            type: array
                            maxItems: 3
                            items:
                              type: string
                              maxLength: 300
                          honesty:
                            type: string
                            maxLength: 400
                          storyIds:
                            type: array
                            maxItems: 5
                            items:
                              type: string
                            default: []
                          missingStory:
                            anyOf:
                              - type: string
                                maxLength: 300
                              - type: 'null'
                            default: null
                          practiceQuestions:
                            type: array
                            maxItems: 5
                            items:
                              type: string
                              maxLength: 300
                            default: []
                        required:
                          - kind
                          - headline
                          - summary
                          - plan
                          - questions
                          - focus
                          - opening
                          - stories
                          - honesty
                      - type: object
                        properties:
                          kind:
                            const: practice
                          question:
                            type: string
                            maxLength: 500
                          origin:
                            enum:
                              - simulated
                              - recalled
                            type: string
                          mode:
                            enum:
                              - typed
                              - spoken
                            type: string
                          answer:
                            type: string
                            maxLength: 6000
                          title:
                            type: string
                            maxLength: 200
                          works:
                            type: string
                            maxLength: 500
                          strengthen:
                            type: string
                            maxLength: 500
                          opening:
                            type: string
                            maxLength: 800
                          note:
                            type: string
                            maxLength: 60
                        required:
                          - kind
                          - question
                          - origin
                          - mode
                          - answer
                          - title
                          - works
                          - strengthen
                          - opening
                          - note
                      - type: object
                        properties:
                          kind:
                            const: debrief
                          round:
                            type: string
                            maxLength: 100
                          question:
                            type: string
                            maxLength: 500
                          answer:
                            type: string
                            maxLength: 6000
                          landed:
                            enum:
                              - well
                              - mixed
                              - not
                            type: string
                          title:
                            type: string
                            maxLength: 200
                          verdicts:
                            type: array
                            maxItems: 6
                            items:
                              type: object
                              properties:
                                tag:
                                  enum:
                                    - supported
                                    - observation
                                  type: string
                                text:
                                  type: string
                                  maxLength: 400
                              required:
                                - tag
                                - text
                          nextRound:
                            type: string
                            maxLength: 600
                          priority:
                            type: string
                            maxLength: 400
                          remember:
                            anyOf:
                              - type: string
                                maxLength: 400
                              - type: 'null'
                            default: null
                          plan:
                            type: array
                            maxItems: 5
                            items:
                              type: object
                              properties:
                                day:
                                  enum:
                                    - mon
                                    - tue
                                    - wed
                                    - thu
                                    - fri
                                    - sat
                                    - sun
                                  type: string
                                minutes:
                                  type: integer
                                  minimum: 5
                                  maximum: 120
                                task:
                                  type: string
                                  maxLength: 300
                              required:
                                - day
                                - minutes
                                - task
                        required:
                          - kind
                          - round
                          - question
                          - answer
                          - landed
                          - title
                          - verdicts
                          - nextRound
                          - priority
                          - plan
                      - type: object
                        properties:
                          kind:
                            const: answers
                          answers:
                            type: array
                            maxItems: 30
                            items:
                              type: object
                              properties:
                                question:
                                  type: string
                                  maxLength: 2000
                                answer:
                                  type: string
                                  maxLength: 6000
                              required:
                                - question
                                - answer
                        required:
                          - kind
                          - answers
                      - type: object
                        properties:
                          kind:
                            const: reply
                          message:
                            type: string
                            maxLength: 20000
                          title:
                            type: string
                            maxLength: 200
                          asks:
                            type: array
                            maxItems: 5
                            items:
                              type: string
                              maxLength: 300
                          unconfirmed:
                            type: array
                            maxItems: 5
                            items:
                              type: string
                              maxLength: 300
                          reply:
                            type: string
                            maxLength: 4000
                          changes:
                            type: array
                            maxItems: 4
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      const: stage
                                    stage:
                                      enum:
                                        - screening
                                        - interview
                                        - offer
                                        - closed
                                      type: string
                                  required:
                                    - type
                                    - stage
                                - type: object
                                  properties:
                                    type:
                                      const: follow-up
                                    at:
                                      anyOf:
                                        - type: string
                                          format: date-time
                                        - type: 'null'
                                    note:
                                      type: string
                                      maxLength: 300
                                  required:
                                    - type
                                    - at
                                    - note
                                - type: object
                                  properties:
                                    type:
                                      const: offer
                                  required:
                                    - type
                          offer:
                            anyOf:
                              - type: object
                                properties:
                                  version:
                                    enum:
                                      - written
                                      - verbal
                                    type: string
                                    default: written
                                  currency:
                                    type: string
                                    pattern: ^[A-Z]{3}$
                                  period:
                                    enum:
                                      - hour
                                      - month
                                      - year
                                    type: string
                                  base:
                                    anyOf:
                                      - type: number
                                        minimum: 0
                                      - type: 'null'
                                  variable:
                                    anyOf:
                                      - type: number
                                        minimum: 0
                                      - type: 'null'
                                  variableConditions:
                                    type: string
                                    maxLength: 1000
                                    default: ''
                                  equity:
                                    type: string
                                    maxLength: 1000
                                    default: ''
                                  location:
                                    type: string
                                    maxLength: 500
                                    default: ''
                                  officeDays:
                                    anyOf:
                                      - type: integer
                                        minimum: 0
                                        maximum: 5
                                      - type: 'null'
                                    default: null
                                  leave:
                                    type: string
                                    maxLength: 500
                                    default: ''
                                  learning:
                                    anyOf:
                                      - type: number
                                        minimum: 0
                                      - type: 'null'
                                    default: null
                                  other:
                                    type: string
                                    maxLength: 1000
                                    default: ''
                                  respondBy:
                                    anyOf:
                                      - type: string
                                        format: date-time
                                      - type: 'null'
                                    default: null
                                required:
                                  - currency
                                  - period
                                  - base
                                  - variable
                              - type: 'null'
                            default: null
                          applied:
                            anyOf:
                              - type: object
                                properties:
                                  at:
                                    type: string
                                    format: date-time
                                  changes:
                                    type: array
                                    items:
                                      type: integer
                                      minimum: -9007199254740991
                                      maximum: 9007199254740991
                                  undo:
                                    type: object
                                    properties:
                                      before:
                                        type: object
                                        properties:
                                          status:
                                            enum:
                                              - saved
                                              - applied
                                              - screening
                                              - interview
                                              - offer
                                              - closed
                                            type: string
                                          laneId:
                                            anyOf:
                                              - type: string
                                              - type: 'null'
                                          closedReason:
                                            anyOf:
                                              - enum:
                                                  - accepted
                                                  - not-selected
                                                  - withdrew
                                                  - accepted-other
                                                  - no-response
                                                type: string
                                              - type: 'null'
                                          followUpAt:
                                            anyOf:
                                              - type: string
                                                format: date-time
                                              - type: 'null'
                                          followUpNote:
                                            anyOf:
                                              - type: string
                                              - type: 'null'
                                          followUpDateOnly:
                                            type: boolean
                                            default: false
                                        required:
                                          - status
                                          - laneId
                                          - closedReason
                                          - followUpAt
                                          - followUpNote
                                      after:
                                        type: object
                                        properties:
                                          status:
                                            enum:
                                              - saved
                                              - applied
                                              - screening
                                              - interview
                                              - offer
                                              - closed
                                            type: string
                                          laneId:
                                            anyOf:
                                              - type: string
                                              - type: 'null'
                                          closedReason:
                                            anyOf:
                                              - enum:
                                                  - accepted
                                                  - not-selected
                                                  - withdrew
                                                  - accepted-other
                                                  - no-response
                                                type: string
                                              - type: 'null'
                                          followUpAt:
                                            anyOf:
                                              - type: string
                                                format: date-time
                                              - type: 'null'
                                          followUpNote:
                                            anyOf:
                                              - type: string
                                              - type: 'null'
                                          followUpDateOnly:
                                            type: boolean
                                            default: false
                                        required:
                                          - status
                                          - laneId
                                          - closedReason
                                          - followUpAt
                                          - followUpNote
                                      offerId:
                                        anyOf:
                                          - type: string
                                          - type: 'null'
                                    required:
                                      - before
                                      - after
                                      - offerId
                                required:
                                  - at
                                  - changes
                              - type: 'null'
                            default: null
                        required:
                          - kind
                          - message
                          - title
                          - asks
                          - unconfirmed
                          - reply
                          - changes
                      - type: object
                        properties:
                          kind:
                            const: offer
                          version:
                            enum:
                              - written
                              - verbal
                            type: string
                            default: written
                          currency:
                            type: string
                            pattern: ^[A-Z]{3}$
                          period:
                            enum:
                              - hour
                              - month
                              - year
                            type: string
                          base:
                            anyOf:
                              - type: number
                                minimum: 0
                              - type: 'null'
                          variable:
                            anyOf:
                              - type: number
                                minimum: 0
                              - type: 'null'
                          variableConditions:
                            type: string
                            maxLength: 1000
                            default: ''
                          equity:
                            type: string
                            maxLength: 1000
                            default: ''
                          location:
                            type: string
                            maxLength: 500
                            default: ''
                          officeDays:
                            anyOf:
                              - type: integer
                                minimum: 0
                                maximum: 5
                              - type: 'null'
                            default: null
                          leave:
                            type: string
                            maxLength: 500
                            default: ''
                          learning:
                            anyOf:
                              - type: number
                                minimum: 0
                              - type: 'null'
                            default: null
                          other:
                            type: string
                            maxLength: 1000
                            default: ''
                          respondBy:
                            anyOf:
                              - type: string
                                format: date-time
                              - type: 'null'
                            default: null
                          origin:
                            enum:
                              - manual
                              - message
                            type: string
                          editedAt:
                            type: string
                            format: date-time
                        required:
                          - kind
                          - currency
                          - period
                          - base
                          - variable
                  evidence:
                    type: object
                    properties:
                      factIds:
                        type: array
                        items:
                          type: string
                      storyIds:
                        type: array
                        items:
                          type: string
                    required:
                      - factIds
                      - storyIds
                  jobId:
                    anyOf:
                      - type: string
                      - type: 'null'
                  inputVersion:
                    type: string
                required:
                  - id
                  - userId
                  - createdAt
                  - updatedAt
                  - applicationId
                  - interviewId
                  - title
                  - data
                  - evidence
                  - jobId
                  - inputVersion
        default:
          description: >-
            Structured API error. See status and code; do not branch on message
            text.
          content:
            application/json:
              schema:
                type: object
                required:
                  - defined
                  - code
                  - status
                  - message
                properties:
                  defined:
                    type: boolean
                  code:
                    type: string
                  status:
                    type: integer
                  message:
                    type: string
                  data: {}
      security:
        - apiKey: []
        - bearerAuth: []
        - cookieAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: >-
            curl --request PATCH
            "https://rxresu.me/api/openapi/career/offers/<id>" --header
            "x-api-key: <api-key>" --header "Content-Type: application/json"
            --data '{
              "terms": {
                "currency": "<string>",
                "period": "hour",
                "base": 123,
                "variable": 123
              },
              "expected": {
                "currency": "<string>",
                "period": "hour",
                "base": 123,
                "variable": 123
              }
            }'
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: The API key to authenticate requests.
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: An OAuth access token issued by this instance for its API/MCP resource.
    cookieAuth:
      type: apiKey
      in: cookie
      name: better-auth.session_token
      description: >-
        Browser session (secure deployments use the __Secure- prefix). Cookie
        requests must originate from this instance.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.