Upload custom code system
/construe/uploadUpload a custom medical code system with codes and descriptions for use in code extraction. Requires a paid plan. Returns 202 immediately; embedding generation runs asynchronously. Poll GET /construe/codes/systems/{codesystem}?version={version} to check when status transitions from "processing" to "ready" or "failed".
Body parameters
namestringrequiredName of the code system. Names are case-insensitive and stored uppercase. Builtin system names (e.g. ICD-10-CM, SNOMED_CT_US_LITE, LOINC, CPT, etc.) are reserved and cannot be used for custom uploads; attempts return HTTP 403 Forbidden.
versionstringrequiredVersion of the code system
revisionnumberoptionalOptional revision number
formatstringrequiredUpload format
csvjsonfilestring (byte)optionalThe file contents as a base64-encoded string. For CSV format, this is the CSV file contents. For JSON format, this is a base64-encoded JSON array; prefer using 'codes' instead.
code_colstringoptionalColumn name containing codes (required for CSV format)
desc_colstringoptionalColumn name containing descriptions (required for CSV format)
defn_colstringoptionalOptional column name containing long definitions (for CSV format)
codesobject[]optionalThe codes to upload as a JSON array (JSON format only). This is the preferred way to upload JSON codes, as it avoids unnecessary base64 encoding. If both 'codes' and 'file' are provided, 'codes' takes precedence.
codestringrequiredThe code identifier
descriptionstringrequiredShort description of the code
definitionstringoptionalExtended definition of the code (if available)
replacebooleanoptionaldefault falseIf true, replaces an existing code system with the same name and version. Builtin systems cannot be replaced; attempts to do so return HTTP 403 Forbidden. When false (default), uploading a duplicate returns 409 Conflict.
Upload accepted for asynchronous processing
Response fields
statusstringoptionalnamestringoptionalversionstringoptional