---
title: "Decline a Company Followers extraction quote"
method: POST
path: "/api/v1/signals/{signal_id}/extraction/decline"
tags: ["Signals"]
---

# Decline a Company Followers extraction quote

`POST /api/v1/signals/{signal_id}/extraction/decline`

## Request

- Base URL: `https://api.rodz.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rodz.io/api/v1/signals/{signal_id}/extraction/decline`
- Auth: HTTP bearer

Decline a Company Followers quote you do not want — for example after reading the price, before narrowing the filters and quoting again.

**Input:** the signal ID in the path; no body. Works on a `quoted` or `awaiting_quote` extraction.

**Output:** `extraction` with `status: declined`. Nothing is charged; any credits held are returned. The signal stays as it is (still `active`, still waiting for a quote — `QUOTE_REQUIRED`); request a new quote whenever you are ready.

**Errors:** `NO_ORDER` (404, nothing open to decline), `NOT_DECLINABLE` (409, the quote was already accepted and the extraction is running — pause the signal to stop it), `UNSUPPORTED` (400), `NOT_FOUND` (404).

## Path parameters

- `signal_id` string, required

## Response `200`

Successful Response

- object: The extraction of a Company Followers signal, or `null` when it has none.
  - `extraction` object, nullable: One follower extraction of a Company Followers signal: its quote, its credits, its delivery.
    - `id` string, required: Extraction id.
    - `mode` 'icp' | 'count', required: `icp`: every follower matching the signal's filters, priced by a quote you accept. `count`: a fixed number of followers, unfiltered, started at once.
    - `status` string, required: `awaiting_quote` (the quote is being computed — read this endpoint again in a minute), `quoted` (priced, waiting for your accept or decline), `accepted` (credits held, extraction starting), `processing` (extraction running), `results_ready` / `imported` (leads being delivered), `settled` (done: delivered leads charged, the rest of the hold returned), `declined` (you declined the quote), `failed` (see `error`).
    - `requestedCount` integer, nullable: `count` mode: the number of followers ordered. `null` in `icp` mode.
    - `estimatedFollowers` integer, nullable: `icp` mode: followers of these pages matching your filters, as counted for the quote. `null` until the quote is ready.
    - `creditsQuoted` number, nullable: The price of the extraction: in `icp` mode 0.5 credit per matching follower, with a minimum of 75 credits; in `count` mode 1 credit per follower requested. `null` until the quote is ready.
    - `creditsHeld` number: Credits reserved on your balance for this extraction (from accept until it settles). Quoting holds nothing.
    - `creditsCharged` number: Credits actually charged — for the leads delivered, never above the hold.
    - `creditsReleased` number: Credits of the hold returned to your balance (undelivered, declined, expired).
    - `deliveredCount` integer, nullable: Leads delivered so far by this extraction.
    - `error` string, nullable: Why a `failed` extraction stopped: `expired` (the quote was not accepted within 30 days — request a new one), `insufficient_credits`, `cancelled` (the signal was paused before the extraction started), `companies_unavailable` (the company pages could not be read — try again later), `company_page_unavailable` (a page in `linkedinCompanyUrls` does not exist on LinkedIn — nothing was charged; replace it, then start a new extraction), `extraction_failed`. `null` otherwise.
    - `createdAt` string, nullable: ISO-8601, UTC.
    - `updatedAt` string, nullable: ISO-8601, UTC.
    - `expiresAt` string, nullable: `quoted` only: when the quote lapses if neither accepted nor declined (30 days after it was issued). It then turns `failed` with `error: expired` and nothing is charged.

## Other responses

- `400`: Not a Company Followers signal
- `404`: No signal, or nothing to decline
- `409`: The quote was already accepted
- `422`: Validation Error
- `429`: Rate limit exceeded. Retry after the number of seconds in the `Retry-After` response header.

---

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