curl --request GET \
--url https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions/{requiredActionId} \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions/{requiredActionId}', 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/{requiredActionId}';
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/{requiredActionId}"
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/{requiredActionId}"
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/{requiredActionId}")
.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/{requiredActionId}",
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"
}
]
}Retrieve a required action
One required action with its full history, so you can see when it was raised, whether doola reached your endpoint, and how many rounds it has taken.
curl --request GET \
--url https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions/{requiredActionId} \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.test.doola.com/v1/partner/companies/{companyId}/required-actions/{requiredActionId}', 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/{requiredActionId}';
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/{requiredActionId}"
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/{requiredActionId}"
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/{requiredActionId}")
.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/{requiredActionId}",
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).
Required action ID (KSUID).
Response
OK
An action doola needs you to take on a company
"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