---
title: "Unapprove Applicant Documents"
method: POST
path: "/v2/applicants/{id}/secure_documents/unapprove"
tags: ["Applicants"]
---

# Unapprove Applicant Documents

`POST /v2/applicants/{id}/secure_documents/unapprove`

## Request

- Base URL: `https://api.fountain.com`
- URL: `https://api.fountain.com/v2/applicants/{id}/secure_documents/unapprove`
- Auth: API key in header `X-ACCESS-TOKEN`

Unapprove secure documents for an applicant.

## Path parameters

- `id` string, required

## Request body

- object
  - `data_keys` string[], required: Array of data field keys associated with the documents to unapprove
  - `attribute_to_system_user` boolean: When true, attributes the unapproval to the account's System Account user (rather than the account owner) in the History panel.

## Response `200`

OK

- ApplicantSecureDocumentsUnapproveResponse
  - `secure_documents` object[], required
    - `name` string, required: Name of the secure document. Unique among an applicant's visible documents, which is what makes it the key `data_keys[]` addresses on the approve and unapprove endpoints. A document Fountain retrieved from a partner, rather than the applicant uploading it, carries a composed name. First Advantage background-check components are named `first_advantage_{screening_type}_{order_id}`. The order id is the value of the `bg_order_id` entry in `details`, under the same `partner_data` package as the order's entry in `statuses`, and the screening types are the ones that order's `fadv_screenings:{order_id}` metadata lists, each with the `blob_name` it will be stored under — so the name is composed from data already in `GET /applicants/{id}`, never found by scanning.
    - `friendly_name` string, required: Friendly name of the secure document.
    - `filename` string, required: Document filename of file.
    - `size` number, required: Size of secure document in bytes.
    - `approved` boolean, required: If the document is approved or not.
    - `id` string, required: ID of the secure document.
    - `public_url` string, uri, required: The URL to download the secure document.
    - `stage` object, required
      - `id` string, required: ID of the stage.
      - `title` string, required: Title of the stage.
      - `form_title` string, nullable: Form Title of the stage.
      - `form_description` string, nullable: Form Description of the stage.
    - `file_upload_requests` object[]
      - `recollection_reason` 'blurry' | 'corrupt' | 'incorrect' | 'expired' | 'custom': Reason the upload is being recollected.
      - `created_at` string: DateTime the re-collection request was triggered.
    - `approved_by` object
      - `name` string: Name of the user who approved the document.
      - `email` string: Email of the user who approved the document.
      - `id` string: ID of the user who approved the document.
    - `created_at` string, required: DateTime the file was created.
    - `approved_at` string, nullable, required: DateTime the file was approved.
  - `unapproved_by` object, required: The user this request is attributed to: the account owner, or the System Account user when `attribute_to_system_user` is true.
    - `id` string, required: ID of the user who unapproved the documents.
    - `name` string, required: Name of the user who unapproved the documents.
    - `email` string, required: Email of the user who unapproved the documents.
  - `unapproved_at` string, date-time, required: DateTime of this request. A document that was already unapproved is returned unchanged.

## Other responses

- `401`: Unauthorized
- `422`: Unprocessable Entity - Missing Documents

## Changes

- **2026-11-03** `3119e105004c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fountain/apis/hire-public-api/changes/v2/applicants/:id/secure_documents/unapprove/post.md)

---

[API](https://skmtc.dev/fountain/apis/hire-public-api.md) - [All operations](https://skmtc.dev/fountain/apis/hire-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fountain/apis/hire-public-api/revisions/3119e105004c?raw)
