curl --request GET \
--url https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions \
--header 'Authorization: <api-key>'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));const url = 'https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));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)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();<?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;
}[
{
"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,
"awaitingResponse": true,
"updatedAt": "2023-11-07T05:31:56Z",
"history": [
{
"status": "delivered",
"submittedPayload": {
"actionCode": "FORMATION_NAME_OPTIONS_EXHAUSTED",
"nameOptions": [
{
"name": "Acme Holdings",
"entityTypeEnding": "LLC",
"position": 123
}
]
},
"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>'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));const url = 'https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));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)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();<?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;
}[
{
"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,
"awaitingResponse": true,
"updatedAt": "2023-11-07T05:31:56Z",
"history": [
{
"status": "delivered",
"submittedPayload": {
"actionCode": "FORMATION_NAME_OPTIONS_EXHAUSTED",
"nameOptions": [
{
"name": "Acme Holdings",
"entityTypeEnding": "LLC",
"position": 123
}
]
},
"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."
True while doola is waiting for you to act on this action; false once you have submitted a resolution or the action is closed
When this action last changed
Show child attributes
Show child attributes