# Projects

Scene project management

## Get all project templates

> Returns all public project templates

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[],"paths":{"/templates":{"get":{"operationId":"getProjectTemplates","tags":["Projects"],"summary":"Get all project templates","description":"Returns all public project templates","responses":{"200":{"description":"List of project templates","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string"},"thumbnail":{"type":"string"},"scene_id":{"type":"string","format":"uuid"},"eth_address":{"type":"string"},"cols":{"type":"integer"},"rows":{"type":"integer"},"parcels":{"type":"integer"},"transforms":{"type":"integer"},"gltf_shapes":{"type":"integer"},"nft_shapes":{"type":"integer"},"scripts":{"type":"integer"},"entities":{"type":"integer"},"is_deleted":{"type":"boolean"},"is_public":{"type":"boolean"},"is_template":{"type":"boolean"},"creation_coords":{"type":"string"},"template_status":{"type":"string","enum":["active","coming_soon"]},"video":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}}}}}}}}}
```

## Get all projects

> Returns all projects for the authenticated user

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects":{"get":{"operationId":"getProjects","tags":["Projects"],"summary":"Get all projects","description":"Returns all projects for the authenticated user","responses":{"200":{"description":"List of projects","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string"},"thumbnail":{"type":"string"},"scene_id":{"type":"string","format":"uuid"},"eth_address":{"type":"string"},"cols":{"type":"integer"},"rows":{"type":"integer"},"parcels":{"type":"integer"},"transforms":{"type":"integer"},"gltf_shapes":{"type":"integer"},"nft_shapes":{"type":"integer"},"scripts":{"type":"integer"},"entities":{"type":"integer"},"is_deleted":{"type":"boolean"},"is_public":{"type":"boolean"},"is_template":{"type":"boolean"},"creation_coords":{"type":"string"},"template_status":{"type":"string","enum":["active","coming_soon"]},"video":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}}}},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Get a project

> Returns a specific project by ID

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects/{id}":{"get":{"operationId":"getProject","tags":["Projects"],"summary":"Get a project","description":"Returns a specific project by ID","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"responses":{"200":{"description":"Project details","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string"},"thumbnail":{"type":"string"},"scene_id":{"type":"string","format":"uuid"},"eth_address":{"type":"string"},"cols":{"type":"integer"},"rows":{"type":"integer"},"parcels":{"type":"integer"},"transforms":{"type":"integer"},"gltf_shapes":{"type":"integer"},"nft_shapes":{"type":"integer"},"scripts":{"type":"integer"},"entities":{"type":"integer"},"is_deleted":{"type":"boolean"},"is_public":{"type":"boolean"},"is_template":{"type":"boolean"},"creation_coords":{"type":"string"},"template_status":{"type":"string","enum":["active","coming_soon"]},"video":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}}},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Create or update a project

> Creates a new project or updates an existing one

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects/{id}":{"put":{"operationId":"upsertProject","tags":["Projects"],"summary":"Create or update a project","description":"Creates a new project or updates an existing one","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","title","description","scene_id","cols","rows"],"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string"},"thumbnail":{"type":"string"},"scene_id":{"type":"string","format":"uuid"},"cols":{"type":"integer"},"rows":{"type":"integer"},"is_public":{"type":"boolean"},"creation_coords":{"type":"string"},"is_template":{"type":"boolean"},"template_status":{"type":"string","enum":["active","coming_soon"]},"video":{"type":"string"}}}}}},"responses":{"200":{"description":"Project created/updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string"},"thumbnail":{"type":"string"},"scene_id":{"type":"string","format":"uuid"},"eth_address":{"type":"string"},"cols":{"type":"integer"},"rows":{"type":"integer"},"parcels":{"type":"integer"},"transforms":{"type":"integer"},"gltf_shapes":{"type":"integer"},"nft_shapes":{"type":"integer"},"scripts":{"type":"integer"},"entities":{"type":"integer"},"is_deleted":{"type":"boolean"},"is_public":{"type":"boolean"},"is_template":{"type":"boolean"},"creation_coords":{"type":"string"},"template_status":{"type":"string","enum":["active","coming_soon"]},"video":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}}},"400":{"description":"Bad request - invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Delete a project

> Soft deletes a project

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects/{id}":{"delete":{"operationId":"deleteProject","tags":["Projects"],"summary":"Delete a project","description":"Soft deletes a project","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"responses":{"200":{"description":"Project deleted successfully"},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Get a public project

> Returns a public project by ID (no authentication required)

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[],"paths":{"/projects/{id}/public":{"get":{"operationId":"getPublicProject","tags":["Projects"],"summary":"Get a public project","description":"Returns a public project by ID (no authentication required)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"responses":{"200":{"description":"Public project details","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string"},"thumbnail":{"type":"string"},"scene_id":{"type":"string","format":"uuid"},"eth_address":{"type":"string"},"cols":{"type":"integer"},"rows":{"type":"integer"},"parcels":{"type":"integer"},"transforms":{"type":"integer"},"gltf_shapes":{"type":"integer"},"nft_shapes":{"type":"integer"},"scripts":{"type":"integer"},"entities":{"type":"integer"},"is_deleted":{"type":"boolean"},"is_public":{"type":"boolean"},"is_template":{"type":"boolean"},"creation_coords":{"type":"string"},"template_status":{"type":"string","enum":["active","coming_soon"]},"video":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Upload project media

> Uploads media files (thumbnails, previews) for a project

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects/{id}/media":{"post":{"operationId":"uploadProjectMedia","tags":["Projects"],"summary":"Upload project media","description":"Uploads media files (thumbnails, previews) for a project","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"thumbnail":{"type":"string","format":"binary"},"preview":{"type":"string","format":"binary"},"north":{"type":"string","format":"binary"},"east":{"type":"string","format":"binary"},"south":{"type":"string","format":"binary"},"west":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"Media uploaded successfully"},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Get project media file

> Redirects to the S3 URL for the media file

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[],"paths":{"/projects/{id}/media/{filename}":{"get":{"operationId":"getProjectMediaFile","tags":["Projects"],"summary":"Get project media file","description":"Redirects to the S3 URL for the media file","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"},{"name":"filename","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"301":{"description":"Redirect to S3 URL"},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Get project content

> Returns project content by hash. For preview hash, returns entity object. For CRDT hash, redirects to CRDT file.

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[],"paths":{"/projects/{id}/contents/{content}":{"get":{"operationId":"getProjectContent","tags":["Projects"],"summary":"Get project content","description":"Returns project content by hash. For preview hash, returns entity object. For CRDT hash, redirects to CRDT file.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"},{"name":"content","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Entity object (for preview hash)","content":{"application/json":{"schema":{"type":"object"}}}},"301":{"description":"Redirect to content URL"},"302":{"description":"Redirect to CRDT file"},"400":{"description":"Bad request - invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Get project preview info

> Returns realm configuration for project preview

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[],"paths":{"/projects/{id}/about":{"get":{"operationId":"getProjectPreviewInfo","tags":["Projects"],"summary":"Get project preview info","description":"Returns realm configuration for project preview","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"responses":{"200":{"description":"Preview configuration","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Get project CRDT

> Returns the CRDT file for the project

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects/{id}/crdt":{"get":{"operationId":"getProjectCrdt","tags":["Projects"],"summary":"Get project CRDT","description":"Returns the CRDT file for the project","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"responses":{"302":{"description":"Redirect to CRDT file"},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Upload project CRDT

> Uploads the CRDT file for a project

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects/{id}/crdt":{"put":{"operationId":"uploadProjectCrdt","tags":["Projects"],"summary":"Upload project CRDT","description":"Uploads the CRDT file for a project","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Project UUID"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"CRDT uploaded successfully"},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```

## Remove coords from projects

> Removes creation coordinates from all projects with the given coords

```json
{"openapi":"3.0.3","info":{"title":"Builder Server API","version":"2.10.0"},"tags":[{"name":"Projects","description":"Scene project management"}],"servers":[{"url":"https://builder-api.decentraland.org/v1","description":"Production environment","variables":{}},{"url":"https://builder-api.decentraland.zone/v1","description":"Development environment","variables":{}}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"X-Identity-Auth-Chain-*","description":"Signed fetch authentication using Decentraland's ADR-44 specification.\nMultiple headers are used to provide the authentication chain.\n"}}},"paths":{"/projects/{coords}/coords":{"delete":{"operationId":"removeProjectCoords","tags":["Projects"],"summary":"Remove coords from projects","description":"Removes creation coordinates from all projects with the given coords","parameters":[{"name":"coords","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Coordinates removed successfully"},"401":{"description":"Unauthorized - authentication required or insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"data":{"type":"object"}}}}}}}}}}}
```
