Projects are organizational containers that group related content based on business context or workflows. Unlike categories (which classify content by its properties), projects organize content by how it's being used—whether that's a research initiative, compliance audit, product launch, or client engagement.
A project is a named collection of content within a dataspace. Think of it as a folder or workspace that brings together documents relevant to a specific business objective.
Key Characteristics:
- Business-focused: Organize by initiative, not by document type
- Many-to-many: Content can belong to multiple projects simultaneously
- Cross-category: Projects can contain content from any category
Example Project Structure:
Project: "Loan Application - Smith, John (LA-2024-1547)"
├── Loan Application Form (Category: Application)
├── Credit Report (Category: Financial Document)
├── Employment Verification (Category: Verification Document)
├── Property Appraisal (Category: Appraisal Report)
└── Approval Memo (Category: Internal Memo)All these documents have different categories, but they're all part of the same loan application process.
Projects support full CRUD operations (Create, Read, Update, Delete) via the Workspace API. You can create projects within a dataspace, list all projects, update project details (name and description), and delete projects when they're no longer needed.
Note: Deleting a project removes only the project container itself—the content it contains remains in the dataspace.
For complete API documentation, see the Workspace API Reference.
Content can be associated with and dissociated from projects at any time. A single piece of content can belong to multiple projects.
POST https://sws-{workspaceId}.cloud.syncdocs.ai/api/projects/{dataspaceId}/{projectId}/content/{contentId}
Authorization: Bearer <token>Example: Add a credit report to the loan application project:
POST https://sws-{workspaceId}.cloud.syncdocs.ai/api/projects/sds-abc12345/proj-550e8400-uuid/content/cnt-12345678-uuid
Authorization: Bearer <token>This creates an association between the project and the content. The content can still be associated with other projects.
DELETE https://sws-{workspaceId}.cloud.syncdocs.ai/api/projects/{dataspaceId}/{projectId}/content/{contentId}
Authorization: Bearer <token>This removes the association but does not delete the content itself.
GET https://sws-{workspaceId}.cloud.syncdocs.ai/api/projects/{dataspaceId}/{projectId}/content
Authorization: Bearer <token>Response:
{
"contentIds": [
"cnt-12345678-uuid",
"cnt-23456789-uuid",
"cnt-34567890-uuid"
]
}Because projects use a many-to-many relationship with content, you can organize the same documents in multiple ways:
Example:
Content: "Credit Report - Smith, John"
├── Project: "Loan Application - Smith, John (LA-2024-1547)" (mortgage application)
├── Project: "Credit Review - October 2024" (monthly credit review batch)
└── Project: "Compliance Audit Q4 2024" (sample for audit review)This flexibility allows different teams to organize the same content according to their workflows without duplication.
Projects become especially powerful when combined with queries. You can scope queries to specific projects to focus AI responses on relevant context.
POST https://sws-{workspaceId}.cloud.syncdocs.ai/api/content/{dataspaceId}/query
Authorization: Bearer <token>
Content-Type: application/json
{
"query": "What is the applicant's employment status and annual income?",
"context": {
"contentFilters": {
"projectId": "proj-550e8400-uuid"
}
}
}How This Works:
- Query filters content to only those in the specified project
- Vector search operates on the filtered set
- AI response is generated using only project-relevant documents
- Citations reference documents within the project
You can combine project filters with other content filters:
POST https://sws-{workspaceId}.cloud.syncdocs.ai/api/content/{dataspaceId}/query
Authorization: Bearer <token>
Content-Type: application/json
{
"query": "What verification documents are still pending?",
"context": {
"contentFilters": {
"projectId": "proj-550e8400-uuid",
"categoryId": "cat-verification-uuid",
"metadata": {
"verificationStatus": "pending"
}
}
}
}This query searches only verification documents within the project that have pending status.
POST https://sws-{workspaceId}.cloud.syncdocs.ai/api/content/{dataspaceId}/query
Authorization: Bearer <token>
Content-Type: application/json
{
"query": "Provide a complete summary of this loan application and recommend approval or denial",
"agentId": "agent-underwriting-uuid",
"context": {
"contentFilters": {
"projectId": "proj-550e8400-uuid"
}
}
}The underwriting agent analyzes all documents in the loan application project to provide a comprehensive recommendation.
- Understand Content - Learn how content relates to projects
- Explore Queries - Use projects to scope AI queries
- Learn about Categories - Compare with category-based organization
- API Reference - Complete project API documentation