> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# IWorkspacePublisherServiceV2

- Package: [@gooddata/sdk-backend-spi](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/index.md)
- Kind: interface
- Stability: alpha
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-backend-spi/src/workspace/publisher/index.ts

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Service for managing Publisher page templates, document templates and documents in content version 2.

**Signature:**

```typescript
export interface IWorkspacePublisherServiceV2 
```

## Remarks

Every entity is validated on load and before save. Content that fails the validation, or has a version this frontend does not read, throws [PublisherContentNotSupportedError](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.publishercontentnotsupportederror/index.md); a save that fails it never reaches the backend.

The page template and document template lists leave such entities out. The document list keeps them as unsupported items.

Default page templates come from the backend and carry `isDefault: true`. A save under a `default.` id is rejected before the backend, and the backend rejects deleting a default page template. A copy saved under a new id is an ordinary page template.

## Methods

| Method | Description |
| --- | --- |
| [createDocument(publisherDocument)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2createdocument) | **_(ALPHA)_** |
| [createDocumentTemplate(template)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2createdocumenttemplate) | **_(ALPHA)_** |
| [createPageTemplate(template)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2createpagetemplate) | **_(ALPHA)_** |
| [deleteDocument(ref)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2deletedocument) | **_(ALPHA)_** |
| [deleteDocumentTemplate(ref)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2deletedocumenttemplate) | **_(ALPHA)_** |
| [deletePageTemplate(ref)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2deletepagetemplate) | **_(ALPHA)_** |
| [exportDocumentToPdf(ref, options)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2exportdocumenttopdf) | **_(ALPHA)_** The backend renders the document as it is saved, so unsaved changes are not part of the export. |
| [getDocument(ref)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2getdocument) | **_(ALPHA)_** |
| [getDocuments()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2getdocuments) | **_(ALPHA)_** |
| [getDocumentTemplate(ref)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2getdocumenttemplate) | **_(ALPHA)_** |
| [getDocumentTemplates()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2getdocumenttemplates) | **_(ALPHA)_** |
| [getPageTemplate(ref)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2getpagetemplate) | **_(ALPHA)_** |
| [getPageTemplates()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2getpagetemplates) | **_(ALPHA)_** |
| [updateDocument(publisherDocument)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2updatedocument) | **_(ALPHA)_** |
| [updateDocumentTemplate(template)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2updatedocumenttemplate) | **_(ALPHA)_** |
| [updatePageTemplate(template)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacepublisherservicev2/index.md#iworkspacepublisherservicev2updatepagetemplate) | **_(ALPHA)_** |

## Method details

### IWorkspacePublisherServiceV2.createDocument()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
createDocument(publisherDocument: IPublisherDocumentDefinitionV2): Promise<IPublisherDocumentV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| publisherDocument | [IPublisherDocumentDefinitionV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumentdefinitionv2/index.md) |  |

**Returns:**

Promise&lt;[IPublisherDocumentV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumentv2/index.md)&gt;

### IWorkspacePublisherServiceV2.createDocumentTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
createDocumentTemplate(template: IPublisherDocumentTemplateDefinitionV2): Promise<IPublisherDocumentTemplateV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| template | [IPublisherDocumentTemplateDefinitionV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumenttemplatedefinitionv2/index.md) |  |

**Returns:**

Promise&lt;[IPublisherDocumentTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumenttemplatev2/index.md)&gt;

### IWorkspacePublisherServiceV2.createPageTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
createPageTemplate(template: IPublisherPageTemplateDefinitionV2): Promise<IPublisherPageTemplateV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| template | [IPublisherPageTemplateDefinitionV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherpagetemplatedefinitionv2/index.md) |  |

**Returns:**

Promise&lt;[IPublisherPageTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherpagetemplatev2/index.md)&gt;

### IWorkspacePublisherServiceV2.deleteDocument()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
deleteDocument(ref: ObjRef): Promise<void>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) |  |

**Returns:**

Promise&lt;void&gt;

### IWorkspacePublisherServiceV2.deleteDocumentTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
deleteDocumentTemplate(ref: ObjRef): Promise<void>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) |  |

**Returns:**

Promise&lt;void&gt;

### IWorkspacePublisherServiceV2.deletePageTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
deletePageTemplate(ref: ObjRef): Promise<void>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) |  |

**Returns:**

Promise&lt;void&gt;

### IWorkspacePublisherServiceV2.exportDocumentToPdf()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

The backend renders the document as it is saved, so unsaved changes are not part of the export.

**Signature:**

```typescript
exportDocumentToPdf(ref: ObjRef, options?: IPublisherDocumentExportPdfOptions): Promise<IExportResult>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) |  |
| options | [IPublisherDocumentExportPdfOptions](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.ipublisherdocumentexportpdfoptions/index.md) | _(Optional)_ |

**Returns:**

Promise&lt;[IExportResult](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iexportresult/index.md)&gt;

### IWorkspacePublisherServiceV2.getDocument()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
getDocument(ref: ObjRef): Promise<IPublisherDocumentV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) |  |

**Returns:**

Promise&lt;[IPublisherDocumentV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumentv2/index.md)&gt;

### IWorkspacePublisherServiceV2.getDocuments()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
getDocuments(): Promise<PublisherDocumentListItemV2[]>;
```
**Returns:**

Promise&lt;[PublisherDocumentListItemV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.publisherdocumentlistitemv2/index.md)[]&gt;

### IWorkspacePublisherServiceV2.getDocumentTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
getDocumentTemplate(ref: ObjRef): Promise<IPublisherDocumentTemplateV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) |  |

**Returns:**

Promise&lt;[IPublisherDocumentTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumenttemplatev2/index.md)&gt;

### IWorkspacePublisherServiceV2.getDocumentTemplates()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
getDocumentTemplates(): Promise<IPublisherDocumentTemplateV2[]>;
```
**Returns:**

Promise&lt;[IPublisherDocumentTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumenttemplatev2/index.md)[]&gt;

### IWorkspacePublisherServiceV2.getPageTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
getPageTemplate(ref: ObjRef): Promise<IPublisherPageTemplateV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) |  |

**Returns:**

Promise&lt;[IPublisherPageTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherpagetemplatev2/index.md)&gt;

### IWorkspacePublisherServiceV2.getPageTemplates()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
getPageTemplates(): Promise<IPublisherPageTemplateV2[]>;
```
**Returns:**

Promise&lt;[IPublisherPageTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherpagetemplatev2/index.md)[]&gt;

### IWorkspacePublisherServiceV2.updateDocument()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
updateDocument(publisherDocument: IPublisherDocumentV2): Promise<IPublisherDocumentV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| publisherDocument | [IPublisherDocumentV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumentv2/index.md) |  |

**Returns:**

Promise&lt;[IPublisherDocumentV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumentv2/index.md)&gt;

### IWorkspacePublisherServiceV2.updateDocumentTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
updateDocumentTemplate(template: IPublisherDocumentTemplateV2): Promise<IPublisherDocumentTemplateV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| template | [IPublisherDocumentTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumenttemplatev2/index.md) |  |

**Returns:**

Promise&lt;[IPublisherDocumentTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherdocumenttemplatev2/index.md)&gt;

### IWorkspacePublisherServiceV2.updatePageTemplate()

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

**Signature:**

```typescript
updatePageTemplate(template: IPublisherPageTemplateV2): Promise<IPublisherPageTemplateV2>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| template | [IPublisherPageTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherpagetemplatev2/index.md) |  |

**Returns:**

Promise&lt;[IPublisherPageTemplateV2](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipublisherpagetemplatev2/index.md)&gt;
