---
title: "Shortlist"
method: POST
path: "/v1/applications/{app_id}/shortlist"
tags: ["applications"]
---

# Shortlist

`POST /v1/applications/{app_id}/shortlist`

## Request

- Base URL: `https://api.actuato.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.actuato.com/v1/applications/{app_id}/shortlist`
- Auth: none declared

## Path parameters

- `app_id` string, uuid, required

## Response `200`

Successful Response

- ApplicantOut: Principal / agent view: the bid plus who is behind it and why it ranks where it does.
  - `id` string, uuid, required
  - `job_id` string, uuid, required
  - `worker_id` string, uuid, required
  - `price_cents` integer, required
  - `price_type` 'fixed' | 'hourly', required
  - `estimated_hours` number, nullable, required
  - `message` string, nullable, required
  - `earliest_start_at` string, date-time, nullable, required
  - `eta_minutes` integer, nullable, required
  - `attachment_file_ids` string[], required
  - `status` 'submitted' | 'shortlisted' | 'countered' | 'accepted' | 'declined' | 'withdrawn' | 'expired', required
  - `declined_reason` string, nullable, required
  - `viewed_by_principal_at` string, date-time, nullable, required
  - `created_at` string, date-time, required
  - `job_title` string, nullable
  - `updated_at` string, date-time, required
  - `relevance_score` number, nullable, required
  - `score_breakdown` object, nullable, required
  - `why` string[], required
  - `worker` WorkerPublicOut, required: What principals and agents see. No exact address, no documents.
    - `id` string, uuid, required
    - `user_id` string, uuid, required
    - `display_name` string, required
    - `avatar_file_id` string, uuid, nullable, required
    - `headline` string, nullable, required
    - `bio` string, nullable, required
    - `hourly_rate_cents` integer, nullable, required
    - `years_experience` integer, nullable, required
    - `city` string, nullable, required
    - `region` string, nullable, required
    - `service_radius_km` integer, required
    - `rating_avg` number, nullable, required
    - `rating_count` integer, required
    - `jobs_completed` integer, required
    - `background_check_status` 'none' | 'pending' | 'clear' | 'consider' | 'failed', required
    - `identity_verified` boolean, required
    - `tier` 'new' | 'established' | 'pro' | 'verified_pro', required
    - `guarantee_eligible` boolean
    - `skills` ActuatorSchemasWorkersSkillOut[], required
      - `skill_slug` string, required
      - `level` 'beginner' | 'intermediate' | 'expert'
      - `attested_job_count` integer, required
    - `experiences` ExperienceOut[], required
      - `title` string, required
      - `employer` string, nullable
      - `description` string, nullable
      - `start_date` string, date, nullable
      - `end_date` string, date, nullable
      - `is_current` boolean
      - `id` string, uuid, required
    - `certifications` PublicCertification[], required
      - `cert_type_slug` string, required
      - `status` 'submitted' | 'under_review' | 'verified' | 'rejected' | 'expired', required
      - `expires_at` string, date, nullable, required
      - `verified_at` string, date-time, nullable
    - `category_badges` CategoryBadge[]: Approved jobs per category, most first.
      - `category_slug` string, required
      - `completed_jobs` integer, required
    - `member_since` string, date-time, required
  - `distance_km` number, nullable, required
  - `principal_note` string, nullable, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/actuato/apis/actuator-api.md) · [All operations](https://skmtc.dev/actuato/apis/actuator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/actuato/apis/actuator-api/revisions/67a742c2308b?raw)
