Operations 3
Documentation
Documentation
https://docs.chemaxon.com/latest/jchem-microservices_developer-guide.html
Documentation
https://docs.chemaxon.com/latest/compound-registration_api-documentation.html
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/chemaxon:chemaxon-bulk-amendment-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Chemaxon Bulk amendment API
version: 26.1.5-2610221056
description: 'Operations tagged Bulk amendment across 2 of this provider''s published API definitions: chemaxon-compound-registration-openapi.json, chemaxon-compound-registration-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /RegistryCxn/rest
tags:
- name: Bulk amendment
description: Bulk amendment related operations
paths:
/amendmentService/bulkloader:
post:
tags:
- Bulk amendment
summary: Bulk updates structures and additional data from CSV file
operationId: bulkAmendText
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkAmendTextRequest'
required: true
responses:
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BulkloaderResponse'
'201':
description: Created
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
servers:
- url: /RegistryCxn/rest
/amendmentService/bulkloader/status:
post:
tags:
- Bulk amendment
summary: Get status information about a bulk update operation
operationId: bulkAmendmentDetails
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkAmendStatusRequestParams'
required: true
responses:
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/PaginatedResultAmendBulkRowWithStructure'
'201':
description: Created
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
servers:
- url: /RegistryCxn/rest
/amendmentService/bulkloader/statistics/{uploadId}:
get:
tags:
- Bulk amendment
summary: Collects detailed statistics of an upload
operationId: bulkAmendmentStatistics
parameters:
- name: uploadId
in: path
required: true
schema:
type: integer
format: int64
responses:
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ErrorMessage'
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/UploadAmendmentStatistics'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
servers:
- url: /RegistryCxn/rest
components:
schemas:
RegistryComponent:
type: object
properties:
compId:
type: string
description: ID of the component structure if it already exists
example: CXN1
xml:
name: CompId
molfile:
type: string
description: Representation of the compound in any format supported by JChem
example: C
xml:
name: Molfile
helm:
type: string
description: Representation of the macromolecule compound in HELM format
example: PEPTIDE1{Y.G.G.F.L.[am]}$$$$
xml:
name: Helm
range:
type: string
description: Component range in case of Mixture structure type
example: 45-55%
xml:
name: Range
percentage:
type: number
format: float
description: Exact component percentage in case of Formulation structure type
example: 50
xml:
name: Percentage
cst:
type: string
description: Chemically Significant Text (CST)
example: CST
xml:
name: CST
structureId:
type: integer
format: int64
description: Structure ID
unknownId:
type: integer
format: int32
description: Unknown ID
creatorId:
type: string
deprecated: true
description: The user who started the registration procedure
example: admin
required:
- compId
- molfile
AmendmentStatistics:
type: object
properties:
label:
type: string
count:
type: integer
format: int32
tag:
type: string
amendmentStatus:
type: string
FieldMapping:
type: object
properties:
externalFieldName:
type: string
fieldId:
$ref: '#/components/schemas/FieldId'
defaultValue:
type: string
AdditionalData:
type: object
properties:
name:
type: string
example: Project
xml:
name: Name
value:
type: string
example: Project A
xml:
name: Value
required:
- name
- value
PaginatedResultAmendBulkRowWithStructure:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/AmendBulkRowWithStructure'
xml:
name: items
offset:
type: integer
format: int64
limit:
type: integer
format: int32
resultCount:
type: integer
format: int64
filteredCount:
type: integer
format: int32
RegistryStructure:
type: object
properties:
structureMolfile:
type: string
description: In the response object it contains the structure to be displayed
xml:
name: StructureMolfile
source:
type: string
description: Source
example: REGISTRAR
multiplicity:
type: integer
format: int32
description: Parent multiplicity when a salt or solvate is added
example: 1
xml:
name: Multiplicity
unknownId:
type: integer
format: int32
description: Unknown ID
example: 1
xml:
name: UnknownId
restricted:
type: integer
format: int32
description: Restriction Level
xml:
name: Restricted
cst:
type: string
description: Chemically Significant Text (CST)
example: CST
xml:
name: CST
components:
type: array
description: In case of a Multi-Component Compound it contains the list of components, otherwise it contains only the single structure
items:
$ref: '#/components/schemas/RegistryComponent'
xml:
name: Components
saltsAndSolvates:
type: array
description: Salts and Solvates
items:
$ref: '#/components/schemas/SaltSolvate'
xml:
name: SaltsAndSolvates
mwt:
type: number
description: Molecular Weight (used only in response)
example: 16.043
xml:
name: Mwt
overridedMwt:
type: number
description: Specified Molecular Weight
xml:
name: OverridedMwt
mf:
type: string
description: Molecular Formula (used only in response)
example: CH4
xml:
name: Mf
structureType:
type: string
description: Structure Type
enum:
- SINGLE
- MIXTURE
- FORMULATION
- ISOMER
- MARKUSH
- ALTERNATE
- POLYMER
- NO_STRUCTURE
- PEPTIDE
xml:
name: StructureType
uniqueStructureId:
type: string
description: A unique identifier of the structure comprised of the structure's internal ID and the Version Fingerprint (used only in response)
example: '5000:1'
xml:
name: UniqueStructureId
additionalData:
type: array
description: Additional Data
items:
$ref: '#/components/schemas/AdditionalData'
xml:
name: AdditionalDataMap
creatorId:
type: string
deprecated: true
description: The user who started the registration procedure.
example: admin
xml:
name: CreatorId
errorStructure:
type: string
helm:
type: string
description: Representation of the macromolecule compound in HELM format
example: PEPTIDE1{Y.G.G.F.L.[am]}$$$$
readOnly: true
required:
- components
- multiplicity
- source
- structureType
SubmissionStatus: {}
FieldId:
type: object
properties:
fieldName:
type: string
example: cst
additional:
type: boolean
description: True in case of additional data field, false otherwise
required:
- additional
- fieldName
FileSettings:
type: object
properties:
type:
type: string
enum:
- AUTO
- MOLECULE
- CSV
rowDelimiter:
type: string
fieldDelimiter:
type: string
multiValueDelimiter:
type: string
structureField:
type: string
containsHeader:
type: boolean
processIdBasedFields:
type: boolean
SystemSwitchersWrapper:
type: object
properties:
sysSwitchers:
type: object
additionalProperties:
type: boolean
ErrorMessage:
type: object
properties:
errorCode:
type: string
enum:
- UNKNOWN
- UNAUTHORIZED
- APPLICATION_ERROR
- BAD_REQUEST
- NOT_FOUND
message:
type: string
detail:
type: string
BriefUser:
type: object
properties:
userId:
type: integer
format: int32
displayName:
type: string
source:
type: string
enum:
- DB
- AD
- LDAP
- SAMLSSO
- OAUTH2
- UNKNOWN
SaltSolvate:
type: object
properties:
id:
type: integer
format: int64
description: Salt ID
example: 1
xml:
name: Id
multiplicity:
type: number
format: double
description: Salt multiplicity
example: 1
xml:
name: Multiplicity
isSalt:
type: boolean
description: True in case of salt, false in case of solvate
name:
type: string
description: Salts and Solvates
example: HCl
required:
- id
- isSalt
- multiplicity
- name
BulkAmendStatusRequestParams:
type: object
properties:
uploadId:
type: integer
format: int32
status:
type: string
enum:
- Inprogress
- Ok
- Uploaded
- Rejected
- LnbRefDuplicated
- LotIdDuplicated
- InvalidLnbRef
- InvalidCn
- InvalidPcn
- UnknownError
- InvalidLotId
- BadMolfile
- InvalidUserId
- InvalidSalt
- InvalidParentMultiplicityNoSalts
- InvalidStructureType
- UnknownCST
- CNDuplicated
- PCNDuplicated
- ComponentDuplication
- ParentTautomerMatch
- Parent2DMatch
- NoStructure
- UnBalancedCharge
- StandardizerError
- InconsistentVersionTree
- StructureCheckerError
- UnknownSource
- InvalidAction
- SaltSplittingError
- InvalidMoveMultipleLots
- OperationNotAllowed
- InvalidSaltMultiplicity
- InvalidSolvateMultiplicity
- RestrictedMatch
- Parent2DTautomerMatch
- UpdateStatusError
- InsertSubmissionError
- InconsistentAmf
- DuplicatedSaltSolvateInfo
- IllegalIdsForAmendment
- ManualVersionFixRequired
- InvalidSubmissionId
- PositivelyChargedStructure
- SavedSubmission
- ReadyForRegistration
- CreateSubmission
- UndeleteError
- InvalidStereoComment
- MarkushStructure
- LNDuplicated
- ValidationError
- ProjectAccessError
- InvalidSubmitter
- UnknownIdCalculationError
- IdGeneratorError
- FieldRegenerationError
- AmendmentCascadeWarning
- DatabaseError
- InvalidAlternativeIdPrefix
- AmendmentLotVersionReferenceWarning
- CascadedAmendmentError
- InconsistentVersion
- JmsError
- MacroIdAndStructureMismatch
- InvalidHelm
pagination:
$ref: '#/components/schemas/PaginationRequestParams'
ErrorCounts:
type: object
properties:
structural:
type: integer
format: int32
validation:
type: integer
format: int32
match:
type: integer
format: int32
operational:
type: integer
format: int32
numberOfErrors:
type: integer
format: int32
AmendBulkField:
type: object
properties:
id:
type: integer
format: int32
field:
type: string
value:
type: string
PaginationRequestParams:
type: object
properties:
offset:
type: integer
format: int32
limit:
type: integer
format: int32
BulkloaderResponse:
type: object
properties:
uploadId:
type: integer
format: int32
library:
type: string
recordCount:
type: integer
format: int64
AmendBulkRowWithStructure:
type: object
properties:
id:
type: integer
format: int32
uploadId:
type: integer
format: int32
rowIndex:
type: integer
format: int32
idType:
type: string
enum:
- Lnb
- LN
- CN
- PCN
- LotId
- StructId
- Monomer
identifier:
type: string
status:
$ref: '#/components/schemas/SubmissionStatus'
message:
type: string
fields:
type: array
items:
$ref: '#/components/schemas/AmendBulkField'
structure:
$ref: '#/components/schemas/RegistryStructure'
UploadAmendmentStatistics:
type: object
properties:
uploadId:
type: integer
format: int32
fileName:
type: string
library:
type: string
uploadedOn:
type: string
format: date-time
total:
type: integer
format: int32
processed:
type: integer
format: int32
status:
type: string
enum:
- IN_PROGRESS
- DELIVERED
- STOPPED
- DELETED
- PAUSED
errorCounts:
$ref: '#/components/schemas/ErrorCounts'
uploadedBy:
$ref: '#/components/schemas/BriefUser'
updated:
type: integer
format: int32
amendments:
type: array
items:
$ref: '#/components/schemas/AmendmentStatistics'
BulkAmendTextRequest:
type: object
properties:
source:
type: string
library:
type: string
fieldMappings:
type: array
items:
$ref: '#/components/schemas/FieldMapping'
settings:
$ref: '#/components/schemas/FileSettings'
sysSwitchers:
$ref: '#/components/schemas/SystemSwitchersWrapper'
operation:
type: string
enum:
- Add
- Overwrite
- Delete
content:
type: string
x-refined-from:
- chemaxon-compound-registration-openapi.json
- chemaxon-compound-registration-openapi.yml