Write release asset manifest
curl --request PUT \
--url https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schemaVersion": 2,
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseVersion": 123,
"manifestVersion": 123,
"builderVersion": "<string>",
"sourceContentHash": "<string>",
"createdAt": "<string>",
"assetBasePath": "<string>",
"modules": {},
"css": [
{
"contentHash": "<string>",
"size": 1,
"contentType": "<string>",
"styleProfileHash": "<string>",
"cssPipelineIdentity": "<string>"
}
],
"routes": {},
"dependencies": {}
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest"
payload = {
"schemaVersion": 2,
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseVersion": 123,
"manifestVersion": 123,
"builderVersion": "<string>",
"sourceContentHash": "<string>",
"createdAt": "<string>",
"assetBasePath": "<string>",
"modules": {},
"css": [
{
"contentHash": "<string>",
"size": 1,
"contentType": "<string>",
"styleProfileHash": "<string>",
"cssPipelineIdentity": "<string>"
}
],
"routes": {},
"dependencies": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
schemaVersion: 2,
projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
releaseId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
releaseVersion: 123,
manifestVersion: 123,
builderVersion: '<string>',
sourceContentHash: '<string>',
createdAt: '<string>',
assetBasePath: '<string>',
modules: {},
css: [
{
contentHash: '<string>',
size: 1,
contentType: '<string>',
styleProfileHash: '<string>',
cssPipelineIdentity: '<string>'
}
],
routes: {},
dependencies: {}
})
};
fetch('https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest', 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}/releases/{release_reference}/asset-manifest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'schemaVersion' => 2,
'projectId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'releaseId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'releaseVersion' => 123,
'manifestVersion' => 123,
'builderVersion' => '<string>',
'sourceContentHash' => '<string>',
'createdAt' => '<string>',
'assetBasePath' => '<string>',
'modules' => [
],
'css' => [
[
'contentHash' => '<string>',
'size' => 1,
'contentType' => '<string>',
'styleProfileHash' => '<string>',
'cssPipelineIdentity' => '<string>'
]
],
'routes' => [
],
'dependencies' => [
]
]),
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}/releases/{release_reference}/asset-manifest"
payload := strings.NewReader("{\n \"schemaVersion\": 2,\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseVersion\": 123,\n \"manifestVersion\": 123,\n \"builderVersion\": \"<string>\",\n \"sourceContentHash\": \"<string>\",\n \"createdAt\": \"<string>\",\n \"assetBasePath\": \"<string>\",\n \"modules\": {},\n \"css\": [\n {\n \"contentHash\": \"<string>\",\n \"size\": 1,\n \"contentType\": \"<string>\",\n \"styleProfileHash\": \"<string>\",\n \"cssPipelineIdentity\": \"<string>\"\n }\n ],\n \"routes\": {},\n \"dependencies\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schemaVersion\": 2,\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseVersion\": 123,\n \"manifestVersion\": 123,\n \"builderVersion\": \"<string>\",\n \"sourceContentHash\": \"<string>\",\n \"createdAt\": \"<string>\",\n \"assetBasePath\": \"<string>\",\n \"modules\": {},\n \"css\": [\n {\n \"contentHash\": \"<string>\",\n \"size\": 1,\n \"contentType\": \"<string>\",\n \"styleProfileHash\": \"<string>\",\n \"cssPipelineIdentity\": \"<string>\"\n }\n ],\n \"routes\": {},\n \"dependencies\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"schemaVersion\": 2,\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseVersion\": 123,\n \"manifestVersion\": 123,\n \"builderVersion\": \"<string>\",\n \"sourceContentHash\": \"<string>\",\n \"createdAt\": \"<string>\",\n \"assetBasePath\": \"<string>\",\n \"modules\": {},\n \"css\": [\n {\n \"contentHash\": \"<string>\",\n \"size\": 1,\n \"contentType\": \"<string>\",\n \"styleProfileHash\": \"<string>\",\n \"cssPipelineIdentity\": \"<string>\"\n }\n ],\n \"routes\": {},\n \"dependencies\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"manifest_version": 123,
"state": "queued"
}{
"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"
}
]
}Write release asset manifest
Store release manifest. Requires project.files.write.
PUT
/
projects
/
{project_reference}
/
releases
/
{release_reference}
/
asset-manifest
Write release asset manifest
curl --request PUT \
--url https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"schemaVersion": 2,
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseVersion": 123,
"manifestVersion": 123,
"builderVersion": "<string>",
"sourceContentHash": "<string>",
"createdAt": "<string>",
"assetBasePath": "<string>",
"modules": {},
"css": [
{
"contentHash": "<string>",
"size": 1,
"contentType": "<string>",
"styleProfileHash": "<string>",
"cssPipelineIdentity": "<string>"
}
],
"routes": {},
"dependencies": {}
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest"
payload = {
"schemaVersion": 2,
"projectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"releaseVersion": 123,
"manifestVersion": 123,
"builderVersion": "<string>",
"sourceContentHash": "<string>",
"createdAt": "<string>",
"assetBasePath": "<string>",
"modules": {},
"css": [
{
"contentHash": "<string>",
"size": 1,
"contentType": "<string>",
"styleProfileHash": "<string>",
"cssPipelineIdentity": "<string>"
}
],
"routes": {},
"dependencies": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
schemaVersion: 2,
projectId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
releaseId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
releaseVersion: 123,
manifestVersion: 123,
builderVersion: '<string>',
sourceContentHash: '<string>',
createdAt: '<string>',
assetBasePath: '<string>',
modules: {},
css: [
{
contentHash: '<string>',
size: 1,
contentType: '<string>',
styleProfileHash: '<string>',
cssPipelineIdentity: '<string>'
}
],
routes: {},
dependencies: {}
})
};
fetch('https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest', 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}/releases/{release_reference}/asset-manifest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'schemaVersion' => 2,
'projectId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'releaseId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'releaseVersion' => 123,
'manifestVersion' => 123,
'builderVersion' => '<string>',
'sourceContentHash' => '<string>',
'createdAt' => '<string>',
'assetBasePath' => '<string>',
'modules' => [
],
'css' => [
[
'contentHash' => '<string>',
'size' => 1,
'contentType' => '<string>',
'styleProfileHash' => '<string>',
'cssPipelineIdentity' => '<string>'
]
],
'routes' => [
],
'dependencies' => [
]
]),
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}/releases/{release_reference}/asset-manifest"
payload := strings.NewReader("{\n \"schemaVersion\": 2,\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseVersion\": 123,\n \"manifestVersion\": 123,\n \"builderVersion\": \"<string>\",\n \"sourceContentHash\": \"<string>\",\n \"createdAt\": \"<string>\",\n \"assetBasePath\": \"<string>\",\n \"modules\": {},\n \"css\": [\n {\n \"contentHash\": \"<string>\",\n \"size\": 1,\n \"contentType\": \"<string>\",\n \"styleProfileHash\": \"<string>\",\n \"cssPipelineIdentity\": \"<string>\"\n }\n ],\n \"routes\": {},\n \"dependencies\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"schemaVersion\": 2,\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseVersion\": 123,\n \"manifestVersion\": 123,\n \"builderVersion\": \"<string>\",\n \"sourceContentHash\": \"<string>\",\n \"createdAt\": \"<string>\",\n \"assetBasePath\": \"<string>\",\n \"modules\": {},\n \"css\": [\n {\n \"contentHash\": \"<string>\",\n \"size\": 1,\n \"contentType\": \"<string>\",\n \"styleProfileHash\": \"<string>\",\n \"cssPipelineIdentity\": \"<string>\"\n }\n ],\n \"routes\": {},\n \"dependencies\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/releases/{release_reference}/asset-manifest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"schemaVersion\": 2,\n \"projectId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"releaseVersion\": 123,\n \"manifestVersion\": 123,\n \"builderVersion\": \"<string>\",\n \"sourceContentHash\": \"<string>\",\n \"createdAt\": \"<string>\",\n \"assetBasePath\": \"<string>\",\n \"modules\": {},\n \"css\": [\n {\n \"contentHash\": \"<string>\",\n \"size\": 1,\n \"contentType\": \"<string>\",\n \"styleProfileHash\": \"<string>\",\n \"cssPipelineIdentity\": \"<string>\"\n }\n ],\n \"routes\": {},\n \"dependencies\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"manifest_version": 123,
"state": "queued"
}{
"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
bearerAuthapiKeyAuth
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Path Parameters
Project slug, ID, or other supported project reference.
Release ID or version specifier (for example, "1.2.3", or "1.2" for the newest 1.2.x).
Example:
"1.2.3"
Body
application/json
Available options:
2 Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
source, immutable Show child attributes
Show child attributes