Act API
Act with Darwin
Start work from an exact Search result, check its status, respond with more information, decide an exact reviewed approval, or stop the current Turn. Requires agent:write.
POST
/
act
Act with Darwin
curl --request POST \
--url https://api.darwin.so/api/v2/act \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "start",
"capabilityId": "<string>",
"capabilityRevision": 2,
"requestId": "<string>"
}
'import requests
url = "https://api.darwin.so/api/v2/act"
payload = {
"type": "start",
"capabilityId": "<string>",
"capabilityRevision": 2,
"requestId": "<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({
type: 'start',
capabilityId: '<string>',
capabilityRevision: 2,
requestId: '<string>'
})
};
fetch('https://api.darwin.so/api/v2/act', 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.darwin.so/api/v2/act",
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([
'type' => 'start',
'capabilityId' => '<string>',
'capabilityRevision' => 2,
'requestId' => '<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.darwin.so/api/v2/act"
payload := strings.NewReader("{\n \"type\": \"start\",\n \"capabilityId\": \"<string>\",\n \"capabilityRevision\": 2,\n \"requestId\": \"<string>\"\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.darwin.so/api/v2/act")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"start\",\n \"capabilityId\": \"<string>\",\n \"capabilityRevision\": 2,\n \"requestId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.darwin.so/api/v2/act")
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 \"type\": \"start\",\n \"capabilityId\": \"<string>\",\n \"capabilityRevision\": 2,\n \"requestId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"type": "start",
"goalId": "<string>",
"status": "completed",
"result": {},
"actionRequired": "<string>",
"availableActions": [
"<string>"
],
"interaction": {
"id": "<string>",
"kind": "connection",
"state": "required",
"displayName": "<string>",
"hostname": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"retentionChoices": [
"temporary"
],
"scopeDescriptions": [
"<string>"
]
},
"webLink": "<string>"
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
Allowed value:
"start"Required string length:
1 - 200Required range:
x >= 1Required string length:
1 - 160Pattern:
^[a-zA-Z0-9][a-zA-Z0-9._:-]*$Required string length:
1 - 20000Required string length:
1 - 200Required string length:
1 - 200Response
The current truthful state of the requested work.
Available options:
start, status, respond, approve, stop Available options:
completed, running, awaiting_user, approval_required, connection_required, payment_required, insufficient_authority, provider_unavailable, stopped - Option 1
- Option 2
Show child attributes
Show child attributes
⌘I
Act with Darwin
curl --request POST \
--url https://api.darwin.so/api/v2/act \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "start",
"capabilityId": "<string>",
"capabilityRevision": 2,
"requestId": "<string>"
}
'import requests
url = "https://api.darwin.so/api/v2/act"
payload = {
"type": "start",
"capabilityId": "<string>",
"capabilityRevision": 2,
"requestId": "<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({
type: 'start',
capabilityId: '<string>',
capabilityRevision: 2,
requestId: '<string>'
})
};
fetch('https://api.darwin.so/api/v2/act', 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.darwin.so/api/v2/act",
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([
'type' => 'start',
'capabilityId' => '<string>',
'capabilityRevision' => 2,
'requestId' => '<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.darwin.so/api/v2/act"
payload := strings.NewReader("{\n \"type\": \"start\",\n \"capabilityId\": \"<string>\",\n \"capabilityRevision\": 2,\n \"requestId\": \"<string>\"\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.darwin.so/api/v2/act")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"start\",\n \"capabilityId\": \"<string>\",\n \"capabilityRevision\": 2,\n \"requestId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.darwin.so/api/v2/act")
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 \"type\": \"start\",\n \"capabilityId\": \"<string>\",\n \"capabilityRevision\": 2,\n \"requestId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"type": "start",
"goalId": "<string>",
"status": "completed",
"result": {},
"actionRequired": "<string>",
"availableActions": [
"<string>"
],
"interaction": {
"id": "<string>",
"kind": "connection",
"state": "required",
"displayName": "<string>",
"hostname": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"retentionChoices": [
"temporary"
],
"scopeDescriptions": [
"<string>"
]
},
"webLink": "<string>"
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"fields": [
{}
]
}