Skip to main content
Prisma Documentation Docs

Search documentation

Type to search this documentation.

Create app

POST/v1/appsCreate app

⚠️ Experimental endpoint: this API is in active development and may change at any time without notice. ⚠️

Deprecated: use POST /v1/services instead.

Creates a new app under the specified project. The projectId is required in the request body. The app is placed in the given region, or the project's default region if omitted (falling back to us-east-1). Returns 409 Conflict when an app already occupies the slot on the resolved branch, either by name or by logicalId; the body includes the existing app's id, name, branch, and logical id, and conflict says which attribute clashed. The name is checked first. logicalId cannot be combined with branchGitName; pass branchId instead.

Request body

application/json
object
branchGitNamenull | string

minLength 1

branchIdnull | string

pattern ^(br_)?([cC][^\s-]{8,}|[a-z0-9]+)$

displayNamestringrequired

maxLength 256 · minLength 1

logicalIdstring

Declared identity of the resource, unique within its branch. Set by the tool that declares the resource.

maxLength 255 · pattern ^[A-Za-z0-9][A-Za-z0-9._-]*$

projectIdstringrequired

pattern ^(proj_)?([cC][^\s-]{8,}|[a-z0-9]+)$

regionIdstring

one of "us-east-1", "us-west-1", "eu-west-3", "eu-central-1", "ap-northeast-1", "ap-southeast-1" · default "us-east-1"

Example request
{
  "branchGitName": "string",
  "branchId": "string",
  "displayName": "string",
  "logicalId": "string",
  "projectId": "string",
  "regionId": "us-east-1"
}

Responses

201App created.application/json
object
dataobjectrequired
Show child attributes
appEndpointDomainstringrequired
branchIdnull | stringrequired
createdAtstring · date-timerequired
idstringrequired
latestDeploymentIdnull | stringrequired
logicalIdnull | stringrequired
namestringrequired
projectIdstringrequired
regionobjectrequired
Show child attributes
idstringrequired
namestringrequired
typestringrequired

const "app"

urlstring · urirequired
Example response
{
  "data": {
    "appEndpointDomain": "string",
    "branchId": "string",
    "createdAt": "2026-06-09T00:00:00Z",
    "id": "string",
    "latestDeploymentId": "string",
    "logicalId": "string",
    "name": "string",
    "projectId": "string",
    "region": {
      "id": "string",
      "name": "string"
    },
    "type": "app",
    "url": "https://example.com"
  }
}
401Missing or invalid authorization token.application/json
object
errorobjectrequired
Show child attributes
codestringrequired
hintstring
messagestringrequired
Example response
{
  "error": {
    "code": "string",
    "hint": "string",
    "message": "string"
  }
}
403Insufficient permissions to access this resource.application/json
object
errorobjectrequired
Show child attributes
codestringrequired
hintstring
messagestringrequired
Example response
{
  "error": {
    "code": "string",
    "hint": "string",
    "message": "string"
  }
}
404Project not found.application/json
object
errorobjectrequired
Show child attributes
codestringrequired
hintstring
messagestringrequired
Example response
{
  "error": {
    "code": "string",
    "hint": "string",
    "message": "string"
  }
}
409An app already occupies the slot on the resolved branch, by `displayName` or by `logicalId`. The body includes the existing app's id, name, branch git name, and logical id; `conflict` says which attribute clashed.application/json
object
errorobjectrequired
Show child attributes
branchGitNamestringrequired
codestringrequired

const "app:already_exists"

conflictstring

Which attribute of the existing app clashed.

one of "name", "logicalId"

existingAppIdstringrequired
logicalIdnull | string

The existing app's logical id.

messagestringrequired
namestringrequired
Example response
{
  "error": {
    "branchGitName": "string",
    "code": "app:already_exists",
    "conflict": "logicalId",
    "existingAppId": "string",
    "logicalId": "string",
    "message": "string",
    "name": "string"
  }
}
413Request body exceeds this endpoint's size cap.application/json
object
errorobjectrequired
Show child attributes
codestringrequired
hintstring
messagestringrequired
Example response
{
  "error": {
    "code": "string",
    "hint": "string",
    "message": "string"
  }
}
422Validation failed (e.g. missing projectId, empty display name, or invalid region).application/json
object
errorobjectrequired
Show child attributes
codestringrequired
hintstring
messagestringrequired
Example response
{
  "error": {
    "code": "string",
    "hint": "string",
    "message": "string"
  }
}
429Rate limit exceeded.application/json
object
errorobjectrequired
Show child attributes
codestringrequired
hintstring
messagestringrequired
Example response
{
  "error": {
    "code": "string",
    "hint": "string",
    "message": "string"
  }
}
Documentation menu