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

# Import a profile from a resume

> Upload a resume file and let AI build the profile — contact details, links, work experience, education, and derived `memories` (key skills, summary facts) are extracted automatically. Returns `202` immediately; poll `GET /api/auto-apply/profiles/{id}` until `status` leaves `importing` (typically 10–30 seconds). On `import_failed`, inspect `import_error`, then fix the profile with `PATCH` (which flips it back to `ready`) or import again. Accepts PDF, DOCX, TXT, RTF, or MD up to 10 MB (legacy binary `.doc` cannot be text-extracted — convert it first).



## OpenAPI

````yaml /openapi.yaml post /api/auto-apply/profiles/import
openapi: 3.1.0
info:
  title: Jobo Enterprise API
  description: >
    The Jobo Enterprise API provides programmatic access to job listings,
    intelligent search,

    real-time feeds, automated job applications, and geocoding services.
  version: 1.0.0
  contact:
    name: Jobo Support
    url: https://jobo.world
    email: support@jobo.world
servers:
  - url: https://connect.jobo.world
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Jobs Search
    description: Search and retrieve job listings
  - name: Jobs Feed
    description: Bulk job feeds and expiration tracking
  - name: Career Sites Feed
    description: Bulk feed of newly discovered career sites with enriched company profiles
  - name: Companies
    description: Company profiles and company-scoped job listings
  - name: Auto Apply Profiles
    description: Resume-first applicant profiles that power automated applications
  - name: Auto Apply Applications
    description: >-
      Fully automated job applications — submit asynchronously and poll for the
      outcome
  - name: Auto Apply Sessions
    description: Interactive, step-by-step application sessions with full answer control
  - name: Locations
    description: Geocoding and location services
paths:
  /api/auto-apply/profiles/import:
    post:
      tags:
        - Auto Apply Profiles
      summary: Import a profile from a resume
      description: >-
        Upload a resume file and let AI build the profile — contact details,
        links, work experience, education, and derived `memories` (key skills,
        summary facts) are extracted automatically. Returns `202` immediately;
        poll `GET /api/auto-apply/profiles/{id}` until `status` leaves
        `importing` (typically 10–30 seconds). On `import_failed`, inspect
        `import_error`, then fix the profile with `PATCH` (which flips it back
        to `ready`) or import again. Accepts PDF, DOCX, TXT, RTF, or MD up to 10
        MB (legacy binary `.doc` cannot be text-extracted — convert it first).
      operationId: importAutoApplyProfile
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - file
              properties:
                file:
                  type: string
                  format: binary
                  description: Resume file (PDF, DOCX, TXT, RTF, or MD; max 10 MB).
      responses:
        '202':
          description: >-
            Import started. The `Location` header points at the new profile;
            poll it until `status` leaves `importing`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileImportStarted'
        '400':
          description: Missing or unreadable file
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '413':
          description: File exceeds the 10 MB limit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '415':
          description: Unsupported file type (import accepts PDF, DOCX, TXT, RTF, or MD)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '502':
          description: >-
            The import backend is temporarily unavailable — the profile is
            created with status `import_failed`; retry the import or fill it via
            PATCH
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '503':
          description: The import service is temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    ProfileImportStarted:
      type: object
      description: >-
        Returned by `POST /api/auto-apply/profiles/import`. Poll `GET
        /api/auto-apply/profiles/{profile_id}` until `status` leaves
        `importing`.
      properties:
        profile_id:
          type: string
          format: uuid
          description: The profile being built by the import.
          example: 8c5e6d0a-9f2b-4c1e-b7a3-2f4d5e6a7b8c
        status:
          $ref: '#/components/schemas/ProfileStatus'
    ProblemDetails:
      type: object
      description: RFC 7807 problem details object returned for error responses.
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
    ProfileStatus:
      type: string
      description: >-
        Lifecycle of a profile, driven by the async resume import. `ready` —
        complete and usable for applications; `importing` — a resume import is
        building the profile, poll until it leaves this state; `import_failed` —
        the import failed, see `import_error` (fix with `PATCH` or re-import).
      enum:
        - ready
        - importing
        - import_failed
      example: ready
  responses:
    Unauthorized:
      description: Missing or invalid API key
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key provided by Jobo

````