Skip to main content

Project Commands

The kdx project command provides extended operations for working with projects, including creating projects from templates.

Available Commands

CommandDescription
createCreate a new project from a template

Create Project from Template

Create a new project using a project template. Project templates provide pre-configured assistants, document stores, data stores, and processing pipelines.
kdx project create --template <template-ref> --org <org-slug> --name <project-name> [flags]

Required Flags

FlagDescription
--templateProject template reference (e.g., satori/satori-spreading-project-template:1.0.0)
--orgOrganization slug where the project will be created
--nameName for the new project

Optional Flags

FlagDescription
--descriptionProject description

Examples

# Create a financial spreading project
kdx project create \
  --template satori/satori-spreading-project-template:1.0.0 \
  --org satori \
  --name "Q4 Financial Analysis"

# Create with description
kdx project create \
  --template kodexa/data-extraction-starter-v2:1.0.0 \
  --org my-org \
  --name "Invoice Processing" \
  --description "Automated invoice data extraction"

Output

Project created: satori/q4-financial-analysis
  ID: 3f0354ee-5e0c-4d6b-9484-18b179bea100

Listing Available Templates

To see available project templates:
kdx get project-templates

Output

REF                                                NAME
satori/satori-spreading-project-template:1.0.0     Financial Spreading (Satori)
kodexa/data-extraction-starter-v2:1.0.0            Data Extraction Starter

Listing Organizations

To see available organizations:
kdx get organizations

Output

SLUG                NAME
satori              Satori
my-org              My Organization
training            Training

Complete Workflow Example

Here’s a complete workflow from project creation to data extraction:
# 1. List available templates
kdx get project-templates

# 2. Create project
kdx project create \
  --template satori/satori-spreading-project-template:1.0.0 \
  --org satori \
  --name "test-project-$(date +%Y%m%d)"

# Note the project ID from output (e.g., 3f0354ee-5e0c-4d6b-9484-18b179bea100)
PROJECT_ID="3f0354ee-5e0c-4d6b-9484-18b179bea100"

# 3. Upload document to the processing store
STORE_REF="satori/${PROJECT_ID}-processing:1.0.0"
kdx store upload "$STORE_REF" ./financial-report.pdf

# Note the document family ID from output
DOC_FAMILY_ID="a700ca3e-38e7-4e63-8974-59c2e9058cf3"

# 4. Monitor processing
kdx store watch $DOC_FAMILY_ID --timeout 600

# 5. Export extracted data
kdx document-family data $DOC_FAMILY_ID -o extracted-data.json

What Project Templates Include

A project template typically includes:
ComponentDescription
AssistantsPre-configured processing pipelines
Document StoresStorage for input documents
Data StoresStorage for extracted data
TaxonomiesData definitions and schemas
Data FormsUI configurations for data review
Knowledge SetsDomain knowledge for extraction

Store Naming Convention

When a project is created from a template, stores are typically named:
Store TypeNaming Pattern
Processing Store{org}/{project-id}-processing:1.0.0
Data Store{org}/{project-id}-data:1.0.0

Troubleshooting

Organization Not Found

Error: organization 'my-org' not found
Solution: Verify the organization slug with kdx get organizations

Template Not Found

Error: template reference not found
Solution:
  • Verify the template reference with kdx get project-templates
  • Ensure you have access to the template

Permission Denied

Error: insufficient permissions to create project
Solution: Ensure your API key has project creation permissions for the organization

Managing Projects

After creation, you can manage projects with standard CRUD operations:
# List projects
kdx get projects

# Get specific project
kdx get projects my-project-name

# Delete project
kdx delete projects my-project-name