Skip to main content
Prisma Documentation Docs

Search documentation

Type to search this documentation.

Create service

POST/v1/servicesCreate service

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

Creates a new service under the specified project. The projectId is required in the request body. The service is placed in the given region, or the project's default region if omitted (falling back to us-east-1). Returns 409 Conflict when a service already occupies the slot on the resolved branch, either by name or by logicalId; the body includes the existing service'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

201Service 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"
  }
}
409A service already occupies the slot on the resolved branch, by `displayName` or by `logicalId`. The body includes the existing service'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