Worklittle Business Platform API

The Business/platform surface of the Worklittle API — 32 operations for apply and Apply-with-AI sessions, People Search, employer job listings, candidates and pipeline, employees, email and offers, webhooks, documents, attendance, surveys and agent document tools.

Operations 32

POST /jobs/apply API-key apply to hosted job
POST /jobs/apply/{id} API-key apply to hosted job
GET /jobs/applied List applied jobs
GET /jobs/applied/{id} List applied jobs
GET /jobs/saved Applied jobs board totals by stage
POST /jobs/resumes Generate resume
POST /jobs/cover-letters Generate cover letter
GET /people Search people
GET /people/{id}/resume Unlock person resume
GET /people/{id}/contact Unlock person contact field
GET /business/jobs List or create job listings (POST)
PATCH /business/jobs/{id} Update or delete listing
GET /business/jobs/{id}/applications List applications for job
GET /business/jobs/pipeline-stages Pipeline stages
GET /business/teams Company organizations CRUD
GET /business/questions Interview questions
GET /business/candidates List or patch candidates
GET /business/candidates/{id} Candidate detail
GET /business/employees List or create employees
GET /business/employees/{id} Employee detail
GET /business/emails Email templates CRUD
GET /business/emails/sent List org sent emails (ATS + automation) with open stats
GET /business/emails/sent/{id} Get one sent email with open rollups
GET /usage Usage / audit logs with Destination fields (where_label, where_href). Same stream as Business Usage.
GET /business/webhooks List or create webhooks
GET /business/webhooks/{id} Webhook detail / patch / delete
GET /business/documents HR documents list/create
GET /business/attendance Attendance / calendar list
GET /business/surveys Surveys list/create
GET /business/surveys/{id} Survey detail
GET /v1/agent/tools List agent tools
POST /v1/agent/tool Run agent tool

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/worklittle-platform-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

worklittle-platform-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Worklittle Business Platform API
  version: 1.0.0
  description: 'Business / platform surface of the Worklittle API: apply and Apply-with-AI sessions, People Search,
    job listings and employer posting, candidates and pipeline, employees, email and offers, webhooks, documents,
    attendance, surveys, resumes, cover letters, and agent document tools. Resolved from the provider''s $ref-based
    root spec at https://docs.worklittle.com/openapi/openapi.yaml (paths/platform.yaml fragments). Authenticate
    with Authorization: Bearer sk-wl-api01-....'
servers:
- url: https://api.worklittle.com
security:
- bearerAuth: []
paths:
  /jobs/apply:
    post:
      tags:
      - apply
      summary: API-key apply to hosted job
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /jobs/apply/{id}:
    post:
      tags:
      - apply
      summary: API-key apply to hosted job
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /jobs/applied:
    get:
      tags:
      - apply
      summary: List applied jobs
      security:
      - bearerAuth: []
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 500
          default: 200
      - name: offset
        in: query
        schema:
          type: integer
          minimum: 0
          default: 0
      - name: status
        in: query
        description: Pipeline stage filter
        schema:
          type: string
          enum:
          - saved
          - in_progress
          - applied
          - interview
          - offer
          - rejected
          - withdrawn
          - skipped
          - viewed
      - name: fields
        in: query
        schema:
          type: string
          enum:
          - lite
          - full
          default: lite
      responses:
        '200':
          description: OK — count
          jobs: null
          has_more: null
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /jobs/applied/{id}:
    get:
      tags:
      - apply
      summary: List applied jobs
      security:
      - bearerAuth: []
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 500
          default: 200
      - name: offset
        in: query
        schema:
          type: integer
          minimum: 0
          default: 0
      - name: status
        in: query
        description: Pipeline stage filter
        schema:
          type: string
          enum:
          - saved
          - in_progress
          - applied
          - interview
          - offer
          - rejected
          - withdrawn
          - skipped
          - viewed
      - name: fields
        in: query
        schema:
          type: string
          enum:
          - lite
          - full
          default: lite
      responses:
        '200':
          description: OK — count
          jobs: null
          has_more: null
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /jobs/saved:
    get:
      tags:
      - apply
      summary: Applied jobs board totals by stage
      description: 'Cheap totals for /saved column badges. Returns `total` plus `by_status` for every pipeline stage.
        Does not return job cards.

        '
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK — total
          by_status: null
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /jobs/resumes:
    post:
      tags:
      - agent-documents
      summary: Generate resume
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /jobs/cover-letters:
    post:
      tags:
      - agent-documents
      summary: Generate cover letter
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /people:
    get:
      tags:
      - people
      summary: Search people
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /people/{id}/resume:
    get:
      tags:
      - people
      summary: Unlock person resume
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /people/{id}/contact:
    get:
      tags:
      - people
      summary: Unlock person contact field
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/jobs:
    get:
      tags:
      - job-listings
      summary: List or create job listings (POST)
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/jobs/{id}:
    patch:
      tags:
      - job-listings
      summary: Update or delete listing
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/jobs/{id}/applications:
    get:
      tags:
      - employer-jobs
      summary: List applications for job
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/jobs/pipeline-stages:
    get:
      tags:
      - candidates
      summary: Pipeline stages
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/teams:
    get:
      tags:
      - organization
      summary: Company organizations CRUD
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/questions:
    get:
      tags:
      - organization
      summary: Interview questions
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/candidates:
    get:
      tags:
      - candidates
      summary: List or patch candidates
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/candidates/{id}:
    get:
      tags:
      - candidates
      summary: Candidate detail
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/employees:
    get:
      tags:
      - employees
      summary: List or create employees
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/employees/{id}:
    get:
      tags:
      - employees
      summary: Employee detail
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/emails:
    get:
      tags:
      - email-offers
      summary: Email templates CRUD
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/emails/sent:
    get:
      tags:
      - email-offers
      summary: List org sent emails (ATS + automation) with open stats
      security:
      - bearerAuth: []
      parameters:
      - in: query
        name: source
        schema:
          type: string
          enum:
          - ats
          - automation
          - all
      - in: query
        name: status
        schema:
          type: string
      - in: query
        name: since
        schema:
          type: integer
      - in: query
        name: until
        schema:
          type: integer
      - in: query
        name: candidate_id
        schema:
          type: string
      - in: query
        name: cursor
        schema:
          type: string
      - in: query
        name: limit
        schema:
          type: integer
      responses:
        '200':
          description: OK
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/emails/sent/{id}:
    get:
      tags:
      - email-offers
      summary: Get one sent email with open rollups
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          $ref: ../openapi.yaml#/components/schemas/Error
  /usage:
    get:
      tags:
      - billing
      summary: Usage / audit logs with Destination fields (where_label, where_href). Same stream as Business Usage.
      description: 'Returns organization_logs (default source=all) including metered AI, free burns, and org activity.
        Each row may include where_label / where_href (Chat and Voice open absolute chat URLs when chat_id is known;
        Private has no link; job/survey/candidate destinations use product paths). Filter with source=public_api|platform_ai|org_activity
        for single-source cursor pagination (platform_ai and org_activity include where_*).

        '
      security:
      - bearerAuth: []
      parameters:
      - in: query
        name: source
        schema:
          type: string
          enum:
          - all
          - public_api
          - platform_ai
          - platform_fees
          - org_activity
      - in: query
        name: since
        schema:
          type: integer
      - in: query
        name: until
        schema:
          type: integer
      - in: query
        name: cursor
        schema:
          type: string
      - in: query
        name: limit
        schema:
          type: integer
      - in: query
        name: api_key_id
        schema:
          type: string
      - in: query
        name: route
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: string
      responses:
        '200':
          description: OK
        '401':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/webhooks:
    get:
      tags:
      - webhooks
      summary: List or create webhooks
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/webhooks/{id}:
    get:
      tags:
      - webhooks
      summary: Webhook detail / patch / delete
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/documents:
    get:
      tags:
      - documents
      summary: HR documents list/create
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/attendance:
    get:
      tags:
      - attendance
      summary: Attendance / calendar list
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/surveys:
    get:
      tags:
      - surveys
      summary: Surveys list/create
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /business/surveys/{id}:
    get:
      tags:
      - surveys
      summary: Survey detail
      security:
      - bearerAuth: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /v1/agent/tools:
    get:
      tags:
      - agent-documents
      summary: List agent tools
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
  /v1/agent/tool:
    post:
      tags:
      - agent-documents
      summary: Run agent tool
      security:
      - bearerAuth: []
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          $ref: ../openapi.yaml#/components/schemas/Error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: sk-wl-api01
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            documentation_url:
              type: string
              format: uri
              description: Present on UNAUTHORIZED, FORBIDDEN, WORK_EMAIL_REQUIRED, PAYMENT_REQUIRED, RATE_LIMITED,
                and QUOTA_EXCEEDED. Points at the Help article for that code.
  parameters:
    id:
      name: id
      in: path
      required: true
      schema:
        type: string
tags:
- name: agent-documents
- name: apply
- name: attendance
- name: billing
- name: candidates
- name: documents
- name: email-offers
- name: employees
- name: employer-jobs
- name: job-listings
- name: organization
- name: people
- name: surveys
- name: webhooks