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

# Create a job application

> Creates a new job application in the pipeline. Company and role are required; all other fields (stage, location, salary, source, linked resume, follow-up, notes, contacts) are optional. Requires authentication.



## OpenAPI

````yaml /spec.json post /applications
openapi: 3.1.1
info:
  title: Reactive Resume
  version: 5.2.2
  description: Reactive Resume API
  license:
    name: MIT
    url: https://github.com/amruthpillai/reactive-resume/blob/main/LICENSE
  contact:
    name: Amruth Pillai
    email: hello@amruthpillai.com
    url: https://amruthpillai.com
servers:
  - url: http://localhost:3000/api/openapi
security:
  - apiKey: []
externalDocs:
  url: https://docs.rxresu.me
  description: Reactive Resume Documentation
paths:
  /applications:
    post:
      tags:
        - Applications
      summary: Create a job application
      description: >-
        Creates a new job application in the pipeline. Company and role are
        required; all other fields (stage, location, salary, source, linked
        resume, follow-up, notes, contacts) are optional. Requires
        authentication.
      operationId: createApplication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: string
                  minLength: 1
                  description: The company applied to.
                role:
                  type: string
                  minLength: 1
                  description: The role / job title.
                location:
                  anyOf:
                    - type: string
                    - type: 'null'
                salary:
                  anyOf:
                    - type: string
                    - type: 'null'
                source:
                  anyOf:
                    - type: string
                    - type: 'null'
                sourceUrl:
                  anyOf:
                    - type: string
                    - type: 'null'
                jobDescription:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                notes:
                  anyOf:
                    - type: string
                    - type: 'null'
                resumeFileUrl:
                  anyOf:
                    - type: string
                    - type: 'null'
                resumeFileName:
                  anyOf:
                    - type: string
                    - type: 'null'
                coverLetterUrl:
                  anyOf:
                    - type: string
                    - type: 'null'
                coverLetterName:
                  anyOf:
                    - type: string
                    - type: 'null'
                followUpAt:
                  anyOf:
                    - type: string
                      format: date-time
                      x-native-type: date
                    - type: 'null'
                followUpNote:
                  anyOf:
                    - type: string
                    - type: 'null'
                contacts:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        minLength: 1
                      role:
                        type: string
                        default: ''
                      type:
                        type: string
                        default: ''
                    required:
                      - name
                resumeId:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: The linked Reactive Resume, if any.
                tags:
                  type: array
                  items:
                    type: string
                status:
                  enum:
                    - saved
                    - applied
                    - screening
                    - interview
                    - offer
                    - rejected
                  type: string
              required:
                - company
                - role
      responses:
        '200':
          description: The ID of the newly created application.
          content:
            application/json:
              schema:
                type: string
                description: The ID of the created application.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: The API key to authenticate requests.

````