# Get a document's source **GET /{index}/_source/{id}** Get the source of a document. For example: ``` GET my-index-000001/_source/1 ``` You can use the source filtering parameters to control which parts of the `_source` are returned: ``` GET my-index-000001/_source/1/?_source_includes=*.id&_source_excludes=entities ``` ## Required authorization * Index privileges: `read` [External documentation](https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/mapping-source-field) ## Servers - http://api.example.com: http://api.example.com () ## Authentication methods - Api key auth - Basic auth - Bearer auth ## Parameters ### Path parameters - **index** (string) The name of the index that contains the document. - **id** (string) A unique document identifier. ### Query parameters - **preference** (string) The node or shard the operation should be performed on. By default, the operation is randomized between the shard replicas. - **realtime** (boolean) If `true`, the request is real-time as opposed to near-real-time. - **refresh** (boolean) If `true`, the request refreshes the relevant shards before retrieving the document. Setting it to `true` should be done after careful thought and verification that this does not cause a heavy load on the system (and slow down indexing). - **routing** (string | array[string]) A custom value used to route operations to a specific shard. - **_source** (boolean | string | array[string]) Indicates whether to return the `_source` field (`true` or `false`) or lists the fields to return. - **_source_excludes** (string | array[string]) A comma-separated list of source fields to exclude in the response. - **_source_includes** (string | array[string]) A comma-separated list of source fields to include in the response. - **version** (number) The version number for concurrency control. It must match the current version of the document for the request to succeed. - **version_type** (string) The version type. Supported values include: - `internal`: Use internal versioning that starts at 1 and increments with each update or delete. - `external`: Only index the document if the specified version is strictly higher than the version of the stored document or if there is no existing document. - `external_gte`: Only index the document if the specified version is equal or higher than the version of the stored document or if there is no existing document. NOTE: The `external_gte` version type is meant for special use cases and should be used with care. If used incorrectly, it can result in loss of data. ## Responses ### 200 #### Body: application/json (object) object [Powered by Bump.sh](https://bump.sh)