---
title: "Share one immutable draft preview with a named recipient"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.sureshake.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Sureshake API › entities

`POST /v2/entities/{id}/presentation/preview-grants`

## Path parameters

- `id` (`company-presentations-create-preview-grant.path.id`; string, required)
  - format `uuid`

## Request body

_Required._

- `versionId` (`company-presentations-create-preview-grant.versionId`; string, required)
  - format `uuid`
- `recipientIdentifier` (`company-presentations-create-preview-grant.recipientIdentifier`; string, required)
  - minLength 1; maxLength 320
- `expiresAt` (`company-presentations-create-preview-grant.expiresAt`; string, required)
  - format `date-time`
- `operatorOverride` (`company-presentations-create-preview-grant.operatorOverride`; object, optional)
  - `confirmed` (`company-presentations-create-preview-grant.operatorOverride.confirmed`; boolean, required)
    - one of `true`
  - `reason` (`company-presentations-create-preview-grant.operatorOverride.reason`; string, required)
    - minLength 10; maxLength 500

## Example request

```json
{
  "versionId": "14707576-2549-4848-82ed-f68f8a1b47c7",
  "recipientIdentifier": "string",
  "expiresAt": "2019-08-24T14:15:22Z",
  "operatorOverride": {
    "confirmed": true,
    "reason": "stringstri"
  }
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url 'https://api.sureshake.com/v2/entities/<id>/presentation/preview-grants' \
  --header 'Content-Type: application/json' \
  --data '
{
  "versionId": "14707576-2549-4848-82ed-f68f8a1b47c7",
  "recipientIdentifier": "string",
  "expiresAt": "2019-08-24T14:15:22Z",
  "operatorOverride": {
    "confirmed": true,
    "reason": "stringstri"
  }
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/entities/<id>/presentation/preview-grants';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    versionId: '14707576-2549-4848-82ed-f68f8a1b47c7',
    recipientIdentifier: 'string',
    expiresAt: '2019-08-24T14:15:22Z',
    operatorOverride: {confirmed: true, reason: 'stringstri'}
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sureshake.com/v2/entities/<id>/presentation/preview-grants"

payload = {
    "versionId": "14707576-2549-4848-82ed-f68f8a1b47c7",
    "recipientIdentifier": "string",
    "expiresAt": "2019-08-24T14:15:22Z",
    "operatorOverride": {
        "confirmed": True,
        "reason": "stringstri"
    }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 201

Default Response

#### Example

```json
{
  "data": {
    "grant": {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "presentationId": "e1fc6bcc-f902-4bce-8b40-504b99e58d26",
      "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
      "versionId": "14707576-2549-4848-82ed-f68f8a1b47c7",
      "recipientUserId": "string",
      "grantedByUserId": "string",
      "expiresAt": "2019-08-24T14:15:22Z",
      "revokedAt": "2019-08-24T14:15:22Z",
      "revokedByUserId": "string",
      "createdAt": "2019-08-24T14:15:22Z"
    },
    "recipient": {
      "id": "string",
      "name": "string",
      "email": "user@example.com"
    },
    "status": "active",
    "sharePath": "string"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`company-presentations-create-preview-grant.response.201.data`; object, required)
  - `grant` (`company-presentations-create-preview-grant.response.201.data.grant`; object, required)
    - `id` (`company-presentations-create-preview-grant.response.201.data.grant.id`; string, required)
      - format `uuid`
    - `presentationId` (`company-presentations-create-preview-grant.response.201.data.grant.presentationId`; string, required)
      - format `uuid`
    - `entityId` (`company-presentations-create-preview-grant.response.201.data.grant.entityId`; string, required)
      - format `uuid`
    - `versionId` (`company-presentations-create-preview-grant.response.201.data.grant.versionId`; string, required)
      - format `uuid`
    - `recipientUserId` (`company-presentations-create-preview-grant.response.201.data.grant.recipientUserId`; string, required)
      - minLength 1
    - `grantedByUserId` (`company-presentations-create-preview-grant.response.201.data.grant.grantedByUserId`; string, required)
      - minLength 1
    - `expiresAt` (`company-presentations-create-preview-grant.response.201.data.grant.expiresAt`; string, required)
      - format `date-time`
    - `revokedAt` (`company-presentations-create-preview-grant.response.201.data.grant.revokedAt`; string, required, nullable)
      - format `date-time`
    - `revokedByUserId` (`company-presentations-create-preview-grant.response.201.data.grant.revokedByUserId`; string, required, nullable)
      - minLength 1
    - `createdAt` (`company-presentations-create-preview-grant.response.201.data.grant.createdAt`; string, required)
      - format `date-time`
  - `recipient` (`company-presentations-create-preview-grant.response.201.data.recipient`; object, required)
    - `id` (`company-presentations-create-preview-grant.response.201.data.recipient.id`; string, required)
      - minLength 1
    - `name` (`company-presentations-create-preview-grant.response.201.data.recipient.name`; string, required)
      - minLength 1
    - `email` (`company-presentations-create-preview-grant.response.201.data.recipient.email`; string, required)
      - format `email`
  - `status` (`company-presentations-create-preview-grant.response.201.data.status`; string, required)
    - one of `"active"`, `"expired"`, `"revoked"`
  - `sharePath` (`company-presentations-create-preview-grant.response.201.data.sharePath`; string, required)
    - pattern `^\/`
- `meta` (`company-presentations-create-preview-grant.response.201.meta`; object, optional)
  - `timestamp` (`company-presentations-create-preview-grant.response.201.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`company-presentations-create-preview-grant.response.400.error`; object, required)
  - `code` (`company-presentations-create-preview-grant.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`company-presentations-create-preview-grant.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`company-presentations-create-preview-grant.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`company-presentations-create-preview-grant.response.400.error.traceId`; string, optional) — Unique ID for log correlation

### 401

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`company-presentations-create-preview-grant.response.401.error`; object, required)
  - `code` (`company-presentations-create-preview-grant.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`company-presentations-create-preview-grant.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`company-presentations-create-preview-grant.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`company-presentations-create-preview-grant.response.401.error.traceId`; string, optional) — Unique ID for log correlation

### 403

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`company-presentations-create-preview-grant.response.403.error`; object, required)
  - `code` (`company-presentations-create-preview-grant.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`company-presentations-create-preview-grant.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`company-presentations-create-preview-grant.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`company-presentations-create-preview-grant.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 404

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`company-presentations-create-preview-grant.response.404.error`; object, required)
  - `code` (`company-presentations-create-preview-grant.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`company-presentations-create-preview-grant.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`company-presentations-create-preview-grant.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`company-presentations-create-preview-grant.response.404.error.traceId`; string, optional) — Unique ID for log correlation

### 409

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`company-presentations-create-preview-grant.response.409.error`; object, required)
  - `code` (`company-presentations-create-preview-grant.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`company-presentations-create-preview-grant.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`company-presentations-create-preview-grant.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`company-presentations-create-preview-grant.response.409.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`company-presentations-create-preview-grant.response.500.error`; object, required)
  - `code` (`company-presentations-create-preview-grant.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`company-presentations-create-preview-grant.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`company-presentations-create-preview-grant.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`company-presentations-create-preview-grant.response.500.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/company-presentations-create-preview-grant/index.md
