Serveur MCP

SMI Aware Assistant

com.smiaware.mcp/smi-aware-assistant
Recherche et exploration Sécurité Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Supports SMI Aware subject research, social-profile findings, deep reports, exports, evidence files, and case-oriented intelligence workflows.

fetch
Fetch
Fetches the full SMI record for a typed reference ("<type>:<id>") that search returned. Pass only an id that appeared in a search result; do not construct one. If you already have a plain SMI record id, use smi_get_deep_report or smi_get_export to read it, or smi_check_order_complete for its readiness.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'A typed reference returned by search, e.g. "deep_report:123"'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
onboarding_next_step
SMI Onboarding Next Step
Pre-connection onboarding helper, callable before any SMI token is set. With no input, returns the fork question "Do you already have an SMI token?" — call again with hasToken: "yes" for connect guidance (then verify_access), or hasToken: "no" for prospect-intake guidance. Runs locally; makes no network calls and never reads or requires credentials.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'hasToken': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Answer to the fork question "Do you already have an SMI token?" â\x80\x94 omit on the first call to receive the question.'}}}
search
Search
Open-ended discovery across SMI deep reports, research bundles, and exports when you do not already have a record id — finds candidates by subject name, url, or keyword and returns typed references to pass to fetch. If you already have a record id from the conversation rather than from a search result, call the specific tool instead: smi_get_deep_report or smi_get_export to read one record, smi_check_order_complete for order readiness, smi_list_deep_reports or smi_list_exports for filtered listings, smi_get_report_findings for findings within a report. Deep reports and research bundles are filtered server-side by subject first/last name, broadening to an unfiltered fetch ranked client-side (across id, name, url, summary) when the filtered fetch finds nothing; exports match on url.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 1, 'description': 'Free-text search query, e.g. a subject name or record id'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
smi_add_subject_address
Add Subject Address
Attaches a postal address to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'country', 'isCurrent'], 'properties': {'zip': {'type': 'string', 'minLength': 1, 'description': 'The postal or zip code.'}, 'city': {'type': 'string', 'minLength': 1, 'description': 'The city.'}, 'state': {'type': 'string', 'minLength': 1, 'description': 'The state or province.'}, 'county': {'type': 'string', 'minLength': 1, 'description': 'The county, if the user gave one.'}, 'country': {'type': 'string', 'minLength': 1, 'description': 'The country the address is in, spelled out (e.g. United States).'}, 'street1': {'type': 'string', 'minLength': 1, 'description': 'The street number and name.'}, 'street2': {'type': 'string', 'minLength': 1, 'description': 'A second address line, such as an apartment, suite, or unit number.'}, 'isCurrent': {'type': 'boolean', 'description': "Whether the subject currently lives at this address, as opposed to a former one. Ask the user directly if it isn't clear from context."}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_alias
Add Subject Alias
Attaches an alias to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'alias'], 'properties': {'alias': {'type': 'string', 'minLength': 1, 'description': 'A name the subject is also known by.'}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_education
Add Subject Education
Attaches an educational institution to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'name', 'isCurrent'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The institution's name."}, 'major': {'type': 'string', 'minLength': 1, 'description': "The subject's field of study, if known."}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject stopped attending or graduated, if they have. A four-digit year, e.g. 2019.'}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject stopped attending or graduated, if they have. A month number from 1 (January) to 12 (December).'}, 'isCurrent': {'type': 'boolean', 'description': "Whether the subject is currently enrolled at this institution, as opposed to having left or graduated. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject started attending. A four-digit year, e.g. 2019.'}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject started attending. A month number from 1 (January) to 12 (December).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_email
Add Subject Email
Attaches an email address to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'The email address to attach to the subject.'}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_employee
Add Subject Employee
Attaches an employee to an SMI subject (for COMPANY-type subjects).
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'firstName', 'lastName', 'isCurrent'], 'properties': {'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': "When this employee's job ended, if it has. A four-digit year, e.g. 2019."}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': "When this employee's job ended, if it has. A month number from 1 (January) to 12 (December)."}, 'lastName': {'type': 'string', 'minLength': 1, 'description': "The employee's last name."}, 'position': {'type': 'string', 'minLength': 1, 'description': "The employee's job title or role at the subject company."}, 'firstName': {'type': 'string', 'minLength': 1, 'description': "The employee's first name."}, 'isCurrent': {'type': 'boolean', 'description': "Whether this person currently works for the subject company, as opposed to a former employee. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': "When this employee's job started. A four-digit year, e.g. 2019."}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}, 'middleName': {'type': 'string', 'minLength': 1, 'description': "The employee's middle name, if known."}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': "When this employee's job started. A month number from 1 (January) to 12 (December)."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_employee_url
Add Subject Employee Url
Attaches a url to an SMI subject employee, referenced by the subjectEmployeeId returned from smi_add_subject_employee.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectEmployeeId', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to this employee's own profile or accounts."}, 'subjectEmployeeId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'The id smi_add_subject_employee returned for this employee record.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectEmployeeId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectEmployeeId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_employer
Add Subject Employer
Attaches an employer to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'name', 'isCurrent'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The employer's name."}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject left this job, if they have. A four-digit year, e.g. 2019.'}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject left this job, if they have. A month number from 1 (January) to 12 (December).'}, 'position': {'type': 'string', 'minLength': 1, 'description': "The subject's job title or role at this employer."}, 'isCurrent': {'type': 'boolean', 'description': "Whether this is the subject's current employer, as opposed to a former one. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject started this job. A four-digit year, e.g. 2019.'}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject started this job. A month number from 1 (January) to 12 (December).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_phone
Add Subject Phone Number
Attaches a phone number to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'phone'], 'properties': {'phone': {'type': 'string', 'pattern': '^[+\\d\\s().-]+$', 'minLength': 1, 'description': 'The phone number to attach to the subject.'}, 'extension': {'type': 'string', 'minLength': 1, 'description': 'The phone extension, if there is one.'}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_relationship
Add Subject Relationship
Attaches a relationship to an SMI subject, using a relationshipId from smi_list_relationships.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'relationshipId', 'firstName', 'lastName'], 'properties': {'lastName': {'type': 'string', 'minLength': 1, 'description': "The related person's last name."}, 'firstName': {'type': 'string', 'minLength': 1, 'description': "The related person's first name."}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}, 'middleName': {'type': 'string', 'minLength': 1, 'description': "The related person's middle name, if known."}, 'relationshipId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'The relationship type id from smi_list_relationships (e.g. spouse, parent, associate).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_relationship_url
Add Subject Relationship Url
Attaches a url to an SMI subject relationship, referenced by the subjectRelationshipId returned from smi_add_subject_relationship.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectRelationshipId', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to the related person's own profile or accounts."}, 'subjectRelationshipId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'The id smi_add_subject_relationship returned for this relationship record.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectRelationshipId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectRelationshipId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_surname
Add Subject Surname
Attaches a surname to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'An additional or prior surname for the subject, such as a maiden name.'}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_add_subject_url
Add Subject Url
Attaches a url to an SMI subject.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to the subject's own profile or accounts."}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': "The subject's id, from a prior smi_get_subject or subject-enrichment call."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId'], 'properties': {'recordId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'additionalProperties': False}
smi_analyze
Analyze Case Notes
Scores free-text case notes against 5 weighted gap-analysis signals (no prior SMI order, high-relevance case type, known online presence, date of loss, social media mentioned) and returns a RECOMMEND/REVIEW/NO ACTION verdict, a confidence rating, which signals were/were not detected, a suggested product, and a best-effort orderData prefill (subject, matter id, case type, date of loss, handles/urls, suggested scope) for smi_create_deep_report. Runs entirely locally; makes no network calls.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['notes'], 'properties': {'notes': {'type': 'string', 'minLength': 1, 'description': 'Free-text case notes to score against the 5-signal gap-analysis rubric.'}, 'weights': {'type': 'object', 'required': ['noPriorOrder', 'caseType', 'onlinePresence', 'dateOfLoss', 'socialMedia'], 'properties': {'caseType': {'type': 'number', 'exclusiveMinimum': 0}, 'dateOfLoss': {'type': 'number', 'exclusiveMinimum': 0}, 'socialMedia': {'type': 'number', 'exclusiveMinimum': 0}, 'noPriorOrder': {'type': 'number', 'exclusiveMinimum': 0}, 'onlinePresence': {'type': 'number', 'exclusiveMinimum': 0}}, 'description': 'Optional override of all 5 signal weights; normalized to sum 100.'}, 'thresholds': {'type': 'object', 'required': ['recommend', 'review'], 'properties': {'review': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'recommend': {'type': 'number', 'maximum': 100, 'minimum': 0}}, 'description': 'Optional override of the RECOMMEND/REVIEW verdict thresholds.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['signals', 'total', 'verdict', 'confidence', 'signalsDetected', 'signalsNotDetected', 'suggestedProduct', 'orderData'], 'properties': {'total': {'type': 'number', 'description': 'Weighted total score, 0-100.'}, 'signals': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'fraction', 'weight', 'points'], 'properties': {'id': {'enum': ['noPriorOrder', 'caseType', 'onlinePresence', 'dateOfLoss', 'socialMedia'], 'type': 'string'}, 'label': {'type': 'string'}, 'points': {'type': 'number'}, 'weight': {'type': 'number'}, 'fraction': {'type': 'number'}}, 'additionalProperties': False}, 'description': 'Per-signal scoring breakdown.'}, 'verdict': {'enum': ['RECOMMEND', 'REVIEW', 'NO ACTION'], 'type': 'string', 'description': 'Overall gap-analysis verdict.'}, 'orderData': {'type': 'object', 'properties': {'urls': {'type': 'array', 'items': {'type': 'string'}}, 'subject': {'type': 'object', 'properties': {'lastName': {'type': 'string', 'minLength': 1}, 'firstName': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'caseType': {'type': 'string'}, 'matterId': {'type': 'string'}, 'productId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}]}, 'dateOfLoss': {'type': 'string'}, 'socialHandles': {'type': 'array', 'items': {'type': 'string'}}, 'suggestedScope': {'type': 'string'}}, 'description': 'Best-effort prefill for smi_create_deep_report; fields absent when undetectable.', 'additionalProperties': False}, 'confidence': {'enum': ['HIGH', 'MED', 'LOW'], 'type': 'string', 'description': 'Confidence in the verdict, derived from how many of the 5 signals were detected.'}, 'signalsDetected': {'type': 'array', 'items': {'enum': ['noPriorOrder', 'caseType', 'onlinePresence', 'dateOfLoss', 'socialMedia'], 'type': 'string'}, 'description': 'Signal ids whose fraction is 1 (fully detected).'}, 'suggestedProduct': {'enum': ['DEEP_REPORT', 'EXPORT', 'RESEARCH_BUNDLE'], 'type': 'string', 'description': 'Recommended SMI product based on the detected subject kind.'}, 'signalsNotDetected': {'type': 'array', 'items': {'enum': ['noPriorOrder', 'caseType', 'onlinePresence', 'dateOfLoss', 'socialMedia'], 'type': 'string'}, 'description': 'Signal ids whose fraction is below 1 (not detected).'}}, 'additionalProperties': False}
smi_check_order_complete
Check Order Complete
Checks the status of a deep report or export record (by its record id, e.g. from smi_create_deep_report draftIds). Returns state = ready | in_progress | draft | failed | unknown and a terminal flag. Poll with bounded attempts and backoff while in_progress; stop as soon as terminal is true (ready or failed) — a failed record will never become ready. Also stop when state is draft: the record was never submitted, so it will not progress until smi_submit_deep_reports or smi_submit_exports is called on it.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderId', 'orderType'], 'properties': {'orderId': {'type': 'string', 'minLength': 1, 'description': 'Deep-report or export record id â\x80\x94 the same id returned as draftIds by smi_create_deep_report and accepted by fetch. There is no separate order-level id. Product-prefixed ids are accepted and stripped: RB = Research Bundle, DR = Deep Report (both orderType "deep_report"), EX = Export (orderType "export").'}, 'orderType': {'enum': ['deep_report', 'export'], 'type': 'string', 'description': 'Whether the order is a deep report or an export'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderId', 'orderType', 'status', 'state', 'ready', 'terminal'], 'properties': {'ready': {'type': 'boolean'}, 'state': {'enum': ['ready', 'failed', 'in_progress', 'draft', 'unknown'], 'type': 'string'}, 'status': {'type': 'string'}, 'orderId': {'type': 'string'}, 'terminal': {'type': 'boolean'}, 'orderType': {'enum': ['deep_report', 'export'], 'type': 'string'}}, 'additionalProperties': False}
smi_confirm_upload
Confirm Deep Report Upload
Confirms a file already PUT to a presigned URL returned by smi_request_upload_url and persists the deep report upload record. Requires the version (the x-amz-version-id response header captured during the PUT).
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deepReportId', 'fileName', 'version'], 'properties': {'version': {'type': 'string', 'minLength': 1}, 'fileName': {'type': 'string', 'minLength': 1}, 'deepReportId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'deepReportId', 'fileName'], 'properties': {'id': {'type': 'number'}, 'fileName': {'type': 'string'}, 'deepReportId': {'type': 'number'}}, 'additionalProperties': False}
smi_create_deep_report
Create Deep Report
Creates one or more SMI deep report drafts from subject orders. Returns the draft ids for review before submission. All orders in one call are filed under a single project; call once per project.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orders'], 'properties': {'orders': {'type': 'array', 'items': {'type': 'object', 'required': ['productId', 'requestDescription', 'subject'], 'properties': {'dueDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'The date the requester wants the finished order delivered. Dates ahead of the standard turnaround carry rush fees, and weekends, SMI closure days, and dates more than five business days out are not accepted. Format: YYYY-MM-DD.'}, 'endDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'The latest point in time an analyst should consider; nothing after this date is targeted. Format: YYYY-MM-DD.'}, 'subject': {'oneOf': [{'type': 'object', 'required': ['type', 'firstName', 'lastName'], 'properties': {'type': {'type': 'string', 'const': 'PERSON'}, 'urls': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to the subject's own profile or accounts."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'emails': {'type': 'array', 'items': {'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'The email address to attach to the subject.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'aliases': {'type': 'array', 'items': {'type': 'object', 'required': ['alias'], 'properties': {'alias': {'type': 'string', 'minLength': 1, 'description': 'A name the subject is also known by.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'lastName': {'type': 'string', 'minLength': 1}, 'surnames': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'An additional or prior surname for the subject, such as a maiden name.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'addresses': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'isCurrent'], 'properties': {'zip': {'type': 'string', 'minLength': 1, 'description': 'The postal or zip code.'}, 'city': {'type': 'string', 'minLength': 1, 'description': 'The city.'}, 'state': {'type': 'string', 'minLength': 1, 'description': 'The state or province.'}, 'county': {'type': 'string', 'minLength': 1, 'description': 'The county, if the user gave one.'}, 'country': {'type': 'string', 'minLength': 1, 'description': 'The country the address is in, spelled out (e.g. United States).'}, 'street1': {'type': 'string', 'minLength': 1, 'description': 'The street number and name.'}, 'street2': {'type': 'string', 'minLength': 1, 'description': 'A second address line, such as an apartment, suite, or unit number.'}, 'isCurrent': {'type': 'boolean', 'description': "Whether the subject currently lives at this address, as opposed to a former one. Ask the user directly if it isn't clear from context."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'employees': {'type': 'array', 'items': {'type': 'object', 'required': ['firstName', 'lastName', 'isCurrent'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to this employee's own profile or accounts."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': "When this employee's job ended, if it has. A four-digit year, e.g. 2019."}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': "When this employee's job ended, if it has. A month number from 1 (January) to 12 (December)."}, 'lastName': {'type': 'string', 'minLength': 1, 'description': "The employee's last name."}, 'position': {'type': 'string', 'minLength': 1, 'description': "The employee's job title or role at the subject company."}, 'firstName': {'type': 'string', 'minLength': 1, 'description': "The employee's first name."}, 'isCurrent': {'type': 'boolean', 'description': "Whether this person currently works for the subject company, as opposed to a former employee. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': "When this employee's job started. A four-digit year, e.g. 2019."}, 'middleName': {'type': 'string', 'minLength': 1, 'description': "The employee's middle name, if known."}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': "When this employee's job started. A month number from 1 (January) to 12 (December)."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'employers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'isCurrent'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The employer's name."}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject left this job, if they have. A four-digit year, e.g. 2019.'}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject left this job, if they have. A month number from 1 (January) to 12 (December).'}, 'position': {'type': 'string', 'minLength': 1, 'description': "The subject's job title or role at this employer."}, 'isCurrent': {'type': 'boolean', 'description': "Whether this is the subject's current employer, as opposed to a former one. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject started this job. A four-digit year, e.g. 2019.'}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject started this job. A month number from 1 (January) to 12 (December).'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'firstName': {'type': 'string', 'minLength': 1}, 'phoneNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['phone'], 'properties': {'phone': {'type': 'string', 'pattern': '^[+\\d\\s().-]+$', 'minLength': 1, 'description': 'The phone number to attach to the subject.'}, 'extension': {'type': 'string', 'minLength': 1, 'description': 'The phone extension, if there is one.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'relationships': {'type': 'array', 'items': {'type': 'object', 'required': ['relationshipId', 'firstName', 'lastName'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to the related person's own profile or accounts."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'lastName': {'type': 'string', 'minLength': 1, 'description': "The related person's last name."}, 'firstName': {'type': 'string', 'minLength': 1, 'description': "The related person's first name."}, 'middleName': {'type': 'string', 'minLength': 1, 'description': "The related person's middle name, if known."}, 'relationshipId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'The relationship type id from smi_list_relationships (e.g. spouse, parent, associate).'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'educationalInstitutions': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'isCurrent'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The institution's name."}, 'major': {'type': 'string', 'minLength': 1, 'description': "The subject's field of study, if known."}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject stopped attending or graduated, if they have. A four-digit year, e.g. 2019.'}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject stopped attending or graduated, if they have. A month number from 1 (January) to 12 (December).'}, 'isCurrent': {'type': 'boolean', 'description': "Whether the subject is currently enrolled at this institution, as opposed to having left or graduated. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject started attending. A four-digit year, e.g. 2019.'}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject started attending. A month number from 1 (January) to 12 (December).'}}, 'additionalProperties': {}}, 'maxItems': 10}}}, {'type': 'object', 'required': ['type', 'companyName'], 'properties': {'type': {'type': 'string', 'const': 'COMPANY'}, 'urls': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to the subject's own profile or accounts."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'emails': {'type': 'array', 'items': {'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'The email address to attach to the subject.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'aliases': {'type': 'array', 'items': {'type': 'object', 'required': ['alias'], 'properties': {'alias': {'type': 'string', 'minLength': 1, 'description': 'A name the subject is also known by.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'lastName': {'type': 'string', 'minLength': 1}, 'surnames': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'An additional or prior surname for the subject, such as a maiden name.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'addresses': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'isCurrent'], 'properties': {'zip': {'type': 'string', 'minLength': 1, 'description': 'The postal or zip code.'}, 'city': {'type': 'string', 'minLength': 1, 'description': 'The city.'}, 'state': {'type': 'string', 'minLength': 1, 'description': 'The state or province.'}, 'county': {'type': 'string', 'minLength': 1, 'description': 'The county, if the user gave one.'}, 'country': {'type': 'string', 'minLength': 1, 'description': 'The country the address is in, spelled out (e.g. United States).'}, 'street1': {'type': 'string', 'minLength': 1, 'description': 'The street number and name.'}, 'street2': {'type': 'string', 'minLength': 1, 'description': 'A second address line, such as an apartment, suite, or unit number.'}, 'isCurrent': {'type': 'boolean', 'description': "Whether the subject currently lives at this address, as opposed to a former one. Ask the user directly if it isn't clear from context."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'employees': {'type': 'array', 'items': {'type': 'object', 'required': ['firstName', 'lastName', 'isCurrent'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to this employee's own profile or accounts."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': "When this employee's job ended, if it has. A four-digit year, e.g. 2019."}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': "When this employee's job ended, if it has. A month number from 1 (January) to 12 (December)."}, 'lastName': {'type': 'string', 'minLength': 1, 'description': "The employee's last name."}, 'position': {'type': 'string', 'minLength': 1, 'description': "The employee's job title or role at the subject company."}, 'firstName': {'type': 'string', 'minLength': 1, 'description': "The employee's first name."}, 'isCurrent': {'type': 'boolean', 'description': "Whether this person currently works for the subject company, as opposed to a former employee. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': "When this employee's job started. A four-digit year, e.g. 2019."}, 'middleName': {'type': 'string', 'minLength': 1, 'description': "The employee's middle name, if known."}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': "When this employee's job started. A month number from 1 (January) to 12 (December)."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'employers': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'isCurrent'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The employer's name."}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject left this job, if they have. A four-digit year, e.g. 2019.'}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject left this job, if they have. A month number from 1 (January) to 12 (December).'}, 'position': {'type': 'string', 'minLength': 1, 'description': "The subject's job title or role at this employer."}, 'isCurrent': {'type': 'boolean', 'description': "Whether this is the subject's current employer, as opposed to a former one. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject started this job. A four-digit year, e.g. 2019.'}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject started this job. A month number from 1 (January) to 12 (December).'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'firstName': {'type': 'string', 'minLength': 1}, 'companyName': {'type': 'string', 'minLength': 1}, 'phoneNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['phone'], 'properties': {'phone': {'type': 'string', 'pattern': '^[+\\d\\s().-]+$', 'minLength': 1, 'description': 'The phone number to attach to the subject.'}, 'extension': {'type': 'string', 'minLength': 1, 'description': 'The phone extension, if there is one.'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'relationships': {'type': 'array', 'items': {'type': 'object', 'required': ['relationshipId', 'firstName', 'lastName'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': "A url tied to the related person's own profile or accounts."}}, 'additionalProperties': {}}, 'maxItems': 10}, 'lastName': {'type': 'string', 'minLength': 1, 'description': "The related person's last name."}, 'firstName': {'type': 'string', 'minLength': 1, 'description': "The related person's first name."}, 'middleName': {'type': 'string', 'minLength': 1, 'description': "The related person's middle name, if known."}, 'relationshipId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'The relationship type id from smi_list_relationships (e.g. spouse, parent, associate).'}}, 'additionalProperties': {}}, 'maxItems': 10}, 'educationalInstitutions': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'isCurrent'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': "The institution's name."}, 'major': {'type': 'string', 'minLength': 1, 'description': "The subject's field of study, if known."}, 'endYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject stopped attending or graduated, if they have. A four-digit year, e.g. 2019.'}, 'endMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject stopped attending or graduated, if they have. A month number from 1 (January) to 12 (December).'}, 'isCurrent': {'type': 'boolean', 'description': "Whether the subject is currently enrolled at this institution, as opposed to having left or graduated. Ask the user directly if it isn't clear from context."}, 'startYear': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'When the subject started attending. A four-digit year, e.g. 2019.'}, 'startMonth': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'When the subject started attending. A month number from 1 (January) to 12 (December).'}}, 'additionalProperties': {}}, 'maxItems': 10}}}]}, 'productId': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}]}, 'startDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'The earliest point in time an analyst should consider; nothing before this date is targeted. Format: YYYY-MM-DD.'}, 'dateOfLoss': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'The date of the incident the case turns on, used to anchor the analyst to a specific event. Format: YYYY-MM-DD.'}, 'recipients': {'type': 'array', 'items': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'maxItems': 10, 'description': 'Emails that receive the report when it is released.'}, 'reportIdentifier': {'type': 'string', 'minLength': 1, 'description': 'The case reference this order is filed under (Client Matter #, Case Number, etc). SMI rejects the order when it is mandatory and missing, so ask the user for their matter or case number whenever smi_list_projects marks the project as requiring one. A projectless order can still be rejected for it, because only the project-level requirement is visible in advance.'}, 'billingInformation': {'type': 'string', 'minLength': 1, 'description': 'Invoicing instructions or a billing contact for this order.'}, 'requestDescription': {'type': 'string', 'minLength': 1}, 'requestingAttorney': {'type': 'string', 'minLength': 1, 'description': 'Name or email of the attorney the order is placed on behalf of.'}, 'additionalInformation': {'type': 'string', 'minLength': 1, 'description': 'Context for the analyst team that is not part of the search scope, such as last known whereabouts or known associates.'}}}, 'maxItems': 100, 'minItems': 1}, 'projectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}], 'description': 'The SMI project (matter/case) every order in this call is filed under. One call cannot span two projects, so call once per project. Get ids from smi_list_projects.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draftIds', 'requestedCount'], 'properties': {'warning': {'type': 'string'}, 'draftIds': {'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'requestedCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
smi_create_export
Create Export
Creates one or more SMI export drafts from profile-url orders. Returns the draft ids for review before submission. All orders in one call are filed under a single project; call once per project.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orders'], 'properties': {'orders': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'media': {'type': 'boolean'}, 'dueDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'The date the requester wants the finished order delivered. Dates ahead of the standard turnaround carry rush fees, and weekends, SMI closure days, and dates more than five business days out are not accepted. Format: YYYY-MM-DD.'}, 'endDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'The latest point in time an analyst should consider; nothing after this date is targeted. Format: YYYY-MM-DD.'}, 'metadata': {'type': 'boolean'}, 'startDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'The earliest point in time an analyst should consider; nothing before this date is targeted. Format: YYYY-MM-DD.'}, 'recipients': {'type': 'array', 'items': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'maxItems': 10, 'description': 'Emails that receive the report when it is released.'}, 'completeProfile': {'type': 'boolean'}, 'reportIdentifier': {'type': 'string', 'minLength': 1, 'description': 'The case reference this order is filed under (Client Matter #, Case Number, etc). SMI rejects the order when it is mandatory and missing, so ask the user for their matter or case number whenever smi_list_projects marks the project as requiring one. A projectless order can still be rejected for it, because only the project-level requirement is visible in advance.'}, 'billingInformation': {'type': 'string', 'minLength': 1, 'description': 'Invoicing instructions or a billing contact for this order.'}, 'requestDescription': {'type': 'string', 'minLength': 1}, 'requestingAttorney': {'type': 'string', 'minLength': 1, 'description': 'Name or email of the attorney the order is placed on behalf of.'}, 'additionalInformation': {'type': 'string', 'minLength': 1, 'description': 'Context for the analyst team that is not part of the search scope, such as last known whereabouts or known associates.'}}}, 'maxItems': 100, 'minItems': 1}, 'projectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}], 'description': 'The SMI project (matter/case) every order in this call is filed under. One call cannot span two projects, so call once per project. Get ids from smi_list_projects.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draftIds', 'requestedCount'], 'properties': {'warning': {'type': 'string'}, 'draftIds': {'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'requestedCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
smi_get_cowork_instructions
Get SMI Setup Instructions
Returns a consolidated, copy-paste-ready Markdown system prompt of SMI Aware house rules and a when-to-call-which-tool routing guide, plus exact paste-in locations for Claude Projects/Cowork/Desktop, Cursor, and other clients, so the assistant calls the right smi_* tools automatically. Runs locally; makes no network calls and takes no case data.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
smi_get_deep_report
Get Deep Report
Fetches a single SMI deep report by id. Research Bundles are deep-report products, so use this tool for a Research Bundle id too rather than constructing a research_bundle: reference for the generic fetch tool. Accepts product-prefixed ids: RB-11751 (Research Bundle) and DR-11751 (Deep Report) both resolve here.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'SMI resource id. Accepts a bare numeric id or a product-prefixed one (RB = Research Bundle, DR = Deep Report, EX = Export); the prefix is stripped before the call. Research Bundles and Deep Reports are both deep-report records, so RB and DR ids route here; EX ids belong to the export tools.'}, 'include': {'type': 'array', 'items': {'enum': ['subject', 'findings', 'releases', 'uploads'], 'type': 'string'}, 'description': 'Related resources to include: subject, findings, releases, uploads. SMI accepts "findings" but never populates it: the response carries no findings key at all, even for a report that has findings, while subject, releases and uploads all come back. Call smi_get_report_findings with reportIds to read findings.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['record'], 'properties': {'record': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
smi_get_deep_report_releases
Get Deep Report Releases
Lists releases for a given SMI deep report, with pagination. Each release links its downloadable deliverable files (report PDF, CSV, JSON) and the findings screenshot archive when available — use this tool to fetch the generated report PDF.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deepReportId'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}, 'deepReportId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Id of the deep report whose releases should be listed', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_get_export
Get Export
Fetches a single SMI export by id. Accepts product-prefixed ids: EX-30001 resolves here, while RB and DR ids belong to smi_get_deep_report.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'SMI resource id. Accepts a bare numeric id or a product-prefixed one (RB = Research Bundle, DR = Deep Report, EX = Export); the prefix is stripped before the call. Research Bundles and Deep Reports are both deep-report records, so RB and DR ids route here; EX ids belong to the export tools.'}, 'include': {'type': 'array', 'items': {'enum': ['releases'], 'type': 'string'}, 'description': 'Related resources to include: releases'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['record'], 'properties': {'record': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}
smi_get_export_releases
Get Export Releases
Lists releases for a given SMI export, with pagination.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['exportId'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}, 'exportId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Id of the export whose releases should be listed', 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_get_report_findings
Get Report Findings
Lists SMI release findings with pagination and optional filtering by report, platform, scope, and confirmation status. Report filters accept the displayed identifier (RB-11751, DR-402) or a bare numeric id, and platform filters accept a platform name (Facebook) or its numeric id. Each finding includes its summary, profile URL, and screenshot/evidence links. Findings are grouped by report and ordered by ascending sequence, so sequence 1 is Finding #1 of that report; refer to a finding by that number rather than by its id, which is an internal record key the reader cannot see. The ordering covers the returned page: SMI decides which findings a page carries, so a report with more findings than take may not begin at Finding #1 on page 1.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}, 'reportIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1, 'description': 'Only include findings belonging to these reports. Accepts a bare numeric id or the displayed prefixed form (RB-11751, DR-402); the prefix is stripped before the call.'}, 'isConfirmed': {'type': 'boolean', 'description': 'Only include confirmed findings'}, 'platformIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1, 'description': 'Only include findings for these platforms. Accepts a platform name (Facebook, TikTok) or its numeric id; names are matched case-insensitively.'}, 'isScopeRelated': {'type': 'boolean', 'description': 'Only include findings marked scope-related'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'id', 'name', 'platformId', 'platformName', 'sequence', 'isScopeRelated', 'isConfirmed', 'summary', 'url', 'username', 'screenshotUrl', 'fileUrl', 'sourceUrl'], 'properties': {'id': {'type': 'string'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'label': {'type': 'string'}, 'fileUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'summary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sequence': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'username': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sourceUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'platformId': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'isConfirmed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'platformName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'screenshotUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'isScopeRelated': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_get_subject
Get Subject
Reads a subject's full profile out of a deep report (no standalone GET /subjects/{id} exists upstream, so the input is a deepReportId, not a subject id). Returns the subject as structured JSON — any atomic field (e.g. date of birth via `subject.birthDate`) can be extracted from it directly.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deepReportId'], 'properties': {'deepReportId': {'type': 'string', 'minLength': 1, 'description': 'Deep report id whose subject to read (no standalone GET /subjects/{id} exists upstream)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deepReportId', 'subject'], 'properties': {'subject': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'deepReportId': {'type': 'string'}}, 'additionalProperties': False}
smi_list_deep_reports
List Deep Reports
Lists SMI deep reports with pagination and optional filtering.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}, 'status': {'type': 'string', 'minLength': 1, 'description': 'Only include records with this status'}, 'include': {'type': 'array', 'items': {'enum': ['subject', 'findings', 'releases', 'uploads'], 'type': 'string'}, 'description': 'Related resources to include: subject, findings, releases, uploads. SMI accepts "findings" but never populates it: the response carries no findings key at all, even for a report that has findings, while subject, releases and uploads all come back. Call smi_get_report_findings with reportIds to read findings.'}, 'statusEndDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Only include records with a status on or before this date (YYYY-MM-DD)'}, 'statusStartDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Only include records with a status on or after this date (YYYY-MM-DD)'}, 'subjectLastName': {'type': 'string', 'minLength': 1, 'description': 'Only include records for a subject with this last name'}, 'subjectFirstName': {'type': 'string', 'minLength': 1, 'description': 'Only include records for a subject with this first name'}, 'subjectCompanyName': {'type': 'string', 'minLength': 1, 'description': 'Only include records for a subject with this company name'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_list_exports
List Exports
Lists SMI exports with pagination and optional filtering.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'url': {'type': 'string', 'minLength': 1, 'description': 'Only include records with this url'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}, 'status': {'type': 'string', 'minLength': 1, 'description': 'Only include records with this status'}, 'include': {'type': 'array', 'items': {'enum': ['releases'], 'type': 'string'}, 'description': 'Related resources to include: releases'}, 'statusEndDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Only include records with a status on or before this date (YYYY-MM-DD)'}, 'statusStartDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Only include records with a status on or after this date (YYYY-MM-DD)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_list_platforms
List Platforms
Lists the SMI reference set of platforms.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_list_products
List Products
Lists the SMI reference set of products.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_list_projects
List Projects
Lists SMI projects with pagination.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_list_relationships
List Relationships
Lists the SMI reference set of relationships.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_list_statuses
List Statuses
Lists the SMI reference set of statuses.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-based page number to return'}, 'take': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of items per page (1-100)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items', 'page', 'take', 'hasMore'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'take': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'items': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}}, 'additionalProperties': False}
smi_request_upload_url
Request Deep Report Upload URL
Requests a presigned URL for uploading a large deep-report reference file (csv, doc, docx, gif, jpg, jpeg, pdf, png, txt, webp, xls, xlsx) directly to storage. This server never proxies file bytes: the caller must PUT the file to the returned signedUrl, capture the x-amz-version-id response header from that PUT, and then call smi_confirm_upload with that version to persist the upload record.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deepReportId', 'fileName'], 'properties': {'fileName': {'type': 'string', 'minLength': 1}, 'deepReportId': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fileName', 'signedUrl', 'uploadMethod', 'versionHeader'], 'properties': {'fileName': {'type': 'string'}, 'signedUrl': {'type': 'string'}, 'uploadMethod': {'type': 'string', 'const': 'PUT'}, 'versionHeader': {'type': 'string', 'const': 'x-amz-version-id'}}, 'additionalProperties': False}
smi_submit_deep_reports
Submit Deep Reports
Submits previously created SMI deep report drafts (Draft status only) for processing.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}]}, 'maxItems': 100, 'minItems': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'accepted', 'rejected', 'outcomesEnumerated'], 'properties': {'status': {'type': 'string'}, 'accepted': {'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'rejected': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'outcomesEnumerated': {'type': 'boolean'}}, 'additionalProperties': False}
smi_submit_exports
Submit Exports
Submits previously created SMI export drafts (Draft status only) for processing.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}]}, 'maxItems': 100, 'minItems': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'accepted', 'rejected', 'outcomesEnumerated'], 'properties': {'status': {'type': 'string'}, 'accepted': {'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}, 'rejected': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'outcomesEnumerated': {'type': 'boolean'}}, 'additionalProperties': False}
smi_update_subject
Update Subject
Partially updates an SMI subject via PATCH /subjects/:id. type (PERSON or COMPANY) is required on every call — the SMI backend requires it as a discriminator on every subject PATCH. Editable fields match the API contract: firstName/lastName (or companyName for a COMPANY), birthYear/birthMonth/birthDay, and gender. At least one editable field must be provided.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'type'], 'properties': {'type': {'enum': ['PERSON', 'COMPANY'], 'type': 'string', 'description': "The subject's type. Required on every call as a discriminator, even when it isn't changing â\x80\x94 SMI's PATCH endpoint rejects the request without it. PERSON for a person, COMPANY for a company or organization."}, 'gender': {'type': 'string', 'minLength': 1, 'description': "The subject's updated gender (PERSON subjects only)."}, 'birthDay': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': "The subject's updated day of birth. Treated as the day the company was founded, for a COMPANY subject."}, 'lastName': {'type': 'string', 'minLength': 1, 'description': "The subject's updated last name, required whenever type is PERSON."}, 'birthYear': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': "The subject's updated birth year. Treated as the year the company was founded, for a COMPANY subject."}, 'firstName': {'type': 'string', 'minLength': 1, 'description': "The subject's updated first name, required whenever type is PERSON."}, 'subjectId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'The SMI subject id to update, from a prior smi_get_subject call.'}, 'birthMonth': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': "The subject's updated birth month, as a number from 1 (January) to 12 (December). Treated as the month the company was founded, for a COMPANY subject."}, 'companyName': {'type': 'string', 'minLength': 1, 'description': "The subject's updated company name, required whenever type is COMPANY."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subjectId', 'updatedFields'], 'properties': {'subjectId': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}, 'updatedFields': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
submit_contact_request
Submit prospect contact request
Submits a prospect contact request — first name, last name, email, and organization — to SMI so the sales team can follow up. For prospects who do not yet have an SMI Aware token.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['firstName', 'lastName', 'email', 'organization'], 'properties': {'email': {'type': 'string', 'minLength': 1, 'description': 'Prospect email address; our team will reach out here.'}, 'lastName': {'type': 'string', 'minLength': 1, 'description': 'Prospect last name.'}, 'firstName': {'type': 'string', 'minLength': 1, 'description': 'Prospect first name.'}, 'organization': {'type': 'string', 'minLength': 1, 'description': "Prospect's organization name."}}}
verify_access
Verify SMI access
Verifies the session Personal Access Token (PAT) against the SMI identity endpoint and returns the resolved account identity.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Modifié
smi_get_subject
27 September 2026 02:41
Modifié
fetch
27 September 2026 02:41
Modifié
search
27 September 2026 02:41
Modifié
smi_check_order_complete
27 September 2026 02:41
Modifié
smi_get_export_releases
27 September 2026 02:41
Modifié
smi_get_deep_report_releases
27 September 2026 02:41
Modifié
smi_get_report_findings
27 September 2026 02:41
Modifié
smi_list_relationships
27 September 2026 02:41
Modifié
smi_list_statuses
27 September 2026 02:41
Modifié
smi_list_platforms
27 September 2026 02:41
Modifié
smi_list_products
27 September 2026 02:41
Modifié
smi_list_projects
27 September 2026 02:41
Modifié
smi_get_export
27 September 2026 02:41
Modifié
smi_list_exports
27 September 2026 02:41
Modifié
smi_get_deep_report
27 September 2026 02:41
Modifié
smi_list_deep_reports
27 September 2026 02:41
Modifié
verify_access
27 September 2026 02:41
Ajouté
smi_get_subject
25 September 2026 02:48
Ajouté
smi_update_subject
25 September 2026 02:48
Ajouté
smi_add_subject_relationship_url
25 September 2026 02:48
Ajouté
smi_add_subject_relationship
25 September 2026 02:48
Ajouté
smi_add_subject_education
25 September 2026 02:48
Ajouté
smi_add_subject_employee_url
25 September 2026 02:48
Ajouté
smi_add_subject_employee
25 September 2026 02:48
Ajouté
smi_add_subject_employer
25 September 2026 02:48
Ajouté
smi_add_subject_url
25 September 2026 02:48
Ajouté
smi_add_subject_surname
25 September 2026 02:48
Ajouté
smi_add_subject_alias
25 September 2026 02:48
Ajouté
smi_add_subject_email
25 September 2026 02:48
Ajouté
smi_add_subject_phone
25 September 2026 02:48