> ISPO SDK documentation. [HTML](https://ispo.ai/docs/interfaces/core.EntityPrivateContentApi.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Interface EntityPrivateContentApi

Private Entity bytes never surface through Files selectors or URLs.

```typescript
interface EntityPrivateContentApi {
    append(
        input: {
            bytes: Uint8Array<ArrayBuffer>;
            entityId: string;
            idempotencyKey?: string;
            mediaType: string;
            metadata?: Record<string, CloudSyncJsonValue>;
            slotId: string;
            type: string;
        },
    ): Promise<
        {
            byteLength: number;
            contentId: string;
            createdAt: string;
            entityId: string;
            mediaType: string;
            metadata?: Record<string, CloudSyncJsonValue>;
            redactedAt?: string;
            sha256: string;
            slotId: string;
            type: string;
        },
    >;
    read(
        input: {
            contentId: string;
            entityId: string;
            slotId: string;
            type: string;
        },
    ): Promise<
        {
            bytes: Uint8Array<ArrayBuffer>;
            content: {
                byteLength: number;
                contentId: string;
                createdAt: string;
                entityId: string;
                mediaType: string;
                metadata?: Record<string, CloudSyncJsonValue>;
                redactedAt?: string;
                sha256: string;
                slotId: string;
                type: string;
            };
        },
    >;
    redact(
        input: {
            contentId: string;
            entityId: string;
            idempotencyKey?: string;
            slotId: string;
            type: string;
        },
    ): Promise<
        {
            byteLength: number;
            contentId: string;
            createdAt: string;
            entityId: string;
            mediaType: string;
            metadata?: Record<string, CloudSyncJsonValue>;
            redactedAt?: string;
            sha256: string;
            slotId: string;
            type: string;
        },
    >;
}
```

Types: [append](#append-1), [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md), [read](#read-1), [redact](#redact-1)

##### Index

### <a id="methods"></a>Methods

[append](#append) [read](#read) [redact](#redact)

## <a id="methods-1"></a>Methods

### <a id="append"></a>append

*   <a id="append-1"></a>
    
    ```typescript
    append(
        input: {
            bytes: Uint8Array<ArrayBuffer>;
            entityId: string;
            idempotencyKey?: string;
            mediaType: string;
            metadata?: Record<string, CloudSyncJsonValue>;
            slotId: string;
            type: string;
        },
    ): Promise<
        {
            byteLength: number;
            contentId: string;
            createdAt: string;
            entityId: string;
            mediaType: string;
            metadata?: Record<string, CloudSyncJsonValue>;
            redactedAt?: string;
            sha256: string;
            slotId: string;
            type: string;
        },
    >
    ```
    
    Types: [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md)
    
    #### Parameters
    
    *   input: {  
            bytes: Uint8Array<ArrayBuffer\>;  
            entityId: string;  
            idempotencyKey?: string;  
            mediaType: string;  
            metadata?: Record<string, [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md)\>;  
            slotId: string;  
            type: string;  
        }
    
    #### Returns Promise<  
        {  
            byteLength: number;  
            contentId: string;  
            createdAt: string;  
            entityId: string;  
            mediaType: string;  
            metadata?: Record<string, [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md)\>;  
            redactedAt?: string;  
            sha256: string;  
            slotId: string;  
            type: string;  
        },  
    \>
    

### <a id="read"></a>read

*   <a id="read-1"></a>
    
    ```typescript
    read(
        input: {
            contentId: string;
            entityId: string;
            slotId: string;
            type: string;
        },
    ): Promise<
        {
            bytes: Uint8Array<ArrayBuffer>;
            content: {
                byteLength: number;
                contentId: string;
                createdAt: string;
                entityId: string;
                mediaType: string;
                metadata?: Record<string, CloudSyncJsonValue>;
                redactedAt?: string;
                sha256: string;
                slotId: string;
                type: string;
            };
        },
    >
    ```
    
    Types: [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md)
    
    #### Parameters
    
    *   input: { contentId: string; entityId: string; slotId: string; type: string }
    
    #### Returns Promise<  
        {  
            bytes: Uint8Array<ArrayBuffer\>;  
            content: {  
                byteLength: number;  
                contentId: string;  
                createdAt: string;  
                entityId: string;  
                mediaType: string;  
                metadata?: Record<string, [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md)\>;  
                redactedAt?: string;  
                sha256: string;  
                slotId: string;  
                type: string;  
            };  
        },  
    \>
    

### <a id="redact"></a>redact

*   <a id="redact-1"></a>
    
    ```typescript
    redact(
        input: {
            contentId: string;
            entityId: string;
            idempotencyKey?: string;
            slotId: string;
            type: string;
        },
    ): Promise<
        {
            byteLength: number;
            contentId: string;
            createdAt: string;
            entityId: string;
            mediaType: string;
            metadata?: Record<string, CloudSyncJsonValue>;
            redactedAt?: string;
            sha256: string;
            slotId: string;
            type: string;
        },
    >
    ```
    
    Types: [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md)
    
    #### Parameters
    
    *   input: {  
            contentId: string;  
            entityId: string;  
            idempotencyKey?: string;  
            slotId: string;  
            type: string;  
        }
    
    #### Returns Promise<  
        {  
            byteLength: number;  
            contentId: string;  
            createdAt: string;  
            entityId: string;  
            mediaType: string;  
            metadata?: Record<string, [CloudSyncJsonValue](../types/core.Supporting_types.CloudSyncJsonValue.md)\>;  
            redactedAt?: string;  
            sha256: string;  
            slotId: string;  
            type: string;  
        },  
    \>
