Create a single archetype
POST
/
v1
/
archetypes
cURL
curl -X POST 'https://api.growthbook.io/api/v1/archetypes' \
-H 'Authorization: Bearer YOUR_API_KEY'import requests
url = "https://api.growthbook.io/api/v1/archetypes"
payload = {
"name": "<string>",
"isPublic": True,
"description": "<string>",
"attributes": {},
"projects": ["<string>"],
"environments": ["<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>',
isPublic: true,
description: '<string>',
attributes: {},
projects: ['<string>'],
environments: ['<string>']
})
};
fetch('https://api.growthbook.io/api/v1/archetypes', 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.growthbook.io/api/v1/archetypes",
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>',
'isPublic' => true,
'description' => '<string>',
'attributes' => [
],
'projects' => [
'<string>'
],
'environments' => [
'<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.growthbook.io/api/v1/archetypes"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"isPublic\": true,\n \"description\": \"<string>\",\n \"attributes\": {},\n \"projects\": [\n \"<string>\"\n ],\n \"environments\": [\n \"<string>\"\n ]\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.growthbook.io/api/v1/archetypes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"isPublic\": true,\n \"description\": \"<string>\",\n \"attributes\": {},\n \"projects\": [\n \"<string>\"\n ],\n \"environments\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.growthbook.io/api/v1/archetypes")
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 \"isPublic\": true,\n \"description\": \"<string>\",\n \"attributes\": {},\n \"projects\": [\n \"<string>\"\n ],\n \"environments\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"archetype": {
"id": "<string>",
"dateCreated": "<string>",
"dateUpdated": "<string>",
"name": "<string>",
"owner": "<string>",
"isPublic": true,
"attributes": {},
"description": "<string>",
"ownerEmail": "<string>",
"projects": [
"<string>"
],
"environments": [
"<string>"
]
}
}Authorizations
bearerAuthbasicAuth
If using Bearer auth, pass the Secret Key as the token:
curl https://api.growthbook.io/api/v1/features -H "Authorization: Bearer secret_abc123DEF456"
Body
application/json
Whether to make this Archetype available to other team members
Maximum string length:
10000The attributes to set when using this Archetype
Show child attributes
Show child attributes
Limit this Archetype to specific environments. Omit or leave empty to apply to all environments.
Response
200 - application/json
Resource created
Show child attributes
Show child attributes
Was this page helpful?
⌘I
cURL
curl -X POST 'https://api.growthbook.io/api/v1/archetypes' \
-H 'Authorization: Bearer YOUR_API_KEY'import requests
url = "https://api.growthbook.io/api/v1/archetypes"
payload = {
"name": "<string>",
"isPublic": True,
"description": "<string>",
"attributes": {},
"projects": ["<string>"],
"environments": ["<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>',
isPublic: true,
description: '<string>',
attributes: {},
projects: ['<string>'],
environments: ['<string>']
})
};
fetch('https://api.growthbook.io/api/v1/archetypes', 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.growthbook.io/api/v1/archetypes",
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>',
'isPublic' => true,
'description' => '<string>',
'attributes' => [
],
'projects' => [
'<string>'
],
'environments' => [
'<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.growthbook.io/api/v1/archetypes"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"isPublic\": true,\n \"description\": \"<string>\",\n \"attributes\": {},\n \"projects\": [\n \"<string>\"\n ],\n \"environments\": [\n \"<string>\"\n ]\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.growthbook.io/api/v1/archetypes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"isPublic\": true,\n \"description\": \"<string>\",\n \"attributes\": {},\n \"projects\": [\n \"<string>\"\n ],\n \"environments\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.growthbook.io/api/v1/archetypes")
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 \"isPublic\": true,\n \"description\": \"<string>\",\n \"attributes\": {},\n \"projects\": [\n \"<string>\"\n ],\n \"environments\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"archetype": {
"id": "<string>",
"dateCreated": "<string>",
"dateUpdated": "<string>",
"name": "<string>",
"owner": "<string>",
"isPublic": true,
"attributes": {},
"description": "<string>",
"ownerEmail": "<string>",
"projects": [
"<string>"
],
"environments": [
"<string>"
]
}
}
