# Cut a PDF into parts or extract pages

`POST /v1/edit/pdf/split`

Makes one PDF per range: 3 is page 3, 2-4 is pages 2 to 4, 5- is page 5 to the end. Pages count from 1. A range outside the document is refused and named. A password protected PDF is refused.

## Request body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| content_base64 | string | yes | The PDF as base64 |
| ranges | array of string | yes | One PDF is made per range: 3 is page 3, 2-4 is pages 2 to 4, 5- is page 5 to the end |

## Example request

A request body that works, as JSON.

```json
{
  "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
  "ranges": [
    "2"
  ]
}
```

## Code samples

Replace YOUR_TOKEN with your access token.

### curl

```shell
curl -X POST 'https://api.skillfulsardine.com/v1/edit/pdf/split' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
  "ranges": [
    "2"
  ]
}'
```

### PowerShell

```powershell
$body = @'
{
  "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
  "ranges": [
    "2"
  ]
}
'@
$response = Invoke-RestMethod -Method Post -Uri 'https://api.skillfulsardine.com/v1/edit/pdf/split' `
  -Headers @{ Authorization = 'Bearer YOUR_TOKEN' } `
  -ContentType 'application/json; charset=utf-8' `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
$response | ConvertTo-Json -Depth 10
```

### Python

```python
import requests

payload = {
    "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
    "ranges": [
        "2",
    ],
}

response = requests.post(
    "https://api.skillfulsardine.com/v1/edit/pdf/split",
    headers={"Authorization": "Bearer YOUR_TOKEN"},
    json=payload,
    timeout=30,
)
print(response.json())
```

### JavaScript

```javascript
const response = await fetch("https://api.skillfulsardine.com/v1/edit/pdf/split", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
  "ranges": [
    "2"
  ]
}),
});
const result = await response.json();
console.log(result);
```

### Node

```javascript
// Node 18 or later. Save as call.mjs and run: API_TOKEN=... node call.mjs
const token = process.env.API_TOKEN;

const response = await fetch("https://api.skillfulsardine.com/v1/edit/pdf/split", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${token}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
  "ranges": [
    "2"
  ]
}),
});
const result = await response.json();
console.log(result);
```

### Rust

```rust
// Cargo.toml: reqwest = { version = "0.12", features = ["blocking", "json"] }, serde_json = "1"
fn main() -> Result<(), Box<dyn std::error::Error>> {
    let body: serde_json::Value = serde_json::from_str(r#"{
  "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
  "ranges": [
    "2"
  ]
}"#)?;
    let response = reqwest::blocking::Client::new()
        .post("https://api.skillfulsardine.com/v1/edit/pdf/split")
        .bearer_auth("YOUR_TOKEN")
        .json(&body)
        .send()?;
    println!("{}", response.text()?);
    Ok(())
}
```

### Swift

```swift
import Foundation

var request = URLRequest(url: URL(string: "https://api.skillfulsardine.com/v1/edit/pdf/split")!)
request.httpMethod = "POST"
request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = Data(#"""
{
  "content_base64": "JVBERi0xLjMKJenr8b8KMSAwIG9iago8PAovQ291bnQgMgovS2lkcyBbMyAwIFIKNSAwIFJdCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9UeXBlIC9QYWdlcwo+PgplbmRvYmoKMiAwIG9iago8PAovT3BlbkFjdGlvbiBbMyAwIFIgL0ZpdEggbnVsbF0KL1BhZ2VMYXlvdXQgL09uZUNvbHVtbgovUGFnZXMgMSAwIFIKL1R5cGUgL0NhdGFsb2cKPj4KZW5kb2JqCjMgMCBvYmoKPDwKL0NvbnRlbnRzIDQgMCBSCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyA4IDAgUgovVHlwZSAvUGFnZQo+PgplbmRvYmoKNCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDg4Cj4+CnN0cmVhbQp4nDNS8OIy0DM1VyjncgpR0HczVDA00jMwUAhJU3ANAQkZG+oZWihYGBjrWZoohKQoaHjmleVnJqcqmBgpJOalKATkp2SW5oKo5MTiEk2FkCyQRgBqWhYvCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PAovQ29udGVudHMgNiAwIFIKL1BhcmVudCAxIDAgUgovUmVzb3VyY2VzIDkgMCBSCi9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggODIKPj4Kc3RyZWFtCnicM1Lw4jLQMzVXKOdyClHQdzNUMDTSMzBQCElTcA0BCRkb6hlaKFgYGOtZmiiEpChohKQW5RYr5KcplGSkKmTmleVnJqdqKoRkgdQDALFbE3sKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKOCAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKOSAwIG9iago8PAovRm9udCA8PC9GMSA3IDAgUj4+Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQo+PgplbmRvYmoKMTAgMCBvYmoKPDwKL0NyZWF0aW9uRGF0ZSAoRDoyMDI2MTAyNTE0NDkzMFopCj4+CmVuZG9iagp4cmVmCjAgMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDggMDAwMDAgbiAKMDAwMDAwMDIxMSAwMDAwMCBuIAowMDAwMDAwMjkxIDAwMDAwIG4gCjAwMDAwMDA0NTAgMDAwMDAgbiAKMDAwMDAwMDUzMCAwMDAwMCBuIAowMDAwMDAwNjgzIDAwMDAwIG4gCjAwMDAwMDA3ODAgMDAwMDAgbiAKMDAwMDAwMDg2NyAwMDAwMCBuIAowMDAwMDAwOTU0IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTEKL1Jvb3QgMiAwIFIKL0luZm8gMTAgMCBSCi9JRCBbPDUwMEExNTQ1MTM0MzNBODA0RkE2NEE5NjRCQTA5OTgzPjw1MDBBMTU0NTEzNDMzQTgwNEZBNjRBOTY0QkEwOTk4Mz5dCj4+CnN0YXJ0eHJlZgoxMDEwCiUlRU9GCg==",
  "ranges": [
    "2"
  ]
}
"""#.utf8)

let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))
```

## Response

The fields inside `data` of a successful response.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| files | array of SplitPdfFile | yes | One entry per range |

## Example response

A real answer from the operation, as JSON. The fields in the table above are inside `data`.

```json
{
  "data": {
    "files": [
      {
        "range": "2",
        "content_base64": "JVBERi0xLjMKJeLjz9MKMSAwIG9iago8PAovUHJvZHVjZXIgKHB5cGRmKQo+PgplbmRvYmoKMiAwIG9iago8PAovVHlwZSAvUGFnZXMKL0NvdW50IDEKL0tpZHMgWyA0IDAgUiBdCj4+CmVuZG9iagozIDAgb2JqCjw8Ci9UeXBlIC9DYXRhbG9nCi9QYWdlcyAyIDAgUgo+PgplbmRvYmoKNCAwIG9iago8PAovQ29udGVudHMgNSAwIFIKL1Jlc291cmNlcyA2IDAgUgovVHlwZSAvUGFnZQovTWVkaWFCb3ggWyAwIDAgNTk1LjI4IDg0MS44OSBdCi9QYXJlbnQgMiAwIFIKPj4KZW5kb2JqCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCA4Mgo+PgpzdHJlYW0KeJwzUvDiMtAzNVco53IKUdB3M1QwNNIzMFAISVNwDQEJGRvqGVooWBgY61maKISkKGiEpBblFivkpymUZKQqZOaV5Wcmp2oqhGSB1AMAsVsTewplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoKPDwKL0ZvbnQgPDwKL0YxIDcgMCBSCj4+Ci9Qcm9jU2V0IFsgL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSSBdCj4+CmVuZG9iago3IDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCi9TdWJ0eXBlIC9UeXBlMQovVHlwZSAvRm9udAo+PgplbmRvYmoKeHJlZgowIDgKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAwNTQgMDAwMDAgbiAKMDAwMDAwMDExMyAwMDAwMCBuIAowMDAwMDAwMTYyIDAwMDAwIG4gCjAwMDAwMDAyNzQgMDAwMDAgbiAKMDAwMDAwMDQyNyAwMDAwMCBuIAowMDAwMDAwNTE4IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgOAovUm9vdCAzIDAgUgovSW5mbyAxIDAgUgo+PgpzdGFydHhyZWYKNjE1CiUlRU9GCg==",
        "page_count": 1
      }
    ]
  },
  "errors": null,
  "meta": {
    "request_id": "0e1a342d-1a7e-413a-829f-cf1b9df471d0",
    "timestamp": "2026-10-27T07:19:42.200878Z",
    "version": "2026-03-26"
  },
  "pagination": null
}
```

## Responses

| Status | When it happens |
| --- | --- |
| 200 | Successful Response |
| 400 | The body respects the operation schema, but the use case rejected it. Each problem is one ApiError entry |
| 413 | The request is larger than the request size limit of the API allows |
| 422 | The body does not respect the operation schema. Each problem is one ApiError entry with the code validation_error |
| 500 | Something failed inside the server and was not an input problem. The same envelope, errors may be empty |

---
Source: https://skillfulsardine.com/developers/api/split-pdf/