Skip to main content
POST
/
app
/
v1
/
organizations
/
{organizationId}
/
projects
/
{projectId}
/
folders
/
{id}
/
items
Move Folder Items
curl --request POST \
  --url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/folders/{id}/items \
  --header 'Content-Type: application/json' \
  --data '
{
  "items": [
    "<string>"
  ]
}
'
Moves multiple saved searches to a target folder. The saved searches being moved must have a type that matches the target folder’s type.

Path Parameters

organizationId
string
required
Organization ID
projectId
string
required
Project ID
id
string
required
Target folder ID

Request Body

items
string[]
required
Array of saved search IDs to move

Example Request

{
  "items": ["ss123", "ss456"]
}

Response

Returns arrays of successfully moved and failed items.
{
  "moved": [
    { "id": "ss123", "type": "content" },
    { "id": "ss456", "type": "content" }
  ],
  "failed": []
}

Partial Success Response

{
  "moved": [
    { "id": "ss123", "type": "content" }
  ],
  "failed": [
    {
      "id": "ss456",
      "type": "asset",
      "error": "Cannot move asset saved search to a content folder"
    }
  ]
}

Error Responses

Folder Not Found

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Folder not found"
  }
}

Type Mismatch

Type mismatches for individual items are returned in the failed array of the response, not as request-level errors. A request-level error only occurs when the target folder is not found.

Code Examples

curl -X POST "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/folders/folder123/items" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "items": ["ss123", "ss456"]
  }'