> This page is for version v2024-12-23.
> For other versions, use one of these documentation indexes:
> - v2026-02-09 (default): https://docs.extend.ai/2026-02-09/llms.txt
> - v2025-04-21: https://docs.extend.ai/2025-04-21/llms.txt
> - v2024-12-23: https://docs.extend.ai/2024-12-23/llms.txt

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.extend.ai/llms.txt
> Use this file to discover all available pages before exploring further.
>
> ## API version
> The current API version is `2026-02-09`, served at the site root (no version prefix in URLs).
> If this page URL contains `/2025-04-21/` or `/2024-12-23/`, you are reading an older API version.
> Prefer the current docs at https://docs.extend.ai/llms.txt unless the user explicitly needs that older version.
> Do not treat older-version pages as the source of truth for new integrations.

# Create Evaluation Set

Evaluation sets are collections of files and expected outputs that are used to evaluate the performance of a given processor in Extend.
This endpoint will create a new evaluation set in Extend, which items can be added to using the [Create Evaluation Set item](/2024-12-23/developers/evaluation-set-endpoints/create-evaluation-set-item) endpoint.

*Note:* it is not necessary to create an evaluation set via API. You can also create an evaluation set via the Extend dashboard and take the ID from there:

![](/_fern-files/_img/5e18235694ecf5484d648c94b1b31e1cfd3cef83d7304067e5bcc678c8926699.webp)

### Body

**`name`** `string` — required

The name of the evaluation set.

---

**`description`** `string` — required

A description of the evaluation set.

---

**`processorId`** `string` — required

The ID of the processor to associate with this evaluation set. Evaluation sets
can in theory be run against any processor, but it is required to associate
the evaluation set with a primary processor.

---

### Response

**`success`** `boolean`

A true or false value for whether the evaluation set was created successfully
or not.

---

**`evaluationSet`** `EvaluationSet`

An EvaluationSet object representing the newly created evaluation set. See the
[EvaluationSet object](/2024-12-23/developers/objects/evaluation-set) for more details.

---

```curl
curl --request POST \
  --url https://api-prod.extend.app/evaluation_sets \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "description": "<string>",
  "processorId": "<string>"
}'
```

```python
import requests

url = "https://api-prod.extend.app/evaluation_sets"

payload = {
"name": "<string>",
"description": "<string>",
"processorId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)

```

```javascript
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"name":"<string>","description":"<string>","processorId":"<string>"}'
};

fetch('https://api-prod.extend.app/evaluation_sets', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
```

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api-prod.extend.app/evaluation_sets",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\n  \"name\": \"<string>\",\n  \"description\": \"<string>\",\n  \"processorId\": \"<string>\"\n}",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

```go
package main

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

func main() {

	url := "https://api-prod.extend.app/evaluation_sets"

	payload := strings.NewReader("{\n  \"name\": \"<string>\",\n  \"description\": \"<string>\",\n  \"processorId\": \"<string>\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

```java
HttpResponse<String> response = Unirest.post("https://api-prod.extend.app/evaluation_sets")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"<string>\",\n  \"description\": \"<string>\",\n  \"processorId\": \"<string>\"\n}")
  .asString();
```

**`Example Response`**

```json Example Response
{
  "success": true,
  "evaluationSet": {
    "object": "evaluation_set",
    "id": "ev_2LcgeY_mp2T5yPaEuq5Lw",
    "name": "Invoice Processing Test Set",
    "description": "Q4 2023 vendor invoices for accuracy testing",
    "processorId": "dp_Xj8mK2pL9nR4vT7qY5wZ",
    "createdAt": "2024-03-21T15:30:00Z",
    "updatedAt": "2024-03-21T16:45:00Z"
  }
}
```