curl --request PATCH \
--url https://api.veryfront.com/projects/{project_reference} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Updated Project Name",
"description": "Updated description",
"config": {
"is_template": true,
"coming_soon": false,
"category": "saas"
}
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}"
payload = {
"name": "Updated Project Name",
"description": "Updated description",
"config": {
"is_template": True,
"coming_soon": False,
"category": "saas"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Updated Project Name',
description: 'Updated description',
config: {is_template: true, coming_soon: false, category: 'saas'}
})
};
fetch('https://api.veryfront.com/projects/{project_reference}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.veryfront.com/projects/{project_reference}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Updated Project Name',
'description' => 'Updated description',
'config' => [
'is_template' => true,
'coming_soon' => false,
'category' => 'saas'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}"
payload := strings.NewReader("{\n \"name\": \"Updated Project Name\",\n \"description\": \"Updated description\",\n \"config\": {\n \"is_template\": true,\n \"coming_soon\": false,\n \"category\": \"saas\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.veryfront.com/projects/{project_reference}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Updated Project Name\",\n \"description\": \"Updated description\",\n \"config\": {\n \"is_template\": true,\n \"coming_soon\": false,\n \"category\": \"saas\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Updated Project Name\",\n \"description\": \"Updated description\",\n \"config\": {\n \"is_template\": true,\n \"coming_soon\": false,\n \"category\": \"saas\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"slug": "my-project",
"name": "My Project",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_name": "<string>",
"description": "A sample project description",
"is_claimed": true,
"features": [
"<string>"
],
"environments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"protected": true,
"domains": [
"<string>"
],
"environment_variables": [
"<unknown>"
],
"active_release_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"server_hostname": "<string>"
}
],
"releases": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"export_status": "<string>",
"build_status": "<string>",
"deploy_status": "<string>"
}
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"published_at": "<string>",
"prompt_count": 123,
"config": {
"disable_meta_robots": true,
"provider_id": "<string>",
"layout_id": "<string>",
"is_template": true,
"coming_soon": true,
"category": "<string>",
"description": "<string>",
"disableMetaRobots": true,
"providerId": "<string>",
"layoutId": "<string>",
"isTemplate": true,
"comingSoon": true
},
"provider": "<string>",
"layout": "<string>",
"type": "regular",
"system_managed": true,
"users": [
{
"id": "<string>",
"email": "<string>",
"name": "<string>",
"role": "<string>",
"avatar_src": "<string>"
}
],
"capabilities": [
"project.read"
],
"capabilities_version": 123,
"labels": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"namespace": "<string>",
"key": "<string>",
"value": "<string>",
"color": "<string>"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}Update project
Update a project. Requires project.settings.manage.
curl --request PATCH \
--url https://api.veryfront.com/projects/{project_reference} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Updated Project Name",
"description": "Updated description",
"config": {
"is_template": true,
"coming_soon": false,
"category": "saas"
}
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}"
payload = {
"name": "Updated Project Name",
"description": "Updated description",
"config": {
"is_template": True,
"coming_soon": False,
"category": "saas"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Updated Project Name',
description: 'Updated description',
config: {is_template: true, coming_soon: false, category: 'saas'}
})
};
fetch('https://api.veryfront.com/projects/{project_reference}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.veryfront.com/projects/{project_reference}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Updated Project Name',
'description' => 'Updated description',
'config' => [
'is_template' => true,
'coming_soon' => false,
'category' => 'saas'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}"
payload := strings.NewReader("{\n \"name\": \"Updated Project Name\",\n \"description\": \"Updated description\",\n \"config\": {\n \"is_template\": true,\n \"coming_soon\": false,\n \"category\": \"saas\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.veryfront.com/projects/{project_reference}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Updated Project Name\",\n \"description\": \"Updated description\",\n \"config\": {\n \"is_template\": true,\n \"coming_soon\": false,\n \"category\": \"saas\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Updated Project Name\",\n \"description\": \"Updated description\",\n \"config\": {\n \"is_template\": true,\n \"coming_soon\": false,\n \"category\": \"saas\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"slug": "my-project",
"name": "My Project",
"account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account_name": "<string>",
"description": "A sample project description",
"is_claimed": true,
"features": [
"<string>"
],
"environments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"protected": true,
"domains": [
"<string>"
],
"environment_variables": [
"<unknown>"
],
"active_release_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"server_hostname": "<string>"
}
],
"releases": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"export_status": "<string>",
"build_status": "<string>",
"deploy_status": "<string>"
}
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z",
"published_at": "<string>",
"prompt_count": 123,
"config": {
"disable_meta_robots": true,
"provider_id": "<string>",
"layout_id": "<string>",
"is_template": true,
"coming_soon": true,
"category": "<string>",
"description": "<string>",
"disableMetaRobots": true,
"providerId": "<string>",
"layoutId": "<string>",
"isTemplate": true,
"comingSoon": true
},
"provider": "<string>",
"layout": "<string>",
"type": "regular",
"system_managed": true,
"users": [
{
"id": "<string>",
"email": "<string>",
"name": "<string>",
"role": "<string>",
"avatar_src": "<string>"
}
],
"capabilities": [
"project.read"
],
"capabilities_version": 123,
"labels": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"namespace": "<string>",
"key": "<string>",
"value": "<string>",
"color": "<string>"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}Authorizations
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Path Parameters
Project UUID or slug.
"my-project"
Body
Lowercase identifier starting with a letter; words may be separated by single hyphens. Omit to keep the current slug.
1^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$Project name. Omit to keep the current name.
1Project description. An empty string clears it. Omit to keep the current description.
Project configuration to update. Field names use snake_case. If a legacy camelCase alias is also supplied, its value must match the snake_case field. JSON-encoded strings are accepted for compatibility; new clients should send an object.
Show child attributes
Show child attributes
Response
Project updated successfully.
"550e8400-e29b-41d4-a716-446655440000"
"my-project"
"My Project"
"A sample project description"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"2024-01-15T10:30:00Z"
"2024-01-15T10:30:00Z"
Project configuration. Field names use snake_case. Legacy camelCase aliases contain the same values.
Show child attributes
Show child attributes
regular, default, template Show child attributes
Show child attributes
project.read, project.settings.manage, project.delete, project.members.read, project.members.manage, project.invites.read, project.invites.manage, project.files.read, project.files.write, project.realtime.connect, project.realtime.write, project.files.admin, project.uploads.read, project.uploads.write, project.uploads.admin, project.knowledge.read, project.knowledge.write, project.releases.read, project.releases.write, project.deployments.read, project.deployments.write, project.deploy.execute, project.runtime.manage, project.channels.read, project.channels.write, project.sandboxes.manage, project.domains.write, project.environments.manage, project.env_vars.write, project.runs.read, project.runs.write, project.runs.admin, project.agents.read, project.agents.write, project.evals.read, project.evals.write, project.evals.run, project.conversations.read, project.conversations.write, project.conversations.create, project.integrations.read, project.integrations.connect, project.integrations.configure, project.api_keys.read, project.api_keys.manage, project.cache.read, project.cache.write, project.logs.read, project.metrics.read, project.resources.read Show child attributes
Show child attributes