# 2026.08 Public API / SDK Changes

## Public API

### **New Endpoints**

tech **PATCH Update Content Ingestion State** \- API to update the ingestion state of a content item. Requires write access to the content.

**Path Params:**

- `contentId` (required) - The ID of the content to update

**Body Params:**

- `ingestionState` (required) - The ingestion state to set. Valid values: `QUEUED`, `FINISHED`, `RETRYING`, `RE_INGESTING`, `RE_EMBEDDING`, etc.

**Example**

```
curl --location --request PATCH 'https://api.uat1.unique.app/v1/content/<content-id>/ingestion-state' \
--header 'x-user-id: <user-id>' \
--header 'x-company-id: <company-id>' \
--header 'Authorization: Bearer <api-key>' \
--header 'x-app-id: <app-id>' \
--header 'x-api-version: 2023-12-06' \
--header 'Content-Type: application/json' \
--data '{\n  "ingestionState": "QUEUED"\n}'
```

tech **GET Get User By ID** \- API to get user information by User ID

**Path Params:**

- `userId` (required) - The ID of the user

**Body Params:**

- `-`

**Example**

```
curl --location --request GET 'https://api.uat1.unique.app/v1/users/<user-id>' \
--header 'x-user-id: <user-id>' \
--header 'x-company-id: <company-id>' \
--header 'Authorization: Bearer <api-key>' \
--header 'x-app-id: <app-id>' \
--header 'x-api-version: 2023-12-06'
```

### **Updated Endpoints**

tech **POST Create Folder Structure** \- Enhanced to support creating folders using relative paths from a parent scope, in addition to full paths from root.

**Body Params:**

- `paths` (optional) - An array of full paths starting from root. Each path must start with `/`. Either this or `parentScopeId` + `relativePaths` must be provided.

- Example: `[
  "/path/to/folder", 
  "/another-folder"
]`

- `parentScopeId` (optional) - Parent scope ID to create folders under. Must be provided together with `relativePaths`.

- Example: "scope_fctg9an96pixkij6da9rwaiw"

- `relativePaths` (optional) - An array of relative paths to create under `parentScopeId`. Each path must not start with `/` and cannot be empty. Must be provided together with `parentScopeId`.

- Example: `[
  "subject/date", 
  "another-folder"
]`

- `inheritAccess` (optional) - Whether to inherit access from the parent folder. Defaults to `true`.

- Example: `true`

**Validation Rules:**

- Either `paths` OR (`parentScopeId` + `relativePaths`) must be provided, but not both.

- If `parentScopeId` is provided, `relativePaths` is required and the other way around.

**Example**

```
curl --location --request POST 'https://api.uat1.unique.app/v1/folder' \
--header 'x-user-id: <user-id>' \
--header 'x-company-id: <company-id>' \
--header 'Authorization: Bearer <api-key>' \
--header 'x-app-id: <app-id>' \
--header 'x-api-version: 2023-12-06' \
--header 'Content-Type: application/json' \
--data '{\n  "parentScopeId": "scope_fctg9an96pixkij6da9rwaiw",\n  "relativePaths": [\n    "subject/2024", \n    "subject/2025", \n    "archive"\n  ],\n  "inheritAccess": true\n}'
```

## SDK

### **New Functions**

tech **Update Ingestion State** \- Re-queue content for ingestion or update its processing state. Useful for re-processing failed content or triggering re-ingestion after updates.

**Example**

```
unique_sdk.Content.update_ingestion_state(\n    user_id=user_id,\n    company_id=company_id,\n    contentId="cont_abc123",\n    ingestionState="QUEUED",\n)
```

tech Get User by ID \- Retrieve a specific user by their ID. Useful when you already know the user ID and need to fetch their details without filtering through a list.

**Example**

```
user = unique_sdk.User.get_by_id(\n    user_id=user_id,\n    company_id=company_id,\n    target_user_id="351283829975023795",  # The ID of the user to retrieve\n)
```

### **Updated Functions**

tech **Create Folders by Scope** \- Create folder structures using a parent scope ID and relative paths, without needing to know the full folder path. Useful when you already have a folder ID and want to create subfolders relative to it.

**Example**

```
result = unique_sdk.Folder.create_paths(\n    user_id=user_id,\n    company_id=company_id,\n    parentScopeId="scope_fctg9an96pixkij6da9rwaiw",  # Parent folder ID\n    relativePaths=[\n        "subject/date",  # Creates: <parent_path>/subject/date\n        "another-folder"  # Creates: <parent_path>/another-folder\n    ],\n)
```

| **Author** |  |
