Compresr Careers API

The Careers API from Compresr — 12 operation(s) for careers.

Operations 17

GET /api/jobs/admin Admin List Jobs #
POST /api/jobs/admin Admin Create Job #
GET /api/jobs/admin/applications Admin List Applications #
GET /api/jobs/admin/applications/{application_id}/cv/download Admin Download Cv #
GET /api/jobs/admin/applications/{application_id}/cv/signed-url Admin Cv Signed Url #
POST /api/jobs/admin/applications/purge Admin Purge Applications #
GET /api/jobs/admin/applications/export/xlsx Admin Export Applications Xlsx #
GET /api/jobs/admin/applications/export/zip Admin Export Applications Zip #
GET /api/jobs/admin/applications/{application_id} Admin Get Application #
PATCH /api/jobs/admin/applications/{application_id} Admin Update Application #
DELETE /api/jobs/admin/applications/{application_id} Admin Delete Application #
GET /api/jobs/admin/{job_id} Admin Get Job #
PATCH /api/jobs/admin/{job_id} Admin Update Job #
DELETE /api/jobs/admin/{job_id} Admin Delete Job #
GET /api/jobs List Public Jobs #
GET /api/jobs/{slug} Get Public Job #
POST /api/jobs/{slug}/apply Apply To Job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/compresr-careers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

compresr-careers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Compresr Platform Admin Careers API
  version: 1.0.0
servers:
- url: https://api.compresr.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Careers
paths:
  /api/jobs/admin:
    get:
      tags:
      - Careers
      summary: Admin List Jobs
      description: List all jobs (includes drafts and closed). Requires Support or Admin.
      operationId: admin_list_jobs_api_jobs_admin_get
      security:
      - HTTPBearer: []
      parameters:
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/JobStatus'
          - type: 'null'
          description: Filter by status
          title: Status
        description: Filter by status
      - name: department
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by department
          title: Department
        description: Filter by department
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search in title
          title: Search
        description: Search in title
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 100
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobAdminListResponse'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Careers
      summary: Admin Create Job
      description: Create a new job posting. Requires Admin.
      operationId: admin_create_job_api_jobs_admin_post
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/applications:
    get:
      tags:
      - Careers
      summary: Admin List Applications
      description: List job applications with filters. Requires Support or Admin.
      operationId: admin_list_applications_api_jobs_admin_applications_get
      security:
      - HTTPBearer: []
      parameters:
      - name: job_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: Filter by job
          title: Job Id
        description: Filter by job
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/ApplicationStatus'
          - type: 'null'
          description: Filter by status
          title: Status
        description: Filter by status
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search in name or email
          title: Search
        description: Search in name or email
      - name: date_from
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: ISO datetime lower bound
          title: Date From
        description: ISO datetime lower bound
      - name: date_to
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: ISO datetime upper bound
          title: Date To
        description: ISO datetime upper bound
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 50
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobApplicationListResponse'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/applications/{application_id}/cv/download:
    get:
      tags:
      - Careers
      summary: Admin Download Cv
      description: Stream the CV file for admin download. Requires Support or Admin.
      operationId: admin_download_cv_api_jobs_admin_applications__application_id__cv_download_get
      security:
      - HTTPBearer: []
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/applications/{application_id}/cv/signed-url:
    get:
      tags:
      - Careers
      summary: Admin Cv Signed Url
      description: Return a short-lived Storage signed URL — for inline PDF preview.
      operationId: admin_cv_signed_url_api_jobs_admin_applications__application_id__cv_signed_url_get
      security:
      - HTTPBearer: []
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Application Id
      - name: ttl_seconds
        in: query
        required: false
        schema:
          type: integer
          maximum: 3600
          minimum: 60
          default: 900
          title: Ttl Seconds
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Admin Cv Signed Url Api Jobs Admin Applications  Application Id  Cv Signed Url Get
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/applications/purge:
    post:
      tags:
      - Careers
      summary: Admin Purge Applications
      description: 'Delete rejected/withdrawn applications older than `retention_days` days.


        CV files in Storage are removed first so no orphans are left behind.

        Rate-limited to admin (not support) since it''s destructive.'
      operationId: admin_purge_applications_api_jobs_admin_applications_purge_post
      security:
      - HTTPBearer: []
      parameters:
      - name: retention_days
        in: query
        required: false
        schema:
          type: integer
          maximum: 3650
          minimum: 1
          default: 180
          title: Retention Days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationsPurgeResponse'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/applications/export/xlsx:
    get:
      tags:
      - Careers
      summary: Admin Export Applications Xlsx
      description: Download an XLSX workbook — one sheet per job.
      operationId: admin_export_applications_xlsx_api_jobs_admin_applications_export_xlsx_get
      security:
      - HTTPBearer: []
      parameters:
      - name: job_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Job Id
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/ApplicationStatus'
          - type: 'null'
          title: Status
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      - name: date_from
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Date From
      - name: date_to
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Date To
      - name: ids
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Comma-separated application UUIDs
          title: Ids
        description: Comma-separated application UUIDs
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/applications/export/zip:
    get:
      tags:
      - Careers
      summary: Admin Export Applications Zip
      description: 'Download a ZIP: applications.xlsx + cvs/<candidate>_<id>.<ext>.'
      operationId: admin_export_applications_zip_api_jobs_admin_applications_export_zip_get
      security:
      - HTTPBearer: []
      parameters:
      - name: job_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Job Id
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/ApplicationStatus'
          - type: 'null'
          title: Status
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      - name: date_from
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Date From
      - name: date_to
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Date To
      - name: ids
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Comma-separated application UUIDs
          title: Ids
        description: Comma-separated application UUIDs
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/applications/{application_id}:
    get:
      tags:
      - Careers
      summary: Admin Get Application
      description: Get a single application. Requires Support or Admin.
      operationId: admin_get_application_api_jobs_admin_applications__application_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobApplication'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Careers
      summary: Admin Update Application
      description: Update application status or admin notes. Requires Admin.
      operationId: admin_update_application_api_jobs_admin_applications__application_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Application Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobApplicationUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobApplication'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Careers
      summary: Admin Delete Application
      description: Delete an application (also removes its CV from Storage). Requires Admin.
      operationId: admin_delete_application_api_jobs_admin_applications__application_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/admin/{job_id}:
    get:
      tags:
      - Careers
      summary: Admin Get Job
      description: Get a job by id (any status). Requires Support or Admin.
      operationId: admin_get_job_api_jobs_admin__job_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Careers
      summary: Admin Update Job
      description: Update a job (partial). Requires Admin.
      operationId: admin_update_job_api_jobs_admin__job_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Careers
      summary: Admin Delete Job
      description: Delete a job (cascades to applications and their CVs). Requires Admin.
      operationId: admin_delete_job_api_jobs_admin__job_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs:
    get:
      tags:
      - Careers
      summary: List Public Jobs
      description: List published jobs. Public — no authentication required.
      operationId: list_public_jobs_api_jobs_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobListResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/jobs/{slug}:
    get:
      tags:
      - Careers
      summary: Get Public Job
      description: Get a single published job by slug. Public — no authentication required.
      operationId: get_public_job_api_jobs__slug__get
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
          title: Slug
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobPublicResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/jobs/{slug}/apply:
    post:
      tags:
      - Careers
      summary: Apply To Job
      description: 'Public application endpoint. Multipart form: fields + CV file.


        - Rate-limited per IP: 5/hour + 20/day (prod only, no auth required)

        - CV must be a PDF, max 10 MB

        - Duplicate applications (same email + non-withdrawn) are rejected'
      operationId: apply_to_job_api_jobs__slug__apply_post
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
          title: Slug
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_apply_to_job_api_jobs__slug__apply_post'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobApplicationSubmitResponse'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '429':
          description: Rate limit exceeded
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ApplicationQuestion:
      properties:
        id:
          type: string
          maxLength: 64
          minLength: 1
          pattern: ^[a-z0-9_]+$
          title: Id
        type:
          $ref: '#/components/schemas/ApplicationQuestionType'
        label:
          type: string
          maxLength: 500
          minLength: 1
          title: Label
        required:
          type: boolean
          title: Required
          default: false
        options:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Options
          description: For select/multiselect, the allowed choices.
        help_text:
          anyOf:
          - type: string
            maxLength: 500
          - type: 'null'
          title: Help Text
      type: object
      required:
      - id
      - type
      - label
      title: ApplicationQuestion
      description: Per-job custom application question (admin-defined).
    JobCreate:
      properties:
        slug:
          type: string
          maxLength: 100
          minLength: 2
          pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
          title: Slug
        title:
          type: string
          maxLength: 200
          minLength: 2
          title: Title
        department:
          type: string
          maxLength: 100
          minLength: 1
          title: Department
        location:
          type: string
          maxLength: 200
          minLength: 1
          title: Location
        workplace_type:
          $ref: '#/components/schemas/WorkplaceType'
          default: onsite
        employment_type:
          $ref: '#/components/schemas/EmploymentType'
          default: full_time
        description:
          type: string
          maxLength: 50000
          title: Description
          default: ''
        application_questions:
          items:
            $ref: '#/components/schemas/ApplicationQuestion'
          type: array
          title: Application Questions
        status:
          $ref: '#/components/schemas/JobStatus'
          default: draft
      type: object
      required:
      - slug
      - title
      - department
      - location
      title: JobCreate
    Job:
      properties:
        slug:
          type: string
          maxLength: 100
          minLength: 2
          pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
          title: Slug
        title:
          type: string
          maxLength: 200
          minLength: 2
          title: Title
        department:
          type: string
          maxLength: 100
          minLength: 1
          title: Department
        location:
          type: string
          maxLength: 200
          minLength: 1
          title: Location
        workplace_type:
          $ref: '#/components/schemas/WorkplaceType'
          default: onsite
        employment_type:
          $ref: '#/components/schemas/EmploymentType'
          default: full_time
        description:
          type: string
          maxLength: 50000
          title: Description
          default: ''
        application_questions:
          items:
            $ref: '#/components/schemas/ApplicationQuestion'
          type: array
          title: Application Questions
        id:
          type: string
          format: uuid
          title: Id
        status:
          $ref: '#/components/schemas/JobStatus'
        published_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Published At
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - slug
      - title
      - department
      - location
      - id
      - status
      - created_at
      - updated_at
      title: Job
      description: Full job record — admin view (includes drafts + timestamps).
    JobUpdate:
      properties:
        slug:
          anyOf:
          - type: string
            maxLength: 100
            minLength: 2
            pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
          - type: 'null'
          title: Slug
        title:
          anyOf:
          - type: string
            maxLength: 200
            minLength: 2
          - type: 'null'
          title: Title
        department:
          anyOf:
          - type: string
            maxLength: 100
            minLength: 1
          - type: 'null'
          title: Department
        location:
          anyOf:
          - type: string
            maxLength: 200
            minLength: 1
          - type: 'null'
          title: Location
        workplace_type:
          anyOf:
          - $ref: '#/components/schemas/WorkplaceType'
          - type: 'null'
        employment_type:
          anyOf:
          - $ref: '#/components/schemas/EmploymentType'
          - type: 'null'
        description:
          anyOf:
          - type: string
            maxLength: 50000
          - type: 'null'
          title: Description
        application_questions:
          anyOf:
          - items:
              $ref: '#/components/schemas/ApplicationQuestion'
            type: array
          - type: 'null'
          title: Application Questions
        status:
          anyOf:
          - $ref: '#/components/schemas/JobStatus'
          - type: 'null'
      type: object
      title: JobUpdate
    JobApplication:
      properties:
        full_name:
          type: string
          maxLength: 200
          minLength: 1
          title: Full Name
        email:
          type: string
          format: email
          title: Email
        linkedin_url:
          anyOf:
          - type: string
            maxLength: 500
          - type: 'null'
          title: Linkedin Url
        custom_answers:
          additionalProperties: true
          type: object
          title: Custom Answers
        id:
          type: string
          format: uuid
          title: Id
        job_id:
          type: string
          format: uuid
          title: Job Id
        cv_storage_path:
          anyOf:
          - type: string
          - type: 'null'
          title: Cv Storage Path
        cv_filename:
          anyOf:
          - type: string
          - type: 'null'
          title: Cv Filename
        cv_mime:
          anyOf:
          - type: string
          - type: 'null'
          title: Cv Mime
        cv_size_bytes:
          anyOf:
          - type: integer
          - type: 'null'
          title: Cv Size Bytes
        status:
          $ref: '#/components/schemas/ApplicationStatus'
        admin_notes:
          anyOf:
          - type: string
          - type: 'null'
          title: Admin Notes
        applied_at:
      

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/compresr/refs/heads/main/openapi/compresr-careers-api-openapi.yml