> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://reference.flatfile.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://reference.flatfile.com/_mcp/server.

# Get a view

GET https://api.x.flatfile.com/v1/views/{viewId}

Returns a single view

Reference: https://reference.flatfile.com/api-reference/views/get

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `viewId` (string, required) — ID of view to return

## Response

### 200

- `data` (View, required) — A view

## Errors

### 400 Bad Request Error

- `errors` (list of Error, required)

### 404 Not Found Error

- `errors` (list of Error, required)

## Types

### View

A view

- `id` (string, required) — The ID of the view
- `sheetId` (string, required) — The associated sheet ID of the view
- `name` (string, required) — The name of the view
- `config` (ViewConfig, required) — The view filters of the view
- `createdBy` (string, required) — ID of the actor who created the view

### Error

- `message` (string, required)
- `key` (string, optional)

### ViewConfig

The configuration of a view. Filters, sorting, and search query.

- `commitId` (string, optional) — Commit ID
- `sinceCommitId` (string, optional) — Commit ID
- `sortField` (string, optional) — Name of field by which to sort records
- `sortDirection` (enum, optional) — Sort direction - asc (ascending) or desc (descending)
  - Allowed values: `asc`, `desc`
- `filter` (enum, optional) — Options to filter records
  - Allowed values: `valid`, `error`, `all`, `none`
- `filterField` (string, optional) — Name of field by which to filter records
- `searchValue` (string, optional) — Search for the given value, returning matching rows. For exact matches, wrap the value in double quotes ("Bob"). To search for null values, send empty double quotes ("")
- `searchField` (string, optional) — Use this to narrow the searchValue results to a specific field
- `ids` (list of string, optional) — The Record Ids param (ids) is a list of record ids that can be passed to several record endpoints allowing the user to identify specific records to INCLUDE in the query, or specific records to EXCLUDE, depending on whether or not filters are being applied. When passing a query param that filters the record dataset, such as 'searchValue', or a 'filter' of 'valid' | 'error' | 'all', the 'ids' param will EXCLUDE those records from the filtered results. For basic queries that do not filter the dataset, passing record ids in the 'ids' param will limit the dataset to INCLUDE just those specific records. Maximum of 100 allowed.
- `pageSize` (integer, optional) — Number of records to return in a page (default 10,000)
- `pageNumber` (integer, optional) — Based on pageSize, which page of records to return (Note - numbers start at 1)
- `includeLength` (boolean, optional) — The length of the record result set, returned as counts.total
- `includeLinks` (boolean, optional) — If true, linked records will be included in the results. Defaults to false.
- `includeMessages` (boolean, optional) — Include error messages, defaults to false.
- `for` (string, optional) — if "for" is provided, the query parameters will be pulled from the event payload
- `q` (string, optional) — An FFQL query used to filter the result set
- `versionId` (string, optional, deprecated) — Deprecated, use `commitId` instead.
- `sinceVersionId` (string, optional, deprecated) — Deprecated, use `sinceCommitId` instead.
- `includeCounts` (boolean, optional, deprecated) — **DEPRECATED** Use GET /sheets/:sheetId/counts

## Examples

**Response**

```json
{
  "data": {
    "id": "us_vi_YOUR_ID",
    "sheetId": "us_sh_YOUR_ID",
    "name": "My View",
    "config": {
      "sortField": "email",
      "sortDirection": "asc",
      "filter": "error",
      "filterField": "email",
      "q": "firstname like %John%"
    },
    "createdBy": "us_usr_YOUR_ID"
  }
}
```

**SDK Code**

```python Example0
import requests

url = "https://api.x.flatfile.com/v1/views/us_vi_YOUR_ID"

headers = {
    "X-Disable-Hooks": "true",
    "Authorization": "Bearer <token>"
}

response = requests.get(url, headers=headers)

print(response.json())
```

```typescript Example0
import { FlatfileClient } from "@flatfile/api";

const client = new FlatfileClient({ token: "YOUR_TOKEN" });
await client.views.get("us_vi_YOUR_ID");

```

```go Example0
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.x.flatfile.com/v1/views/us_vi_YOUR_ID"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-Disable-Hooks", "true")
	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Example0
require 'uri'
require 'net/http'

url = URI("https://api.x.flatfile.com/v1/views/us_vi_YOUR_ID")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-Disable-Hooks"] = 'true'
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Example0
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.x.flatfile.com/v1/views/us_vi_YOUR_ID")
  .header("X-Disable-Hooks", "true")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Example0
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.x.flatfile.com/v1/views/us_vi_YOUR_ID', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'X-Disable-Hooks' => 'true',
  ],
]);

echo $response->getBody();
```

```csharp Example0
using RestSharp;

var client = new RestClient("https://api.x.flatfile.com/v1/views/us_vi_YOUR_ID");
var request = new RestRequest(Method.GET);
request.AddHeader("X-Disable-Hooks", "true");
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Example0
import Foundation

let headers = [
  "X-Disable-Hooks": "true",
  "Authorization": "Bearer <token>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.x.flatfile.com/v1/views/us_vi_YOUR_ID")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```