curl --request POST \
--url https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {},
"role": "<string>",
"expectedSeq": 1
}
'import requests
url = "https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs"
payload = {
"data": {},
"role": "<string>",
"expectedSeq": 1
}
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({data: {}, role: '<string>', expectedSeq: 1})
};
fetch('https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs', 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.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs",
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([
'data' => [
],
'role' => '<string>',
'expectedSeq' => 1
]),
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.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs"
payload := strings.NewReader("{\n \"data\": {},\n \"role\": \"<string>\",\n \"expectedSeq\": 1\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.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {},\n \"role\": \"<string>\",\n \"expectedSeq\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs")
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 \"data\": {},\n \"role\": \"<string>\",\n \"expectedSeq\": 1\n}"
response = http.request(request)
puts response.read_body{
"input": {
"id": "<string>",
"seq": 123,
"at": "2023-11-07T05:31:56Z",
"type": "<string>",
"data": {},
"actor": {
"userId": "<string>",
"name": "<string>",
"role": "<string>"
}
},
"file": {
"submissionId": "<string>",
"guidelines": {
"id": "<string>",
"versionId": "<string>",
"version": 123
},
"seq": 123,
"updatedAt": "2023-11-07T05:31:56Z",
"view": {
"title": "<string>",
"through": 123,
"asOf": "<string>",
"headline": [
{
"name": "<string>",
"label": "<string>",
"value": {
"known": true,
"text": "<string>",
"provisional": true
}
}
],
"stages": [
{
"stage": "<string>",
"status": "declined",
"open": [
{
"label": "<string>",
"kind": "<string>",
"location": "<string>",
"state": "met",
"value": {
"known": true,
"text": "<string>",
"provisional": true
}
}
]
}
],
"next": "<string>",
"missing": [
"<string>"
],
"declines": [
{
"id": "<string>",
"reason": "<string>",
"location": "<string>",
"state": "applies"
}
],
"obligations": [
{
"id": "<string>",
"kind": "referral",
"label": "<string>",
"role": "<string>",
"stage": "<string>",
"location": "<string>",
"applies": "yes",
"decision": "<string>",
"by": "<string>",
"satisfied": true,
"note": "<string>"
}
],
"subjectivities": [
{
"id": "<string>",
"label": "<string>",
"state": "<string>",
"due": "<string>"
}
],
"open": [
{
"id": "<string>",
"kind": "request",
"stage": "<string>",
"need": "<string>",
"role": "<string>",
"obligation": "<string>",
"label": "<string>",
"reasons": [
"<string>"
],
"subjectivity": "<string>",
"due": "<string>"
}
],
"sections": [
{
"id": "<string>",
"title": "<string>",
"level": 123,
"line": 123,
"blocks": [
{}
]
}
],
"problems": [
"<string>"
]
}
},
"effects": [
{
"id": "<string>",
"kind": "request",
"stage": "<string>",
"need": "<string>",
"role": "<string>",
"obligation": "<string>",
"label": "<string>",
"reasons": [
"<string>"
],
"subjectivity": "<string>",
"due": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}Record an input on an underwriting file
Record something a person or system said or did, such as a value from the application, an accepted document or a referral decision, and apply it with the file’s pinned guidelines. The server sets the input’s seq, time and actor; role is the authority you claim and is recorded, not verified. An input the guidelines cannot apply, such as a field they do not define, is refused with 400 and the problems in details on data, and nothing is recorded. Pass expectedSeq (the seq you last read) to get 409 instead of recording on a file that moved on. A wrong value is fixed with a later value.corrected input; inputs are never edited or deleted. Not idempotent: after an uncertain response, list the inputs before retrying, or retry with the same expectedSeq, which returns 409 if the first attempt was recorded. Requires scope and edit access to the submission.
curl --request POST \
--url https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {},
"role": "<string>",
"expectedSeq": 1
}
'import requests
url = "https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs"
payload = {
"data": {},
"role": "<string>",
"expectedSeq": 1
}
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({data: {}, role: '<string>', expectedSeq: 1})
};
fetch('https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs', 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.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs",
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([
'data' => [
],
'role' => '<string>',
'expectedSeq' => 1
]),
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.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs"
payload := strings.NewReader("{\n \"data\": {},\n \"role\": \"<string>\",\n \"expectedSeq\": 1\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.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {},\n \"role\": \"<string>\",\n \"expectedSeq\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.canary.effectiveai.app/api/v2/insurance/uw-submissions/{submissionId}/file/inputs")
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 \"data\": {},\n \"role\": \"<string>\",\n \"expectedSeq\": 1\n}"
response = http.request(request)
puts response.read_body{
"input": {
"id": "<string>",
"seq": 123,
"at": "2023-11-07T05:31:56Z",
"type": "<string>",
"data": {},
"actor": {
"userId": "<string>",
"name": "<string>",
"role": "<string>"
}
},
"file": {
"submissionId": "<string>",
"guidelines": {
"id": "<string>",
"versionId": "<string>",
"version": 123
},
"seq": 123,
"updatedAt": "2023-11-07T05:31:56Z",
"view": {
"title": "<string>",
"through": 123,
"asOf": "<string>",
"headline": [
{
"name": "<string>",
"label": "<string>",
"value": {
"known": true,
"text": "<string>",
"provisional": true
}
}
],
"stages": [
{
"stage": "<string>",
"status": "declined",
"open": [
{
"label": "<string>",
"kind": "<string>",
"location": "<string>",
"state": "met",
"value": {
"known": true,
"text": "<string>",
"provisional": true
}
}
]
}
],
"next": "<string>",
"missing": [
"<string>"
],
"declines": [
{
"id": "<string>",
"reason": "<string>",
"location": "<string>",
"state": "applies"
}
],
"obligations": [
{
"id": "<string>",
"kind": "referral",
"label": "<string>",
"role": "<string>",
"stage": "<string>",
"location": "<string>",
"applies": "yes",
"decision": "<string>",
"by": "<string>",
"satisfied": true,
"note": "<string>"
}
],
"subjectivities": [
{
"id": "<string>",
"label": "<string>",
"state": "<string>",
"due": "<string>"
}
],
"open": [
{
"id": "<string>",
"kind": "request",
"stage": "<string>",
"need": "<string>",
"role": "<string>",
"obligation": "<string>",
"label": "<string>",
"reasons": [
"<string>"
],
"subjectivity": "<string>",
"due": "<string>"
}
],
"sections": [
{
"id": "<string>",
"title": "<string>",
"level": 123,
"line": 123,
"blocks": [
{}
]
}
],
"problems": [
"<string>"
]
}
},
"effects": [
{
"id": "<string>",
"kind": "request",
"stage": "<string>",
"need": "<string>",
"role": "<string>",
"obligation": "<string>",
"label": "<string>",
"reasons": [
"<string>"
],
"subjectivity": "<string>",
"due": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}Authorizations
Effective API key. Send Authorization: Bearer sk-eai-...
Path Parameters
Query Parameters
Authorization scope UUID or stable slug prefixed with mc:.
^mc:[A-Za-z0-9][A-Za-z0-9-]{0,127}$Body
What happened. value.* records a fact (entered, proposed, accepted, corrected, selected or rejected); evidence.* accepts or rejects a document; artifact.attached attaches one; collection.* completes or reopens a list; referral.decided, review.completed, subjectivity.satisfied and stage.* record decisions; note adds a remark.
artifact.attached, evidence.accepted, evidence.rejected, value.proposed, value.accepted, value.entered, value.corrected, value.selected, value.rejected, collection.completed, collection.reopened, referral.decided, review.completed, subjectivity.satisfied, stage.requested, stage.done, stage.declined, note The input itself, such as { "field": "insured_name", "value": "Example Bar LLC" } for value.entered.
Show child attributes
Show child attributes
The authority you act with, such as Underwriter or Manager, which referrals and reviews check. It is recorded with you as the actor and is not verified.
1 - 200The seq you last read. If the file has moved on, the input is refused with 409 and nothing is recorded.
x >= 0