curl --request GET \
--url https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions \
--header 'Authorization: <api-key>'import requests
url = "https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions', 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.test.doola.com/v1/partner/companies/{companyId}/required-actions",
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: <api-key>"
],
]);
$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.test.doola.com/v1/partner/companies/{companyId}/required-actions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.test.doola.com/v1/partner/companies/{companyId}/required-actions")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"requiredActionId": "31pLdpvMh4OfO90moxLgLT8AuQr",
"doolaCompanyId": "31pLD0Tq2lm2FsgRBoHv4x3BpzZ",
"actionCode": "FORMATION_NAME_OPTIONS_EXHAUSTED",
"actionName": "New company names needed",
"status": "delivered",
"reason": "All submitted company name options were rejected by the state. Submit new options.",
"open": true,
"updatedAt": "2023-11-07T05:31:56Z",
"history": [
{
"status": "delivered",
"submittedPayload": {
"empty": true,
"array": true,
"null": true,
"object": true,
"float": true,
"container": true,
"textual": true,
"missingNode": true,
"nodeType": "ARRAY",
"string": true,
"integralNumber": true,
"valueNode": true,
"pojo": true,
"number": true,
"floatingPointNumber": true,
"short": true,
"int": true,
"long": true,
"double": true,
"bigDecimal": true,
"bigInteger": true,
"boolean": true,
"binary": true,
"embeddedValue": true
},
"createdAt": "2023-11-07T05:31:56Z"
}
]
}
]List a company's required actions
Every required action for the company, most recently changed first, including ones already resolved or rejected. Use this to reconcile after missing webhooks. Histories are omitted here; read a single action for those.
curl --request GET \
--url https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions \
--header 'Authorization: <api-key>'import requests
url = "https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions', 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.test.doola.com/v1/partner/companies/{companyId}/required-actions",
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: <api-key>"
],
]);
$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.test.doola.com/v1/partner/companies/{companyId}/required-actions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.test.doola.com/v1/partner/companies/{companyId}/required-actions")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"requiredActionId": "31pLdpvMh4OfO90moxLgLT8AuQr",
"doolaCompanyId": "31pLD0Tq2lm2FsgRBoHv4x3BpzZ",
"actionCode": "FORMATION_NAME_OPTIONS_EXHAUSTED",
"actionName": "New company names needed",
"status": "delivered",
"reason": "All submitted company name options were rejected by the state. Submit new options.",
"open": true,
"updatedAt": "2023-11-07T05:31:56Z",
"history": [
{
"status": "delivered",
"submittedPayload": {
"empty": true,
"array": true,
"null": true,
"object": true,
"float": true,
"container": true,
"textual": true,
"missingNode": true,
"nodeType": "ARRAY",
"string": true,
"integralNumber": true,
"valueNode": true,
"pojo": true,
"number": true,
"floatingPointNumber": true,
"short": true,
"int": true,
"long": true,
"double": true,
"bigDecimal": true,
"bigInteger": true,
"boolean": true,
"binary": true,
"embeddedValue": true
},
"createdAt": "2023-11-07T05:31:56Z"
}
]
}
]Authorizations
Partner API key. Send the raw key as the Authorization header value — e.g. dk_test_… in sandbox or dk_live_… in production. Generate and rotate keys in the doola Partner Portal.
Path Parameters
doola company ID (KSUID).
Response
OK
"31pLdpvMh4OfO90moxLgLT8AuQr"
"31pLD0Tq2lm2FsgRBoHv4x3BpzZ"
What is needed
FORMATION_NAME_OPTIONS_EXHAUSTED, FORMATION_SIGNATURE_SS4_RESET, FORMATION_SIGNATURE_FORM8821_REQUIRED "FORMATION_NAME_OPTIONS_EXHAUSTED"
Human-readable label for the action
"New company names needed"
created, delivered, delivery_failed, submitted, rejected, resolved "delivered"
Human-readable explanation you can surface to your user
"All submitted company name options were rejected by the state. Submit new options."
When this action last changed
Show child attributes
Show child attributes