API reference OpenAPI 3.1
POST /reports/nsc

Create an NSC compliance report from a NIGSAC screening hit

Bearer API key or staff session application/json operation createNscReport

Request

Content type: application/json · required

FieldTypeRequiredDescription
screening_id string Yes —
entity_id string Yes —
group_id string No NIGSAC reference; resolved from the feed/detail page when omitted
designated_name string No —
owned_controlled_name string No —
reporting_type string No one of designated_person, frozen_assets, suspected_breach
third_party boolean No —
third_party_details string No —
found_at string (date) No —
narrative string Yes —
new_information string No —
account_opening_docket string No —
supporting_documents string No —
has_supporting_documents boolean No —
submitter object No
Show 6 nested fields
FieldTypeRequiredDescription
name string No —
job_title string No —
company string No —
address string No —
contact string No —
email string No —
curl -X POST "$MONICHEK_API/reports/nsc" \
  -H "Authorization: Bearer $MONICHEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "screening_id": "scr_01M3R...",
  "entity_id": "id_01M3R...",
  "group_id": "id_01M3R...",
  "designated_name": "string",
  "owned_controlled_name": "string",
  "reporting_type": "designated_person",
  "third_party": true,
  "third_party_details": "string",
  "found_at": "2026-10-23",
  "narrative": "string",
  "new_information": "string",
  "account_opening_docket": "string",
  "supporting_documents": "string",
  "has_supporting_documents": true,
  "submitter": {
    "name": "Ada Okafor",
    "job_title": "string",
    "company": "string",
    "address": "string",
    "contact": "string",
    "email": "[email protected]"
  }
}'
const res = await fetch(`${MONICHEK_API}/reports/nsc`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${MONICHEK_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "screening_id": "scr_01M3R...",
    "entity_id": "id_01M3R...",
    "group_id": "id_01M3R...",
    "designated_name": "string",
    "owned_controlled_name": "string",
    "reporting_type": "designated_person",
    "third_party": true,
    "third_party_details": "string",
    "found_at": "2026-10-23",
    "narrative": "string",
    "new_information": "string",
    "account_opening_docket": "string",
    "supporting_documents": "string",
    "has_supporting_documents": true,
    "submitter": {
      "name": "Ada Okafor",
      "job_title": "string",
      "company": "string",
      "address": "string",
      "contact": "string",
      "email": "[email protected]"
    }
  }),
});

const data = await res.json();
import os
import requests

res = requests.post(
    f"{os.environ['MONICHEK_API']}/reports/nsc",
    headers={"Authorization": f"Bearer {os.environ['MONICHEK_API_KEY']}"},
    json={
      "screening_id": "scr_01M3R...",
      "entity_id": "id_01M3R...",
      "group_id": "id_01M3R...",
      "designated_name": "string",
      "owned_controlled_name": "string",
      "reporting_type": "designated_person",
      "third_party": true,
      "third_party_details": "string",
      "found_at": "2026-10-23",
      "narrative": "string",
      "new_information": "string",
      "account_opening_docket": "string",
      "supporting_documents": "string",
      "has_supporting_documents": true,
      "submitter": {
        "name": "Ada Okafor",
        "job_title": "string",
        "company": "string",
        "address": "string",
        "contact": "string",
        "email": "[email protected]"
      }
    },
)
print(res.json())
$ch = curl_init(getenv('MONICHEK_API') . '/reports/nsc');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('MONICHEK_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'screening_id' => 'scr_01M3R...',
        'entity_id' => 'id_01M3R...',
        'group_id' => 'id_01M3R...',
        'designated_name' => 'string',
        'owned_controlled_name' => 'string',
        'reporting_type' => 'designated_person',
        'third_party' => true,
        'third_party_details' => 'string',
        'found_at' => '2026-10-23',
        'narrative' => 'string',
        'new_information' => 'string',
        'account_opening_docket' => 'string',
        'supporting_documents' => 'string',
        'has_supporting_documents' => true,
        'submitter' => [
            'name' => 'Ada Okafor',
            'job_title' => 'string',
            'company' => 'string',
            'address' => 'string',
            'contact' => 'string',
            'email' => '[email protected]',
        ],
    ]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

201 Created draft created application/json
{
  "object": "report",
  "id": "rpt_01M3R...",
  "type": "NSC_DESIGNATED_PERSON",
  "status": "draft",
  "group_id": "NLISWi.21"
}

Error responses

StatusMeaningBody
401 Unauthorized RFC 9457 problem
404 Not Found RFC 9457 problem
409 Conflict RFC 9457 problem
422 Unprocessable Entity RFC 9457 problem

Errors use the RFC 9457 problem format with a stable code.