# Get Projects

> Pod Engine API endpoint reference, optimized for LLM consumption.
> Auto-generated from the source-of-truth endpoint registry.
>
> Category: Projects
> Source: https://www.podengine.ai/api-docs/get-projects.md
> Interactive HTML docs: https://www.podengine.ai/api-docs/get-projects
> Full API reference (all endpoints): https://www.podengine.ai/api-docs/llms.txt

**Base URL:** `http://localhost:4000`
**Auth:** Requires a Bearer token: `Authorization: Bearer YOUR_API_KEY`

---

#### GET /api/v1/projects
**Get Projects**

Get a list of projects for the authenticated user

```bash
curl -X GET "http://localhost:4000/api/v1/projects?states=ACTIVE" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Query schema:**
```json
{
  "type": "object",
  "properties": {
    "states": {},
    "sortBy": {
      "type": "string",
      "enum": [
        "recent-activity",
        "name",
        "created"
      ]
    }
  },
  "additionalProperties": false
}
```

**Response schema:**
```json
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "properties": {
        "options": {
          "type": "object",
          "properties": {
            "states": {},
            "sortBy": {
              "type": "string",
              "enum": [
                "recent-activity",
                "name",
                "created"
              ]
            }
          },
          "additionalProperties": false
        },
        "projects": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "projectId": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              },
              "teamId": {
                "type": "string"
              },
              "createdAt": {},
              "lastUpdated": {},
              "createdBy": {
                "nullable": true,
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "displayName": {
                    "nullable": true,
                    "type": "string"
                  },
                  "avatarSeed": {
                    "nullable": true,
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "displayName",
                  "avatarSeed"
                ],
                "additionalProperties": false
              },
              "projectTypes": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "advertisers",
                    "api",
                    "content-creation",
                    "guest-booking",
                    "interesting-podcasts",
                    "lead-generation",
                    "monitoring",
                    "other",
                    "transcriptions"
                  ]
                }
              },
              "status": {
                "type": "string",
                "enum": [
                  "DRAFT",
                  "PENDING",
                  "ACTIVE",
                  "ARCHIVED",
                  "ERROR"
                ]
              },
              "listedPodcastsCount": {
                "type": "number"
              },
              "linkedGuestProfile": {
                "nullable": true,
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "ACTIVE",
                      "DRAFT",
                      "PENDING",
                      "ARCHIVED",
                      "ERROR"
                    ]
                  },
                  "imageUrl": {
                    "nullable": true,
                    "type": "string"
                  },
                  "linkedinUrl": {
                    "nullable": true,
                    "type": "string"
                  },
                  "appearancesCount": {
                    "type": "number"
                  }
                },
                "required": [
                  "id",
                  "name",
                  "slug",
                  "status",
                  "imageUrl",
                  "linkedinUrl",
                  "appearancesCount"
                ],
                "additionalProperties": false
              },
              "stateCounts": {
                "type": "object",
                "properties": {
                  "prospect": {
                    "type": "number"
                  },
                  "qualified": {
                    "type": "number"
                  },
                  "pitched": {
                    "type": "number"
                  },
                  "booked": {
                    "type": "number"
                  },
                  "lost": {
                    "type": "number"
                  },
                  "ignored": {
                    "type": "number"
                  }
                },
                "required": [
                  "prospect",
                  "qualified",
                  "pitched",
                  "booked",
                  "lost",
                  "ignored"
                ],
                "additionalProperties": false
              },
              "documentsCount": {
                "type": "object",
                "properties": {
                  "total": {
                    "type": "number"
                  },
                  "processed": {
                    "type": "number"
                  }
                },
                "required": [
                  "total",
                  "processed"
                ],
                "additionalProperties": false
              },
              "recentActivities": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "added-to-list",
                        "update-labels",
                        "update-priority",
                        "update-state"
                      ]
                    },
                    "date": {},
                    "podcastTitle": {
                      "nullable": true,
                      "type": "string"
                    },
                    "podcastSlug": {
                      "nullable": true,
                      "type": "string"
                    },
                    "podcastImageUrl": {
                      "nullable": true,
                      "type": "string"
                    },
                    "toValue": {
                      "nullable": true,
                      "type": "string"
                    },
                    "user": {
                      "nullable": true,
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "displayName": {
                          "nullable": true,
                          "type": "string"
                        },
                        "avatarSeed": {
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "displayName",
                        "avatarSeed"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "type",
                    "date",
                    "podcastTitle",
                    "podcastSlug",
                    "podcastImageUrl",
                    "toValue",
                    "user"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "projectId",
              "name",
              "slug",
              "teamId",
              "createdAt",
              "lastUpdated",
              "createdBy",
              "projectTypes",
              "status",
              "listedPodcastsCount",
              "linkedGuestProfile",
              "stateCounts",
              "documentsCount",
              "recentActivities"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "options",
        "projects"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "status",
    "data"
  ],
  "additionalProperties": false
}
```

---

## See also

- All endpoints in one file: https://www.podengine.ai/api-docs/llms.txt
- Full reference with every schema inlined: https://www.podengine.ai/api-docs/llms-full.txt
- OpenAPI 3.1 spec: https://www.podengine.ai/api-docs/openapi.json
- Get an API key: https://www.podengine.ai/get-started
- Support: support@podengine.ai
