---
title: "Find One Document"
method: POST
path: "/action/findOne"
---

# Find One Document

`POST /action/findOne`

Find a single document that matches a query.

## Request body

- FindOneRequestBody
  - `dataSource` string, required — The name of a linked MongoDB Atlas data source. This is commonly `"mongodb-atlas"` though it may be different in your App if you chose a different name when you created the data source.
  - `database` string, required — The name of a database in the specified data source.
  - `collection` string, required — The name of a collection in the specified database.
  - `filter` object, required — A MongoDB query filter that matches documents. For a list of all query operators that the Data API supports, see [Query Operators](https://www.mongodb.com/docs/atlas/app-services/mongodb/crud-and-aggregation-apis/#query-operators).
  - `projection` object — A [MongoDB projection](https://www.mongodb.com/docs/manual/tutorial/project-fields-from-query-results/) for matched documents returned by the operation.

## Response `200`

Found

- FindOneResponseBody — The result of a findOne operation.
  - `document` object, nullable — A document that matches the specified filter. If no documents match, this is `null`.

## Other responses

- `400` — The request was malformed or incomplete.
- `401` — The authenticated user does not have permission to access this endpoint.

---

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