Skip to main content
PATCH
/
projects
/
{id}
Update a project
curl --request PATCH \
  --url https://api.engagefabric.com/projects/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "My Awesome App v2",
  "description": "Updated description",
  "config": {
    "xp": {
      "levelCurve": "exponential",
      "baseXP": 100,
      "growthRate": 1.5,
      "maxXPPerDay": 10000
    }
  },
  "metadata": {
    "version": "2.0.0",
    "buildNumber": 43
  }
}
'
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "tenantId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "My Awesome App",
  "slug": "my-awesome-app",
  "environment": "PRODUCTION",
  "status": "ACTIVE",
  "isActive": true,
  "tier": "FREE",
  "createdAt": "2025-01-15T10:30:00Z",
  "updatedAt": "2025-01-15T10:30:00Z",
  "description": "Production environment for My Awesome App",
  "config": {
    "xp": {
      "levelCurve": "exponential",
      "baseXP": 100
    },
    "currencies": [
      {
        "id": "coins",
        "name": "Coins"
      }
    ]
  },
  "metadata": {
    "version": "1.0.0"
  },
  "deletedAt": null,
  "_count": {
    "players": 150,
    "apiKeys": 3
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.engagefabric.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

JWT token for admin console authentication

Path Parameters

id
string
required

Project UUID

Body

application/json
name
string

Project name

Required string length: 2 - 255
Example:

"My Awesome App v2"

description
string

Project description

Example:

"Updated description"

environment
enum<string>

Environment type

Available options:
DEVELOPMENT,
STAGING,
PRODUCTION
status
enum<string>

Project status

Available options:
ACTIVE,
PAUSED,
ARCHIVED
config
object

Game configuration (XP, currencies, lives, etc.)

Example:
{
"xp": {
"levelCurve": "exponential",
"baseXP": 100,
"growthRate": 1.5,
"maxXPPerDay": 10000
}
}
metadata
object

Additional metadata (JSON object)

Example:
{ "version": "2.0.0", "buildNumber": 43 }

Response

Project updated successfully

id
string
required

Unique project identifier

Example:

"123e4567-e89b-12d3-a456-426614174000"

tenantId
string
required

Tenant ID that owns this project

Example:

"123e4567-e89b-12d3-a456-426614174000"

name
string
required

Project name

Example:

"My Awesome App"

slug
string
required

URL-friendly slug

Example:

"my-awesome-app"

environment
enum<string>
required

Environment type

Available options:
DEVELOPMENT,
STAGING,
PRODUCTION
Example:

"PRODUCTION"

status
enum<string>
required

Project status

Available options:
ACTIVE,
PAUSED,
ARCHIVED
Example:

"ACTIVE"

isActive
boolean
required

Whether the project is active (status === ACTIVE)

Example:

true

tier
enum<string>
required

Rate limiting tier

Available options:
FREE,
STARTER,
PROFESSIONAL,
BUSINESS,
ENTERPRISE
Example:

"FREE"

createdAt
string<date-time>
required

Creation timestamp

Example:

"2025-01-15T10:30:00Z"

updatedAt
string<date-time>
required

Last update timestamp

Example:

"2025-01-15T10:30:00Z"

description
object

Project description

Example:

"Production environment for My Awesome App"

config
object

Game configuration (XP, currencies, lives, etc.)

Example:
{
"xp": {
"levelCurve": "exponential",
"baseXP": 100
},
"currencies": [{ "id": "coins", "name": "Coins" }]
}
metadata
object

Additional metadata

Example:
{ "version": "1.0.0" }
deletedAt
object

Soft deletion timestamp

Example:

null

_count
object

Related entity counts