Skip to main content
PUT
/
v1
/
organizations
/
{organizationId}
/
projects
/
{id}
Update Project
curl --request PUT \
  --url https://api.example.com/v1/organizations/{organizationId}/projects/{id} \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "status": "<string>",
  "settings": {}
}
'

Path Parameters

organizationId
string
required
Organization ID
id
string
required
Project ID

Request Body

name
string
Updated project name
description
string
Updated description
status
string
Updated status: active, archived, or deleted
settings
object
Updated project settings (partial updates supported)
The project slug cannot be changed after creation to preserve URL stability.

Example Request

{
  "description": "Updated description",
  "settings": {
    "cdnDomain": "new-cdn.acme.com",
    "thumbnailUrl": "https://cdn.acme.com/thumbnails/new-icon.png",
    "defaultPlatform": "mobile",
    "supportedPlatforms": ["mobile", "desktop"]
  }
}

Response

Returns the updated Project object.
{
  "id": "proj123",
  "organizationId": "org123",
  "name": "Marketing Website",
  "slug": "marketing-website",
  "description": "Updated description",
  "status": "active",
  "environment": "production",
  "settings": {
    "defaultLocale": "en-US",
    "supportedLocales": ["en-US", "es-ES"],
    "defaultPlatform": "mobile",
    "supportedPlatforms": ["mobile", "desktop"],
    "thumbnailUrl": "https://cdn.acme.com/thumbnails/new-icon.png",
    "cdnDomain": "new-cdn.acme.com"
  },
  "createdAt": "2024-03-20T10:00:00Z",
  "updatedAt": "2024-03-22T14:00:00Z"
}

Error Responses

Project Not Found

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Project not found"
  }
}

Code Examples

curl -X PUT "https://api.metabind.ai/v1/organizations/org123/projects/proj123" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Updated description",
    "settings": {
      "cdnDomain": "new-cdn.acme.com"
    }
  }'