Create API Key
curl --request POST \
--url https://api.veryfront.com/api-keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"project_reference": "<string>",
"project_id": "<string>",
"projectId": "<string>",
"scopes": [
"<string>"
],
"expires_at": "<string>"
}
'import requests
url = "https://api.veryfront.com/api-keys"
payload = {
"name": "<string>",
"project_reference": "<string>",
"project_id": "<string>",
"projectId": "<string>",
"scopes": ["<string>"],
"expires_at": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
project_reference: '<string>',
project_id: '<string>',
projectId: '<string>',
scopes: ['<string>'],
expires_at: '<string>'
})
};
fetch('https://api.veryfront.com/api-keys', 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/api-keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'project_reference' => '<string>',
'project_id' => '<string>',
'projectId' => '<string>',
'scopes' => [
'<string>'
],
'expires_at' => '<string>'
]),
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/api-keys"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"project_reference\": \"<string>\",\n \"project_id\": \"<string>\",\n \"projectId\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"expires_at\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.veryfront.com/api-keys")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"project_reference\": \"<string>\",\n \"project_id\": \"<string>\",\n \"projectId\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"expires_at\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/api-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"project_reference\": \"<string>\",\n \"project_id\": \"<string>\",\n \"projectId\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"expires_at\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"key": "<string>",
"key_prefix": "<string>",
"expires_at": "<string>",
"created_at": "<string>",
"scopes": [
"<string>"
],
"scope": "account"
}Creates an API key for the current user or project.
POST
/
api-keys
Create API Key
curl --request POST \
--url https://api.veryfront.com/api-keys \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"project_reference": "<string>",
"project_id": "<string>",
"projectId": "<string>",
"scopes": [
"<string>"
],
"expires_at": "<string>"
}
'import requests
url = "https://api.veryfront.com/api-keys"
payload = {
"name": "<string>",
"project_reference": "<string>",
"project_id": "<string>",
"projectId": "<string>",
"scopes": ["<string>"],
"expires_at": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
project_reference: '<string>',
project_id: '<string>',
projectId: '<string>',
scopes: ['<string>'],
expires_at: '<string>'
})
};
fetch('https://api.veryfront.com/api-keys', 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/api-keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'project_reference' => '<string>',
'project_id' => '<string>',
'projectId' => '<string>',
'scopes' => [
'<string>'
],
'expires_at' => '<string>'
]),
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/api-keys"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"project_reference\": \"<string>\",\n \"project_id\": \"<string>\",\n \"projectId\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"expires_at\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.veryfront.com/api-keys")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"project_reference\": \"<string>\",\n \"project_id\": \"<string>\",\n \"projectId\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"expires_at\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/api-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"project_reference\": \"<string>\",\n \"project_id\": \"<string>\",\n \"projectId\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"expires_at\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"key": "<string>",
"key_prefix": "<string>",
"expires_at": "<string>",
"created_at": "<string>",
"scopes": [
"<string>"
],
"scope": "account"
}Authorizations
bearerAuthapiKeyAuth
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Body
application/json
Response
API key created successfully
Whether the key is bound to a single project or to the whole account. An account key acts as the owning user on every project that user can reach, at whatever relation that user holds on each one, bounded by the scopes on the key itself. Unlike a project-scoped key it is not capped at PROJECT_TOKEN_MAX_RELATION, so an account key with write scope can manage API keys, including minting new ones, and one with delete scope can delete projects.
Available options:
account, project