Projects
Projects
GET /api/v1/projects
Get Projects
getProjects returns all projects the user has access to
Response
Type: []Project
| Field | Type | Description |
|---|---|---|
id | uuid.UUID | |
created_at | time.Time | |
updated_at | time.Time | |
name | string | |
description | string | |
organization_id | string | Denormalized for query perf |
team_id | string | Optional: belongs to team |
owner_id | string | User who created it |
slug | string | Unique within org |
settings | datatypes.JSON | Default configs, preferences |
has_logo | bool | |
logo | string | |
visibility | string | “private”, “team”, “org”, “public” |
member_count | int64 | Computed (not stored in DB) |
user_role | string | Current user’s project role (computed) (optional) |
organization | Organization | Relationships (optional) |
team | Team | (optional) |
members | []ProjectMember | (optional) |
Example
curl -X GET \
-H "Authorization: Bearer <token>" \
https://api.seeme.ai/api/v1/projectsPOST /api/v1/projects
Create Project
postProject creates a new project
Request Body
Type: CreateProjectRequest
| Field | Type | Description |
|---|---|---|
name | string | |
description | string | |
team_id | string | |
organization_id | string | |
visibility | string |
Response
Type: Project
| Field | Type | Description |
|---|---|---|
id | uuid.UUID | |
created_at | time.Time | |
updated_at | time.Time | |
name | string | |
description | string | |
organization_id | string | Denormalized for query perf |
team_id | string | Optional: belongs to team |
owner_id | string | User who created it |
slug | string | Unique within org |
settings | datatypes.JSON | Default configs, preferences |
has_logo | bool | |
logo | string | |
visibility | string | “private”, “team”, “org”, “public” |
member_count | int64 | Computed (not stored in DB) |
user_role | string | Current user’s project role (computed) (optional) |
organization | Organization | Relationships (optional) |
team | Team | (optional) |
members | []ProjectMember | (optional) |
Example
curl -X POST \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{}' \
https://api.seeme.ai/api/v1/projectsGET /api/v1/projects/{id}
Get Project
getProject returns a specific project
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | true |
Response
Type: Project
| Field | Type | Description |
|---|---|---|
id | uuid.UUID | |
created_at | time.Time | |
updated_at | time.Time | |
name | string | |
description | string | |
organization_id | string | Denormalized for query perf |
team_id | string | Optional: belongs to team |
owner_id | string | User who created it |
slug | string | Unique within org |
settings | datatypes.JSON | Default configs, preferences |
has_logo | bool | |
logo | string | |
visibility | string | “private”, “team”, “org”, “public” |
member_count | int64 | Computed (not stored in DB) |
user_role | string | Current user’s project role (computed) (optional) |
organization | Organization | Relationships (optional) |
team | Team | (optional) |
members | []ProjectMember | (optional) |
Example
curl -X GET \
-H "Authorization: Bearer <token>" \
https://api.seeme.ai/api/v1/projects/{id}PUT /api/v1/projects/{id}
Update Project
putProject updates a project
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | true |
Request Body
Type: Project
| Field | Type | Description |
|---|---|---|
id | uuid.UUID | |
created_at | time.Time | |
updated_at | time.Time | |
name | string | |
description | string | |
organization_id | string | Denormalized for query perf |
team_id | string | Optional: belongs to team |
owner_id | string | User who created it |
slug | string | Unique within org |
settings | datatypes.JSON | Default configs, preferences |
has_logo | bool | |
logo | string | |
visibility | string | “private”, “team”, “org”, “public” |
member_count | int64 | Computed (not stored in DB) |
user_role | string | Current user’s project role (computed) (optional) |
organization | Organization | Relationships (optional) |
team | Team | (optional) |
members | []ProjectMember | (optional) |
Response
Type: Project
| Field | Type | Description |
|---|---|---|
id | uuid.UUID | |
created_at | time.Time | |
updated_at | time.Time | |
name | string | |
description | string | |
organization_id | string | Denormalized for query perf |
team_id | string | Optional: belongs to team |
owner_id | string | User who created it |
slug | string | Unique within org |
settings | datatypes.JSON | Default configs, preferences |
has_logo | bool | |
logo | string | |
visibility | string | “private”, “team”, “org”, “public” |
member_count | int64 | Computed (not stored in DB) |
user_role | string | Current user’s project role (computed) (optional) |
organization | Organization | Relationships (optional) |
team | Team | (optional) |
members | []ProjectMember | (optional) |
Example
curl -X PUT \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{}' \
https://api.seeme.ai/api/v1/projects/{id}DELETE /api/v1/projects/{id}
Delete Project
deleteProject deletes a project
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | true |
Example
curl -X DELETE \
-H "Authorization: Bearer <token>" \
https://api.seeme.ai/api/v1/projects/{id}GET /api/v1/projects/{id}/logo
Get Project Logo
getProjectLogo serves the logo for a project
Logos are publicly accessible (no auth required) to allow browser tags to load them
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | true |
Example
curl -X GET \
-H "Authorization: Bearer <token>" \
https://api.seeme.ai/api/v1/projects/{id}/logoPOST /api/v1/projects/{id}/logo
Create Project Logo
uploadProjectLogo uploads a logo for a project
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | true |
Response
Type: Project
| Field | Type | Description |
|---|---|---|
id | uuid.UUID | |
created_at | time.Time | |
updated_at | time.Time | |
name | string | |
description | string | |
organization_id | string | Denormalized for query perf |
team_id | string | Optional: belongs to team |
owner_id | string | User who created it |
slug | string | Unique within org |
settings | datatypes.JSON | Default configs, preferences |
has_logo | bool | |
logo | string | |
visibility | string | “private”, “team”, “org”, “public” |
member_count | int64 | Computed (not stored in DB) |
user_role | string | Current user’s project role (computed) (optional) |
organization | Organization | Relationships (optional) |
team | Team | (optional) |
members | []ProjectMember | (optional) |
Example
curl -X POST \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
https://api.seeme.ai/api/v1/projects/{id}/logoDELETE /api/v1/projects/{id}/logo
Delete Project Logo
deleteProjectLogo deletes the logo for a project
Parameters
| Name | In | Type | Required |
|---|---|---|---|
id | path | string | true |
Example
curl -X DELETE \
-H "Authorization: Bearer <token>" \
https://api.seeme.ai/api/v1/projects/{id}/logo