---
title: "Search documents"
method: GET
path: "/documents-search/"
tags: ["documents-search"]
---

# Search documents

`GET /documents-search/`

Search interface for fast (autocomplete) searching of documents.

This can be useful to have your users search for a document in your interface.

Document names are tokenized on whitespace, hyphens and underscores to also match partial document names.

*Normal search:*

- ?**q**={{query}}

*Autocomplete search:*

- ?**autocomplete**={{partial query}}

*Search in document name:*

- ?**name**={{query}}

*Available (extra) filters:*

- ?**subdomain**={{ team_subdomain }} or use this endpoint with team_subdomain.signrequest.com
(when not provided only personal documents are shown)
- ?**signer_emails**={{ signer@email.com }} (will filter documents that an email needed to sign/approve)
- ?**status**={{ si }}
- ?**who**={{ mo }}

To include multiple values for a filter field separate the values with a pipe (|).
For example to only search for completed documents use **status=se|vi** (sent and viewed).

*Pagination:*

- ?**page**={{ page_number: default 1 }}
- ?**limit**={{ limit results: default 10, max 100 }}

*Format:*

By default json is returned, to export data as csv or xls use the format parameter.

- ?**format**=csv
- ?**format**=xls

For csv and xls the data can also be exported with each signer on a separate row. In this mode also the signer
inputs that have an *external_id* specified on a tag will be exported. All external_id's found will be exported as
columns. To use this mode add the **signer_data** parameter.

- ?**format**=csv&**signer_data**=1
- ?**format**=xls&**signer_data**=1

Note that all documents are only ordered by **created** (newest first) when **q**, **autocomplete** or **name** are
not used, else they are ordered by the strenght of the match.

## Query parameters

- `page` integer
- `limit` integer
- `q` string
- `autocomplete` string
- `name` string
- `subdomain` string
- `signer_emails` string
- `status` string
- `who` string
- `format` string
- `signer_data` number

## Response `200`

OK

- object
  - `count` integer, required
  - `next` string, uri, nullable
  - `previous` string, uri, nullable
  - `results` DocumentSearchDirect[], required
    - `from_email` string
    - `name` string
    - `uuid` string
    - `who` string
    - `status` string
    - `created` string, date-time
    - `autocomplete` string
    - `nr_extra_docs` string
    - `extra_docs` ExtraDocument[]
      - `uuid` string
      - `name` string
      - `status` string
      - `status_display` string
    - `signer_emails` string[]
    - `status_display` string
    - `created_timestamp` integer
    - `finished_on_timestamp` integer
    - `parent_doc` string
    - `finished_on` string, date-time
    - `subdomain` string
    - `processing` boolean

---

[API](https://skmtc.net/signrequest/apis/signrequest-api.md) · [All operations](https://skmtc.net/signrequest/apis/signrequest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signrequest/signrequest-api/revisions/6bbe20e3fe44/schema)
