curl --request GET \
--url https://dwsoffshorepartners.com/api/v1/cases/{caseId}/findings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dwsoffshorepartners.com/api/v1/cases/{caseId}/findings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dwsoffshorepartners.com/api/v1/cases/{caseId}/findings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"caseId": "<string>",
"reportId": "<string>",
"state": "<string>",
"report": {},
"completeness": {},
"link": "<string>",
"snapshot": "<string>",
"contentTrust": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}Get case findings
Read the GET /cases//findings request and response contract generated from the live Ultiwrite OpenAPI document.
curl --request GET \
--url https://dwsoffshorepartners.com/api/v1/cases/{caseId}/findings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dwsoffshorepartners.com/api/v1/cases/{caseId}/findings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dwsoffshorepartners.com/api/v1/cases/{caseId}/findings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"caseId": "<string>",
"reportId": "<string>",
"state": "<string>",
"report": {},
"completeness": {},
"link": "<string>",
"snapshot": "<string>",
"contentTrust": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}Authorizations
Create a key at /settings/api after an administrator approves your account. The key is shown once, can be revoked, and shares the account request allowance with other keys and partner OAuth grants. Send only in Authorization. These keys are not accepted by MCP or the legacy provisioned routes.
Path Parameters
Case id returned by this API.
1 - 80^[A-Za-z0-9_-]+$Query Parameters
Decimal offset into findings. For the next report page use report.nextCursor, or retain report.pageBinding.findingsOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Decimal offset into sections. For the next report page use report.nextSectionCursor, or retain report.pageBinding.sectionOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Decimal offset into evidence items. For the next report page use report.nextEvidenceCursor, or retain report.pageBinding.evidenceOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Decimal offset into limitations. For the next report page use report.nextLimitationCursor, or retain report.pageBinding.limitationOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Decimal offset into chronology. For the next report page use report.nextChronologyCursor, or retain report.pageBinding.chronologyOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Decimal offset into actions. For the next report page use report.nextActionCursor, or retain report.pageBinding.actionOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Decimal offset into metrics. For the next report page use report.nextMetricCursor, or retain report.pageBinding.metricOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Decimal offset into schema extensions. For the next report page use report.nextExtensionCursor, or retain report.pageBinding.extensionOffset when it is null (zero only when absent). Send all eight collection cursors together: pageToken binds the entire offered cursor tuple. Do not append this collection again when its offset is unchanged.
^[0-9]{1,9}$Findings per page, 1 through 12.
1 <= x <= 12Use report.snapshot from the previous saved-report response. Required with any non-zero cursor so pages come from one frozen document.
^[a-f0-9]{64}$Use the top-level pageToken from the previous response. It binds this grant, target, snapshot and the entire offered cursor tuple: send all eight matching next collection positions together, retaining a collection’s current report.pageBinding offset when its next cursor is null. An arbitrary cursor mix returns unbound_page. Required with any non-zero cursor.
^[A-Za-z0-9_-]{8,2000}\.[A-Za-z0-9_-]{20,200}$Read one long field in code-point slices instead of a page. Requires spanField and spanCursor.
finding, section, evidence, brief, limitation, case_title, chronology, action, metric Field of spanTarget to read. brief/decisionBrief returns the structured Decision Brief JSON in slices.
summary, conclusion, whyItMatters, coherenceExplanation, action, counterEvidence, title, observation, interpretation, takeaway, statement, label, brief, decisionBrief, limitation, detail, source, unit, value Item id for finding, section and evidence spans.
^[A-Za-z0-9_-]{1,40}$Item index for list spans (counter-evidence, statements, limitations, chronology, actions, metrics).
^[0-9]{1,9}$Unicode code-point offset into the field.
^[0-9]{1,9}$Code points per slice, 1 through 2000.
1 <= x <= 2000Response
Report page or not_ready.
saved_report, not_ready, stale_snapshot, unbound_page, or continuation_unavailable. not_ready is not a negative finding.
Authorized customer document when a report page was returned. savedDecision is the published label, not a stored favorable sentence. Null when the report was not returned.
Present on not_ready and page-denial results. A saved_report page carries completeness inside report.