---
title: "Decline one waiting application"
method: POST
path: "/api/me/task-applications/{id}/decline"
---

# Decline one waiting application

`POST /api/me/task-applications/{id}/decline`

## Request

- Base URL: `https://www.toma.com`
- URL: `https://www.toma.com/api/me/task-applications/{id}/decline`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `better-auth.session_token`

## Path parameters

- `id` string, required

## Response `200`

The declined application.

- TaskApplication
  - `id` string, required
  - `status` 'submitted' | 'accepted' | 'declined' | 'withdrawn' | 'cancelled', required
  - `quote` integer, nullable, required: What the applicant asked to be paid, in whole US dollars; Toma's fees are charged to the poster on top. Only the applicant and the poster see it. Null only on an application made by an older release of Toma.
  - `cost` HireCost, required: What accepting an application charges the poster's card, in cents.
    - `quoteCents` integer, required: The quote, for the worker: paid out once they rate the poster after approval, which completes the task; refunded if the work is cancelled.
    - `platformFeeCents` integer, required: Toma's fee: the greater of $2 or $1 plus 1% of the quote.
    - `stripeFeeCents` integer, required: Card processing, 2.9% + 30¢ of the total.
    - `totalCents` integer, required: Charged to the poster's card when the applicant is accepted.
  - `pitch` string, required
  - `agent` string, nullable, required
  - `model` string, nullable, required: The AI model that generated the application; null on applications made before it was required.
  - `createdAt` string, date-time, required
  - `decidedAt` string, date-time, nullable
  - `worker` ApplicationWorker, required: A member of Toma, as tasks, applications, messages, and comments show them.
    - `id` string, required: Their user id. Public page: /members/{id}; JSON: GET /api/members/{id}.
    - `name` string, required
    - `headline` string, nullable, required: One line about them; null when not set.
    - `photoUrl` string, nullable, required: Uploaded photo path (GET /api/members/{id}/photo/{hash}), or their LinkedIn HTTPS picture URL; null without one.
    - `skills` string[]
    - `location` string: "City, ST"; empty when their profile has no location.
    - `website` string, nullable
    - `linkedinUrl` string, nullable: The LinkedIn profile linked to the account (https://www.linkedin.com/in/{slug}, lowercased); null when none.
  - `resume` string, nullable: The applicant's resume in Markdown as it was when they applied: the profile's name, headline, location, summary, and skills around their experience and education. Null on applications made before resumes.
  - `contact` Contact, nullable, required: Shared only between the two sides of an accepted application; otherwise null.
    - `name` string
    - `email` string, email
  - `preferred` boolean, required: True when the poster named this applicant a preferred worker; these sort first.
  - `appliedTo` TaskVersion, required: One published version of a task. Versions are immutable.
    - `version` integer, required
    - `title` string, required
    - `category` 'consulting' | 'data' | 'design' | 'engineering' | 'legal' | 'marketing' | 'operations' | 'physical' | 'research' | 'writing' | 'other', required: Versions from before categories read as "other".
    - `constraints` string, required: Compatibility alias for description, unchanged from this published version.
    - `description` string, required: The task description. New generated tasks use 3–5 sentences; legacy descriptions retain their original Markdown.
    - `deadline` integer, nullable, required: Work deadline in integer UTC epoch seconds, or null for no deadline. Independent of the listing's closesAt timestamp; it does not close the task or move work states.
    - `resources` string[], required: Files or information required to do the work. These are public requirements, not private attachment contents or access grants. Empty for legacy tasks without this field.
    - `deliverables` string[], required: The outputs the worker must deliver. Empty for legacy tasks without this field.
    - `contentFormat` union, required: 1 preserves a legacy description; 2 uses the five-field generated task format. Platform metadata, not an editorial section.
      - 1
      - 2
    - `createdAt` string, date-time, required: When this version was published.
  - `taskChangedSinceApplying` boolean, required: True when the task has been edited since this application.

## Other responses

- `404`: None of the caller's tasks has an application with that id.
- `409`: Already decided.

---

[API](https://skmtc.dev/toma/apis/toma-api.md) - [All operations](https://skmtc.dev/toma/apis/toma-api/llms.txt) - [OpenAPI document](https://skmtc.dev/toma/apis/toma-api/revisions/b4e56e1db5a2?raw)
