> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sterndesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Projects and Organizations

> Learn how to create and manage organizations and projects in Sterndesk

# Create Projects and Organizations

This guide walks you through creating organizations and projects to structure your extraction workflows in Sterndesk.

## Prerequisites

Before you begin, ensure you have:

* An API key with appropriate permissions (see [Authentication](/get-started/02-authentication))
* Basic understanding of the [organization and project hierarchy](/concepts/01-organizations-and-projects)

## Creating an Organization

Organizations are the top-level container for your projects. To create an organization, make a POST request to the organizations endpoint:

```bash theme={null}
curl -X POST https://api.eu.sterndesk.com/organizations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Company"
  }'
```

The response includes the organization ID you'll need for creating projects:

```json theme={null}
{
  "id": "org_abc123",
  "name": "My Company",
  "created_at": "2024-01-15T10:30:00Z"
}
```

## Creating a Project

Once you have an organization, you can create projects within it. Projects contain your extraction schemas, collectors, and resulting extractions.

```bash theme={null}
curl -X POST https://api.eu.sterndesk.com/projects \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "organization_id": "org_abc123",
    "name": "Invoice Processing"
  }'
```

Response:

```json theme={null}
{
  "id": "proj_xyz789",
  "organization_id": "org_abc123",
  "name": "Invoice Processing",
  "created_at": "2024-01-15T10:35:00Z"
}
```

## Listing Your Organizations and Projects

To view all organizations you have access to:

```bash theme={null}
curl https://api.eu.sterndesk.com/organizations \
  -H "Authorization: Bearer YOUR_API_KEY"
```

To list projects within an organization:

```bash theme={null}
curl https://api.eu.sterndesk.com/projects?organization_id=org_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Updating an Organization or Project

Update an organization's name:

```bash theme={null}
curl -X PATCH https://api.eu.sterndesk.com/organizations/org_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Updated Company Name"
  }'
```

Update a project's name:

```bash theme={null}
curl -X PATCH https://api.eu.sterndesk.com/projects/proj_xyz789 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Invoice Processing - Production"
  }'
```

## Deleting Projects and Organizations

<Warning>
  Deleting a project permanently removes all associated data including extraction schemas, collectors, and extractions. This action cannot be undone.
</Warning>

Delete a project:

```bash theme={null}
curl -X DELETE https://api.eu.sterndesk.com/projects/proj_xyz789 \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Delete an organization (all projects within it must be deleted first):

```bash theme={null}
curl -X DELETE https://api.eu.sterndesk.com/organizations/org_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Create Extraction Schemas" icon="code" href="/concepts/02-extraction-schemas">
    Define the structure of data you want to extract from documents
  </Card>

  <Card title="Upload Documents" icon="upload" href="/guides/01-upload-and-extract-documents">
    Start uploading documents to your newly created project
  </Card>
</CardGroup>
