php
/**
* @param ProjectPatch $patch
* @return ProjectResource
*/
public function update(
string $slug,
array $patch,
?string $product = null,
int|float|null $timeout = null,
): arrayPartial update of name and slug. Send only the fields you want changed. Uniqueness for a new slug is checked inside the project own product, and product: may still be needed just to resolve which project you meant.
The new slug is validated as sent rather than slugified, so it must already match ^[a-z0-9]+(?:-[a-z0-9]+)*$ or you get 400. There is no product field in the patch: projects cannot be moved between products over the API, and icons are not settable here either.
Example
php
use Envless\Envless;
$envless = new Envless();
$project = $envless->projects->update('api', [
'name' => 'API Gateway',
'slug' => 'api-gateway',
], product: 'billing');
echo $project['slug'], PHP_EOL;Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
$slug | string | Yes | Current project slug, or the project uniqueId. |
$patch | ProjectPatch | Yes | The fields below, as one array. |
$patch['name'] | string | No | New project name. |
$patch['slug'] | string | No | New slug, which must already be in valid slug form. |
$product | string | No | Product slug used to disambiguate an ambiguous project slug. |
$timeout | int|float | No | Seconds each attempt of this call may take, the response body included, before it throws Envless\Exception\NetworkException with isTimeout() true. Overrides the client's timeout for this call, and 0 turns the limit off. |
Returns
ProjectResource reflecting the stored record after the patch.
Worth knowing
- A 409
project.slug_conflictmeans another project in the same product already owns the new slug. - A missing or ambiguous project carries
project.not_foundorproject.ambiguous_product, but the update itself answers 400, 404 and 409 with the genericrequest.invalid,request.not_foundandrequest.conflict, so readmessagefor the reason.
Required scopes
projects:write
Underlying endpoint
PATCH /projects/{slug}
Request and response schema, every error code, and a live playground.
In TypeScript
envless.projects.update()
The same method in @goenvless/sdk, with the same request, retries and errors.