Designate a factory's control plane
curl --request PUT \
--url https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"repository": "<string>",
"ref": "main"
}
'import requests
url = "https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source"
payload = {
"repository": "<string>",
"ref": "main"
}
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({repository: '<string>', ref: 'main'})
};
fetch('https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source', 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.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source",
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([
'repository' => '<string>',
'ref' => 'main'
]),
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.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source"
payload := strings.NewReader("{\n \"repository\": \"<string>\",\n \"ref\": \"main\"\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.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"repository\": \"<string>\",\n \"ref\": \"main\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source")
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 \"repository\": \"<string>\",\n \"ref\": \"main\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"created_at": "<string>",
"governs": [
"<string>"
],
"ref": "<string>",
"repository": "<string>",
"validated_sha": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "entitlement_required",
"entitlement": "<string>",
"message": "<string>",
"current": 123,
"limit": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Context
Designate a factory's control plane
Marks one of the factory’s linked repositories as its control plane, replacing the one it had. The control plane governs every other repository the factory links. The repository is read before it is stored: its ref is resolved to a commit and .outerlayer/config.json is parsed at that commit. A missing config is accepted. Requires ‘governance.insert’.
PUT
/
v1
/
orgs
/
{orgName}
/
apps
/
{appId}
/
context-source
Designate a factory's control plane
curl --request PUT \
--url https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"repository": "<string>",
"ref": "main"
}
'import requests
url = "https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source"
payload = {
"repository": "<string>",
"ref": "main"
}
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({repository: '<string>', ref: 'main'})
};
fetch('https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source', 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.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source",
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([
'repository' => '<string>',
'ref' => 'main'
]),
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.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source"
payload := strings.NewReader("{\n \"repository\": \"<string>\",\n \"ref\": \"main\"\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.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"repository\": \"<string>\",\n \"ref\": \"main\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.outerlayer.ai/v1/orgs/{orgName}/apps/{appId}/context-source")
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 \"repository\": \"<string>\",\n \"ref\": \"main\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"created_at": "<string>",
"governs": [
"<string>"
],
"ref": "<string>",
"repository": "<string>",
"validated_sha": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "entitlement_required",
"entitlement": "<string>",
"message": "<string>",
"current": 123,
"limit": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
ManagementApiKeyAuthDashboardSessionAuth
Management API key (olk_*), scoped to one org. Needs an Enterprise plan.
Body
application/json
Response
Stored.
Show child attributes
Show child attributes