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

# List Projects

> List all projects in an organization

## Path Parameters

<ParamField path="organizationId" type="string" required>
  Organization ID
</ParamField>

## Query Parameters

<ParamField query="limit" type="number" default="10">
  Items per page (max 100)
</ParamField>

<ParamField query="lastKey" type="string">
  Pagination cursor from previous response
</ParamField>

## Response

Returns a paginated list of Project objects.

```json theme={null}
{
  "data": [
    {
      "id": "proj123",
      "organizationId": "org123",
      "name": "Marketing Website",
      "slug": "marketing-website",
      "description": "Main marketing website content",
      "status": "active",
      "environment": "production",
      "createdAt": "2024-03-20T10:00:00Z",
      "updatedAt": "2024-03-20T10:00:00Z"
    }
  ],
  "pagination": {
    "lastKey": "eyJwayI6Ik9SRy..."
  }
}
```

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.metabind.ai/app/v1/organizations/org123/projects" \
    -H "Authorization: Bearer YOUR_JWT"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.metabind.ai/app/v1/organizations/org123/projects',
    {
      headers: {
        'Authorization': 'Bearer YOUR_JWT'
      }
    }
  );

  const { data, pagination } = await response.json();
  console.log(`Found ${data.length} projects`);
  ```

  ```swift Swift theme={null}
  let url = URL(string: "https://api.metabind.ai/app/v1/organizations/org123/projects")!
  var request = URLRequest(url: url)
  request.setValue("Bearer YOUR_JWT", forHTTPHeaderField: "Authorization")

  let (data, _) = try await URLSession.shared.data(for: request)
  let result = try JSONDecoder().decode(ProjectListResponse.self, from: data)
  ```

  ```kotlin Kotlin theme={null}
  val response = client.get("https://api.metabind.ai/app/v1/organizations/org123/projects") {
      header("Authorization", "Bearer YOUR_JWT")
  }

  val result = response.body<ProjectListResponse>()
  println("Found ${result.data.size} projects")
  ```
</CodeGroup>
