Create Provider
curl --request POST \
--url https://api.example.com/api/v1/providers \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"location": "<string>",
"agent_card": {
"capabilities": {
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"params": {},
"required": true
}
],
"pushNotifications": true,
"stateTransitionHistory": true,
"streaming": true
},
"defaultInputModes": [
"<string>"
],
"defaultOutputModes": [
"<string>"
],
"description": "<string>",
"name": "<string>",
"skills": [
{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"examples": [
"I need a recipe for bread"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"security": [
{
"google": [
"oidc"
]
}
]
}
],
"url": "<string>",
"version": "<string>",
"additionalInterfaces": [
{
"transport": "<string>",
"url": "<string>"
}
],
"documentationUrl": "<string>",
"iconUrl": "<string>",
"preferredTransport": "JSONRPC",
"protocolVersion": "0.3.0",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{
"oauth": [
"read"
]
},
{
"api-key": [],
"mtls": []
}
],
"securitySchemes": {},
"signatures": [
{
"protected": "<string>",
"signature": "<string>",
"header": {}
}
],
"supportsAuthenticatedExtendedCard": true
},
"variables": {},
"origin": "<string>",
"auto_stop_timeout_sec": 900
}
'import requests
url = "https://api.example.com/api/v1/providers"
payload = {
"location": "<string>",
"agent_card": {
"capabilities": {
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"params": {},
"required": True
}
],
"pushNotifications": True,
"stateTransitionHistory": True,
"streaming": True
},
"defaultInputModes": ["<string>"],
"defaultOutputModes": ["<string>"],
"description": "<string>",
"name": "<string>",
"skills": [
{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"tags": ["<string>"],
"examples": ["I need a recipe for bread"],
"inputModes": ["<string>"],
"outputModes": ["<string>"],
"security": [{ "google": ["oidc"] }]
}
],
"url": "<string>",
"version": "<string>",
"additionalInterfaces": [
{
"transport": "<string>",
"url": "<string>"
}
],
"documentationUrl": "<string>",
"iconUrl": "<string>",
"preferredTransport": "JSONRPC",
"protocolVersion": "0.3.0",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{ "oauth": ["read"] },
{
"api-key": [],
"mtls": []
}
],
"securitySchemes": {},
"signatures": [
{
"protected": "<string>",
"signature": "<string>",
"header": {}
}
],
"supportsAuthenticatedExtendedCard": True
},
"variables": {},
"origin": "<string>",
"auto_stop_timeout_sec": 900
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
location: '<string>',
agent_card: {
capabilities: {
extensions: [{uri: '<string>', description: '<string>', params: {}, required: true}],
pushNotifications: true,
stateTransitionHistory: true,
streaming: true
},
defaultInputModes: ['<string>'],
defaultOutputModes: ['<string>'],
description: '<string>',
name: '<string>',
skills: [
{
description: '<string>',
id: '<string>',
name: '<string>',
tags: ['<string>'],
examples: ['I need a recipe for bread'],
inputModes: ['<string>'],
outputModes: ['<string>'],
security: [{google: ['oidc']}]
}
],
url: '<string>',
version: '<string>',
additionalInterfaces: [{transport: '<string>', url: '<string>'}],
documentationUrl: '<string>',
iconUrl: '<string>',
preferredTransport: 'JSONRPC',
protocolVersion: '0.3.0',
provider: {organization: '<string>', url: '<string>'},
security: [{oauth: ['read']}, {'api-key': [], mtls: []}],
securitySchemes: {},
signatures: [{protected: '<string>', signature: '<string>', header: {}}],
supportsAuthenticatedExtendedCard: true
},
variables: {},
origin: '<string>',
auto_stop_timeout_sec: 900
})
};
fetch('https://api.example.com/api/v1/providers', 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/api/v1/providers",
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([
'location' => '<string>',
'agent_card' => [
'capabilities' => [
'extensions' => [
[
'uri' => '<string>',
'description' => '<string>',
'params' => [
],
'required' => true
]
],
'pushNotifications' => true,
'stateTransitionHistory' => true,
'streaming' => true
],
'defaultInputModes' => [
'<string>'
],
'defaultOutputModes' => [
'<string>'
],
'description' => '<string>',
'name' => '<string>',
'skills' => [
[
'description' => '<string>',
'id' => '<string>',
'name' => '<string>',
'tags' => [
'<string>'
],
'examples' => [
'I need a recipe for bread'
],
'inputModes' => [
'<string>'
],
'outputModes' => [
'<string>'
],
'security' => [
[
'google' => [
'oidc'
]
]
]
]
],
'url' => '<string>',
'version' => '<string>',
'additionalInterfaces' => [
[
'transport' => '<string>',
'url' => '<string>'
]
],
'documentationUrl' => '<string>',
'iconUrl' => '<string>',
'preferredTransport' => 'JSONRPC',
'protocolVersion' => '0.3.0',
'provider' => [
'organization' => '<string>',
'url' => '<string>'
],
'security' => [
[
'oauth' => [
'read'
]
],
[
'api-key' => [
],
'mtls' => [
]
]
],
'securitySchemes' => [
],
'signatures' => [
[
'protected' => '<string>',
'signature' => '<string>',
'header' => [
]
]
],
'supportsAuthenticatedExtendedCard' => true
],
'variables' => [
],
'origin' => '<string>',
'auto_stop_timeout_sec' => 900
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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/api/v1/providers"
payload := strings.NewReader("{\n \"location\": \"<string>\",\n \"agent_card\": {\n \"capabilities\": {\n \"extensions\": [\n {\n \"uri\": \"<string>\",\n \"description\": \"<string>\",\n \"params\": {},\n \"required\": true\n }\n ],\n \"pushNotifications\": true,\n \"stateTransitionHistory\": true,\n \"streaming\": true\n },\n \"defaultInputModes\": [\n \"<string>\"\n ],\n \"defaultOutputModes\": [\n \"<string>\"\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"skills\": [\n {\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"examples\": [\n \"I need a recipe for bread\"\n ],\n \"inputModes\": [\n \"<string>\"\n ],\n \"outputModes\": [\n \"<string>\"\n ],\n \"security\": [\n {\n \"google\": [\n \"oidc\"\n ]\n }\n ]\n }\n ],\n \"url\": \"<string>\",\n \"version\": \"<string>\",\n \"additionalInterfaces\": [\n {\n \"transport\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"documentationUrl\": \"<string>\",\n \"iconUrl\": \"<string>\",\n \"preferredTransport\": \"JSONRPC\",\n \"protocolVersion\": \"0.3.0\",\n \"provider\": {\n \"organization\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"security\": [\n {\n \"oauth\": [\n \"read\"\n ]\n },\n {\n \"api-key\": [],\n \"mtls\": []\n }\n ],\n \"securitySchemes\": {},\n \"signatures\": [\n {\n \"protected\": \"<string>\",\n \"signature\": \"<string>\",\n \"header\": {}\n }\n ],\n \"supportsAuthenticatedExtendedCard\": true\n },\n \"variables\": {},\n \"origin\": \"<string>\",\n \"auto_stop_timeout_sec\": 900\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.example.com/api/v1/providers")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"location\": \"<string>\",\n \"agent_card\": {\n \"capabilities\": {\n \"extensions\": [\n {\n \"uri\": \"<string>\",\n \"description\": \"<string>\",\n \"params\": {},\n \"required\": true\n }\n ],\n \"pushNotifications\": true,\n \"stateTransitionHistory\": true,\n \"streaming\": true\n },\n \"defaultInputModes\": [\n \"<string>\"\n ],\n \"defaultOutputModes\": [\n \"<string>\"\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"skills\": [\n {\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"examples\": [\n \"I need a recipe for bread\"\n ],\n \"inputModes\": [\n \"<string>\"\n ],\n \"outputModes\": [\n \"<string>\"\n ],\n \"security\": [\n {\n \"google\": [\n \"oidc\"\n ]\n }\n ]\n }\n ],\n \"url\": \"<string>\",\n \"version\": \"<string>\",\n \"additionalInterfaces\": [\n {\n \"transport\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"documentationUrl\": \"<string>\",\n \"iconUrl\": \"<string>\",\n \"preferredTransport\": \"JSONRPC\",\n \"protocolVersion\": \"0.3.0\",\n \"provider\": {\n \"organization\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"security\": [\n {\n \"oauth\": [\n \"read\"\n ]\n },\n {\n \"api-key\": [],\n \"mtls\": []\n }\n ],\n \"securitySchemes\": {},\n \"signatures\": [\n {\n \"protected\": \"<string>\",\n \"signature\": \"<string>\",\n \"header\": {}\n }\n ],\n \"supportsAuthenticatedExtendedCard\": true\n },\n \"variables\": {},\n \"origin\": \"<string>\",\n \"auto_stop_timeout_sec\": 900\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/providers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": \"<string>\",\n \"agent_card\": {\n \"capabilities\": {\n \"extensions\": [\n {\n \"uri\": \"<string>\",\n \"description\": \"<string>\",\n \"params\": {},\n \"required\": true\n }\n ],\n \"pushNotifications\": true,\n \"stateTransitionHistory\": true,\n \"streaming\": true\n },\n \"defaultInputModes\": [\n \"<string>\"\n ],\n \"defaultOutputModes\": [\n \"<string>\"\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"skills\": [\n {\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"examples\": [\n \"I need a recipe for bread\"\n ],\n \"inputModes\": [\n \"<string>\"\n ],\n \"outputModes\": [\n \"<string>\"\n ],\n \"security\": [\n {\n \"google\": [\n \"oidc\"\n ]\n }\n ]\n }\n ],\n \"url\": \"<string>\",\n \"version\": \"<string>\",\n \"additionalInterfaces\": [\n {\n \"transport\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"documentationUrl\": \"<string>\",\n \"iconUrl\": \"<string>\",\n \"preferredTransport\": \"JSONRPC\",\n \"protocolVersion\": \"0.3.0\",\n \"provider\": {\n \"organization\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"security\": [\n {\n \"oauth\": [\n \"read\"\n ]\n },\n {\n \"api-key\": [],\n \"mtls\": []\n }\n ],\n \"securitySchemes\": {},\n \"signatures\": [\n {\n \"protected\": \"<string>\",\n \"signature\": \"<string>\",\n \"header\": {}\n }\n ],\n \"supportsAuthenticatedExtendedCard\": true\n },\n \"variables\": {},\n \"origin\": \"<string>\",\n \"auto_stop_timeout_sec\": 900\n}"
response = http.request(request)
puts response.read_body{
"source": "<string>",
"origin": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_card": {
"capabilities": {
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"params": {},
"required": true
}
],
"pushNotifications": true,
"stateTransitionHistory": true,
"streaming": true
},
"defaultInputModes": [
"<string>"
],
"defaultOutputModes": [
"<string>"
],
"description": "<string>",
"name": "<string>",
"skills": [
{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"examples": [
"I need a recipe for bread"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"security": [
{
"google": [
"oidc"
]
}
]
}
],
"url": "<string>",
"version": "<string>",
"additionalInterfaces": [
{
"transport": "<string>",
"url": "<string>"
}
],
"documentationUrl": "<string>",
"iconUrl": "<string>",
"preferredTransport": "JSONRPC",
"protocolVersion": "0.3.0",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{
"oauth": [
"read"
]
},
{
"api-key": [],
"mtls": []
}
],
"securitySchemes": {},
"signatures": [
{
"protected": "<string>",
"signature": "<string>",
"header": {}
}
],
"supportsAuthenticatedExtendedCard": true
},
"managed": true,
"env": [
{
"name": "<string>",
"description": "<string>",
"required": false
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"auto_stop_timeout": "PT20M",
"version_info": {
"docker": {
"registry": "<string>",
"repository": "<string>",
"tag": "<string>",
"digest": "<string>",
"image_id": "<string>"
},
"github": {
"org": "<string>",
"repo": "<string>",
"version": "<string>",
"commit_hash": "<string>",
"host": "github.com",
"path": "<string>"
}
},
"registry": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"last_active_at": "2023-11-07T05:31:56Z",
"last_error": {
"message": "<string>"
},
"missing_configuration": [
{
"name": "<string>",
"description": "<string>",
"required": false
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Body
The AgentCard is a self-describing manifest for an agent. It provides essential metadata including the agent's identity, capabilities, skills, supported communication methods, and security requirements.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
A unique origin of the provider: most often a docker or github repository url (without tag). This is used to determine multiple versions of the same agent.
Timeout after which the agent provider will be automatically downscaled if unused.Contact administrator if you need to increase this value.
0 < x <= 1800Response
Successful Response
The AgentCard is a self-describing manifest for an agent. It provides essential metadata including the agent's identity, capabilities, skills, supported communication methods, and security requirements.
Show child attributes
Show child attributes
missing, starting, ready, running, error managed, unmanaged Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
curl --request POST \
--url https://api.example.com/api/v1/providers \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"location": "<string>",
"agent_card": {
"capabilities": {
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"params": {},
"required": true
}
],
"pushNotifications": true,
"stateTransitionHistory": true,
"streaming": true
},
"defaultInputModes": [
"<string>"
],
"defaultOutputModes": [
"<string>"
],
"description": "<string>",
"name": "<string>",
"skills": [
{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"examples": [
"I need a recipe for bread"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"security": [
{
"google": [
"oidc"
]
}
]
}
],
"url": "<string>",
"version": "<string>",
"additionalInterfaces": [
{
"transport": "<string>",
"url": "<string>"
}
],
"documentationUrl": "<string>",
"iconUrl": "<string>",
"preferredTransport": "JSONRPC",
"protocolVersion": "0.3.0",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{
"oauth": [
"read"
]
},
{
"api-key": [],
"mtls": []
}
],
"securitySchemes": {},
"signatures": [
{
"protected": "<string>",
"signature": "<string>",
"header": {}
}
],
"supportsAuthenticatedExtendedCard": true
},
"variables": {},
"origin": "<string>",
"auto_stop_timeout_sec": 900
}
'import requests
url = "https://api.example.com/api/v1/providers"
payload = {
"location": "<string>",
"agent_card": {
"capabilities": {
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"params": {},
"required": True
}
],
"pushNotifications": True,
"stateTransitionHistory": True,
"streaming": True
},
"defaultInputModes": ["<string>"],
"defaultOutputModes": ["<string>"],
"description": "<string>",
"name": "<string>",
"skills": [
{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"tags": ["<string>"],
"examples": ["I need a recipe for bread"],
"inputModes": ["<string>"],
"outputModes": ["<string>"],
"security": [{ "google": ["oidc"] }]
}
],
"url": "<string>",
"version": "<string>",
"additionalInterfaces": [
{
"transport": "<string>",
"url": "<string>"
}
],
"documentationUrl": "<string>",
"iconUrl": "<string>",
"preferredTransport": "JSONRPC",
"protocolVersion": "0.3.0",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{ "oauth": ["read"] },
{
"api-key": [],
"mtls": []
}
],
"securitySchemes": {},
"signatures": [
{
"protected": "<string>",
"signature": "<string>",
"header": {}
}
],
"supportsAuthenticatedExtendedCard": True
},
"variables": {},
"origin": "<string>",
"auto_stop_timeout_sec": 900
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
location: '<string>',
agent_card: {
capabilities: {
extensions: [{uri: '<string>', description: '<string>', params: {}, required: true}],
pushNotifications: true,
stateTransitionHistory: true,
streaming: true
},
defaultInputModes: ['<string>'],
defaultOutputModes: ['<string>'],
description: '<string>',
name: '<string>',
skills: [
{
description: '<string>',
id: '<string>',
name: '<string>',
tags: ['<string>'],
examples: ['I need a recipe for bread'],
inputModes: ['<string>'],
outputModes: ['<string>'],
security: [{google: ['oidc']}]
}
],
url: '<string>',
version: '<string>',
additionalInterfaces: [{transport: '<string>', url: '<string>'}],
documentationUrl: '<string>',
iconUrl: '<string>',
preferredTransport: 'JSONRPC',
protocolVersion: '0.3.0',
provider: {organization: '<string>', url: '<string>'},
security: [{oauth: ['read']}, {'api-key': [], mtls: []}],
securitySchemes: {},
signatures: [{protected: '<string>', signature: '<string>', header: {}}],
supportsAuthenticatedExtendedCard: true
},
variables: {},
origin: '<string>',
auto_stop_timeout_sec: 900
})
};
fetch('https://api.example.com/api/v1/providers', 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/api/v1/providers",
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([
'location' => '<string>',
'agent_card' => [
'capabilities' => [
'extensions' => [
[
'uri' => '<string>',
'description' => '<string>',
'params' => [
],
'required' => true
]
],
'pushNotifications' => true,
'stateTransitionHistory' => true,
'streaming' => true
],
'defaultInputModes' => [
'<string>'
],
'defaultOutputModes' => [
'<string>'
],
'description' => '<string>',
'name' => '<string>',
'skills' => [
[
'description' => '<string>',
'id' => '<string>',
'name' => '<string>',
'tags' => [
'<string>'
],
'examples' => [
'I need a recipe for bread'
],
'inputModes' => [
'<string>'
],
'outputModes' => [
'<string>'
],
'security' => [
[
'google' => [
'oidc'
]
]
]
]
],
'url' => '<string>',
'version' => '<string>',
'additionalInterfaces' => [
[
'transport' => '<string>',
'url' => '<string>'
]
],
'documentationUrl' => '<string>',
'iconUrl' => '<string>',
'preferredTransport' => 'JSONRPC',
'protocolVersion' => '0.3.0',
'provider' => [
'organization' => '<string>',
'url' => '<string>'
],
'security' => [
[
'oauth' => [
'read'
]
],
[
'api-key' => [
],
'mtls' => [
]
]
],
'securitySchemes' => [
],
'signatures' => [
[
'protected' => '<string>',
'signature' => '<string>',
'header' => [
]
]
],
'supportsAuthenticatedExtendedCard' => true
],
'variables' => [
],
'origin' => '<string>',
'auto_stop_timeout_sec' => 900
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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/api/v1/providers"
payload := strings.NewReader("{\n \"location\": \"<string>\",\n \"agent_card\": {\n \"capabilities\": {\n \"extensions\": [\n {\n \"uri\": \"<string>\",\n \"description\": \"<string>\",\n \"params\": {},\n \"required\": true\n }\n ],\n \"pushNotifications\": true,\n \"stateTransitionHistory\": true,\n \"streaming\": true\n },\n \"defaultInputModes\": [\n \"<string>\"\n ],\n \"defaultOutputModes\": [\n \"<string>\"\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"skills\": [\n {\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"examples\": [\n \"I need a recipe for bread\"\n ],\n \"inputModes\": [\n \"<string>\"\n ],\n \"outputModes\": [\n \"<string>\"\n ],\n \"security\": [\n {\n \"google\": [\n \"oidc\"\n ]\n }\n ]\n }\n ],\n \"url\": \"<string>\",\n \"version\": \"<string>\",\n \"additionalInterfaces\": [\n {\n \"transport\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"documentationUrl\": \"<string>\",\n \"iconUrl\": \"<string>\",\n \"preferredTransport\": \"JSONRPC\",\n \"protocolVersion\": \"0.3.0\",\n \"provider\": {\n \"organization\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"security\": [\n {\n \"oauth\": [\n \"read\"\n ]\n },\n {\n \"api-key\": [],\n \"mtls\": []\n }\n ],\n \"securitySchemes\": {},\n \"signatures\": [\n {\n \"protected\": \"<string>\",\n \"signature\": \"<string>\",\n \"header\": {}\n }\n ],\n \"supportsAuthenticatedExtendedCard\": true\n },\n \"variables\": {},\n \"origin\": \"<string>\",\n \"auto_stop_timeout_sec\": 900\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.example.com/api/v1/providers")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"location\": \"<string>\",\n \"agent_card\": {\n \"capabilities\": {\n \"extensions\": [\n {\n \"uri\": \"<string>\",\n \"description\": \"<string>\",\n \"params\": {},\n \"required\": true\n }\n ],\n \"pushNotifications\": true,\n \"stateTransitionHistory\": true,\n \"streaming\": true\n },\n \"defaultInputModes\": [\n \"<string>\"\n ],\n \"defaultOutputModes\": [\n \"<string>\"\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"skills\": [\n {\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"examples\": [\n \"I need a recipe for bread\"\n ],\n \"inputModes\": [\n \"<string>\"\n ],\n \"outputModes\": [\n \"<string>\"\n ],\n \"security\": [\n {\n \"google\": [\n \"oidc\"\n ]\n }\n ]\n }\n ],\n \"url\": \"<string>\",\n \"version\": \"<string>\",\n \"additionalInterfaces\": [\n {\n \"transport\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"documentationUrl\": \"<string>\",\n \"iconUrl\": \"<string>\",\n \"preferredTransport\": \"JSONRPC\",\n \"protocolVersion\": \"0.3.0\",\n \"provider\": {\n \"organization\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"security\": [\n {\n \"oauth\": [\n \"read\"\n ]\n },\n {\n \"api-key\": [],\n \"mtls\": []\n }\n ],\n \"securitySchemes\": {},\n \"signatures\": [\n {\n \"protected\": \"<string>\",\n \"signature\": \"<string>\",\n \"header\": {}\n }\n ],\n \"supportsAuthenticatedExtendedCard\": true\n },\n \"variables\": {},\n \"origin\": \"<string>\",\n \"auto_stop_timeout_sec\": 900\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/providers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"location\": \"<string>\",\n \"agent_card\": {\n \"capabilities\": {\n \"extensions\": [\n {\n \"uri\": \"<string>\",\n \"description\": \"<string>\",\n \"params\": {},\n \"required\": true\n }\n ],\n \"pushNotifications\": true,\n \"stateTransitionHistory\": true,\n \"streaming\": true\n },\n \"defaultInputModes\": [\n \"<string>\"\n ],\n \"defaultOutputModes\": [\n \"<string>\"\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"skills\": [\n {\n \"description\": \"<string>\",\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"examples\": [\n \"I need a recipe for bread\"\n ],\n \"inputModes\": [\n \"<string>\"\n ],\n \"outputModes\": [\n \"<string>\"\n ],\n \"security\": [\n {\n \"google\": [\n \"oidc\"\n ]\n }\n ]\n }\n ],\n \"url\": \"<string>\",\n \"version\": \"<string>\",\n \"additionalInterfaces\": [\n {\n \"transport\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"documentationUrl\": \"<string>\",\n \"iconUrl\": \"<string>\",\n \"preferredTransport\": \"JSONRPC\",\n \"protocolVersion\": \"0.3.0\",\n \"provider\": {\n \"organization\": \"<string>\",\n \"url\": \"<string>\"\n },\n \"security\": [\n {\n \"oauth\": [\n \"read\"\n ]\n },\n {\n \"api-key\": [],\n \"mtls\": []\n }\n ],\n \"securitySchemes\": {},\n \"signatures\": [\n {\n \"protected\": \"<string>\",\n \"signature\": \"<string>\",\n \"header\": {}\n }\n ],\n \"supportsAuthenticatedExtendedCard\": true\n },\n \"variables\": {},\n \"origin\": \"<string>\",\n \"auto_stop_timeout_sec\": 900\n}"
response = http.request(request)
puts response.read_body{
"source": "<string>",
"origin": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_card": {
"capabilities": {
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"params": {},
"required": true
}
],
"pushNotifications": true,
"stateTransitionHistory": true,
"streaming": true
},
"defaultInputModes": [
"<string>"
],
"defaultOutputModes": [
"<string>"
],
"description": "<string>",
"name": "<string>",
"skills": [
{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"tags": [
"<string>"
],
"examples": [
"I need a recipe for bread"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"security": [
{
"google": [
"oidc"
]
}
]
}
],
"url": "<string>",
"version": "<string>",
"additionalInterfaces": [
{
"transport": "<string>",
"url": "<string>"
}
],
"documentationUrl": "<string>",
"iconUrl": "<string>",
"preferredTransport": "JSONRPC",
"protocolVersion": "0.3.0",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{
"oauth": [
"read"
]
},
{
"api-key": [],
"mtls": []
}
],
"securitySchemes": {},
"signatures": [
{
"protected": "<string>",
"signature": "<string>",
"header": {}
}
],
"supportsAuthenticatedExtendedCard": true
},
"managed": true,
"env": [
{
"name": "<string>",
"description": "<string>",
"required": false
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"auto_stop_timeout": "PT20M",
"version_info": {
"docker": {
"registry": "<string>",
"repository": "<string>",
"tag": "<string>",
"digest": "<string>",
"image_id": "<string>"
},
"github": {
"org": "<string>",
"repo": "<string>",
"version": "<string>",
"commit_hash": "<string>",
"host": "github.com",
"path": "<string>"
}
},
"registry": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"last_active_at": "2023-11-07T05:31:56Z",
"last_error": {
"message": "<string>"
},
"missing_configuration": [
{
"name": "<string>",
"description": "<string>",
"required": false
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}