Project Dependencies
curl --request GET \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies \
--header 'Content-Type: application/json' \
--data '
{
"projectId": "<string>",
"version": "<string>"
}
'import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies"
payload = {
"projectId": "<string>",
"version": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({projectId: '<string>', version: '<string>'})
};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies', 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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'projectId' => '<string>',
'version' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies"
payload := strings.NewReader("{\n \"projectId\": \"<string>\",\n \"version\": \"<string>\"\n}")
req, _ := http.NewRequest("GET", url, payload)
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.get("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies")
.header("Content-Type", "application/json")
.body("{\n \"projectId\": \"<string>\",\n \"version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"projectId\": \"<string>\",\n \"version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyProjects
Project Dependencies
Manage project dependencies
GET
/
app
/
v1
/
organizations
/
{organizationId}
/
projects
/
{projectId}
/
dependencies
Project Dependencies
curl --request GET \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies \
--header 'Content-Type: application/json' \
--data '
{
"projectId": "<string>",
"version": "<string>"
}
'import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies"
payload = {
"projectId": "<string>",
"version": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({projectId: '<string>', version: '<string>'})
};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies', 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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'projectId' => '<string>',
'version' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies"
payload := strings.NewReader("{\n \"projectId\": \"<string>\",\n \"version\": \"<string>\"\n}")
req, _ := http.NewRequest("GET", url, payload)
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.get("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies")
.header("Content-Type", "application/json")
.body("{\n \"projectId\": \"<string>\",\n \"version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/dependencies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"projectId\": \"<string>\",\n \"version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyProjects can depend on other projects, allowing you to share components and content types across projects. This page covers all dependency management operations.
List Dependencies
GET
/app/v1/organizations//projects//dependenciesPath Parameters
string
required
Organization ID
string
required
Project ID
Response
{
"data": [
{
"projectId": "proj456",
"name": "UI Components",
"version": "2.0.0"
}
]
}
Add Dependency
POST
/app/v1/organizations//projects//dependenciesRequest Body
string
required
ID of the project to depend on
string
required
Semantic version of the dependency (e.g., “2.0.0”)
Example Request
{
"projectId": "proj456",
"version": "2.0.0"
}
Response
Returns the updated Project object with the new dependency added.Error Responses
Dependent Project Not Found
{
"error": {
"code": "DEPENDENT_PROJECT_NOT_FOUND",
"message": "Dependent project not found"
}
}
Circular Dependency
{
"error": {
"code": "CIRCULAR_DEPENDENCY",
"message": "Adding this dependency would create a circular dependency"
}
}
Remove Dependency
DELETE
/app/v1/organizations//projects//dependencies/Path Parameters
string
required
Organization ID
string
required
Project ID
string
required
ID of the dependent project to remove
Response
Returns the updated Project object with the dependency removed.Code Examples
curl -X GET "https://api.metabind.ai/app/v1/organizations/org123/projects/proj123/dependencies" \
-H "Authorization: Bearer YOUR_JWT"
curl -X POST "https://api.metabind.ai/app/v1/organizations/org123/projects/proj123/dependencies" \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{
"projectId": "proj456",
"version": "2.0.0"
}'
curl -X DELETE "https://api.metabind.ai/app/v1/organizations/org123/projects/proj123/dependencies/proj456" \
-H "Authorization: Bearer YOUR_JWT"
// List dependencies
const listResponse = await fetch(
'https://api.metabind.ai/app/v1/organizations/org123/projects/proj123/dependencies',
{
headers: { 'Authorization': 'Bearer YOUR_JWT' }
}
);
const { data: dependencies } = await listResponse.json();
// Add dependency
const addResponse = await fetch(
'https://api.metabind.ai/app/v1/organizations/org123/projects/proj123/dependencies',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT',
'Content-Type': 'application/json'
},
body: JSON.stringify({
projectId: 'proj456',
version: '2.0.0'
})
}
);
// Remove dependency
const removeResponse = await fetch(
'https://api.metabind.ai/app/v1/organizations/org123/projects/proj123/dependencies/proj456',
{
method: 'DELETE',
headers: { 'Authorization': 'Bearer YOUR_JWT' }
}
);