Get project integration
curl --request GET \
--url https://api.veryfront.com/projects/{project_reference}/integrations/{name} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veryfront.com/projects/{project_reference}/integrations/{name}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veryfront.com/projects/{project_reference}/integrations/{name}', 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}/integrations/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}/integrations/{name}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.veryfront.com/projects/{project_reference}/integrations/{name}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/integrations/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"configured": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"display_name": "<string>",
"icon": "<string>",
"description": "<string>",
"auth_type": "oauth2",
"tool_count": 1,
"prompt_count": 1,
"connected_for_project": true,
"scope": "project",
"allowed_tools": [
"<string>"
],
"config": {},
"execution_mode": "real",
"project_connections": {
"connected": 1,
"expired": 1,
"disconnected": 1
},
"project_user_connections": {
"connected": 1,
"expired": 1,
"disconnected": 1
},
"resolution": {
"catalog_available": true,
"catalog_state": "available",
"policy": {
"state": "absent",
"scope": "project",
"allowed_tools": [
"<string>"
],
"execution_mode": "real"
},
"credential_requirement": {
"mode": "oauth_connection",
"managed_oauth": true,
"byo_oauth_app_override": {
"supported": true,
"required": true,
"client_id_env_var": "<string>",
"client_secret_env_var": "<string>"
},
"mandatory_env_vars": [
"<string>"
]
},
"connection_readiness": {
"status": "ready",
"scope": "project",
"connected_count": 1
}
},
"selected_readiness": {
"version": 1,
"selection": {
"integration": "<string>",
"state": "selected",
"mode": "oauth_connection",
"scope": "user",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tool_name": "<string>",
"requested_connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connection_generation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"connection": {
"state": "connected"
},
"account": {
"state": "recorded",
"id": "<string>",
"evidence": "stored_metadata",
"display_name": "<string>"
},
"credentials": {
"evidence": "connection_metadata",
"missing_keys": [
"<string>"
]
},
"local_eligibility": {
"state": "eligible",
"basis": "metadata_only",
"blockers": [
"tool_unavailable"
],
"required_capability": "project.integrations.read",
"pending_checks": [
"argument_validation"
]
},
"provider_verification": {
"state": "not_checked"
}
}
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"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,
"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,
"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"
}
]
}Get project integration
Returns an integration with its project configuration and connection status.
GET
/
projects
/
{project_reference}
/
integrations
/
{name}
Get project integration
curl --request GET \
--url https://api.veryfront.com/projects/{project_reference}/integrations/{name} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veryfront.com/projects/{project_reference}/integrations/{name}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veryfront.com/projects/{project_reference}/integrations/{name}', 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}/integrations/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}/integrations/{name}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.veryfront.com/projects/{project_reference}/integrations/{name}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/integrations/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"configured": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"display_name": "<string>",
"icon": "<string>",
"description": "<string>",
"auth_type": "oauth2",
"tool_count": 1,
"prompt_count": 1,
"connected_for_project": true,
"scope": "project",
"allowed_tools": [
"<string>"
],
"config": {},
"execution_mode": "real",
"project_connections": {
"connected": 1,
"expired": 1,
"disconnected": 1
},
"project_user_connections": {
"connected": 1,
"expired": 1,
"disconnected": 1
},
"resolution": {
"catalog_available": true,
"catalog_state": "available",
"policy": {
"state": "absent",
"scope": "project",
"allowed_tools": [
"<string>"
],
"execution_mode": "real"
},
"credential_requirement": {
"mode": "oauth_connection",
"managed_oauth": true,
"byo_oauth_app_override": {
"supported": true,
"required": true,
"client_id_env_var": "<string>",
"client_secret_env_var": "<string>"
},
"mandatory_env_vars": [
"<string>"
]
},
"connection_readiness": {
"status": "ready",
"scope": "project",
"connected_count": 1
}
},
"selected_readiness": {
"version": 1,
"selection": {
"integration": "<string>",
"state": "selected",
"mode": "oauth_connection",
"scope": "user",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tool_name": "<string>",
"requested_connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connection_generation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"connection": {
"state": "connected"
},
"account": {
"state": "recorded",
"id": "<string>",
"evidence": "stored_metadata",
"display_name": "<string>"
},
"credentials": {
"evidence": "connection_metadata",
"missing_keys": [
"<string>"
]
},
"local_eligibility": {
"state": "eligible",
"basis": "metadata_only",
"blockers": [
"tool_unavailable"
],
"required_capability": "project.integrations.read",
"pending_checks": [
"argument_validation"
]
},
"provider_verification": {
"state": "not_checked"
}
}
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"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,
"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,
"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, UUID, or domain that identifies the project.
Query Parameters
Canonical integration__tool_id to inspect using metadata only.
Required string length:
1 - 256Explicit visible OAuth connection. Requires tool_name.
Observed connection generation. Requires tool_name and connection_id.
Response
Project integration card
Available options:
oauth2, oauth1, api-key, basic Required range:
x >= 0Required range:
x >= 0Available options:
project, user Show child attributes
Show child attributes
Available options:
real, mock Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes