@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api CROssBAR Data API
@base https://www.ebi.ac.uk/Tools/crossbar
@version 1.0
@common_fields {limit: any # limit, page: any # page}
@endpoints 13
@toc activities(1), assays(1), drugs(1), efo(1), hpo(1), intact(1), molecules(1), proteins(1), pubchem(4), targets(1)

@group activities
@endpoint GET /activities
@desc Get ChEMBL activities
@optional {assayChemblId: any # assayChemblId, moleculeChemblId: any # moleculeChemblId, pchemblValue: any # pchemblValue, targetChemblId: any # targetChemblId}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group assays
@endpoint GET /assays
@desc Get ChEMBL assays
@optional {assayChemblId: any # assayChemblId, assayOrg: any # assayOrg, assayType: any # assayType, targetChemblId: any # targetChemblId}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group drugs
@endpoint GET /drugs
@desc drugs collected from Drugbank
@optional {accession: any # accession, chemblId: any # chemblId, identifier: any # identifier, name: any # name, pubchemCid: any # pubchemCid}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group efo
@endpoint GET /efo
@desc Get EFO diseases data
@optional {doid: any # doid, label: any # label, mesh: any # mesh, oboId: any # oboId, omimId: any # omimId, synonym: any # synonym}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group hpo
@endpoint GET /hpo
@desc Get HPO phenotypes data
@optional {genesymbol: any # genesymbol, hpotermname: any # hpotermname, synonym: any # synonym}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group intact
@endpoint GET /intact
@desc Molecular Interactions collected from IntAct
@optional {accession: any # accession, confidence: any # confidence, gene: any # gene}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group molecules
@endpoint GET /molecules
@desc Get ChEMBL molecules
@optional {canonicalSmiles: any # canonicalSmiles, inchiKey: any # inchiKey, moleculeChemblId: any # moleculeChemblId}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group proteins
@endpoint GET /proteins
@desc Proteins collected from Uniprot for selective tax ids  HUMAN(9606), MOUSE(10090), RAT(10116), BOVINE(9913), ESCHERICHIA_COLI(83333), SUS_SCROFA(9823), MYCOBACTERIUM_TUBERCULOSIS(83332), ORYCTOLAGUS_CUNICULUS(9986), SACCHAROMYCES_CEREVISIAE(559292), CVHSA(694009) & SARS2(2697049)
@optional {accession: any # accession, ec: any # ec, fullName: any # fullName, gene: any # gene, go: any # go, interpro: any # interpro, omim: any # omim, orphanet: any # orphanet, pfam: any # pfam, reactome: any # reactome, taxId: any # taxId}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group pubchem
@endpoint GET /pubchem/bioassays
@desc Get pubchem bioassays
@optional {accession: any # accession, assayPubchemId: any # assayPubchemId, ncbiProteinId: any # ncbiProteinId}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endpoint GET /pubchem/bioassays/sids
@desc Get pubchem bioassays associated to particular substance ids (sid) & outcome
@optional {outcome: any # outcome, sids: any # sids}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endpoint GET /pubchem/compounds
@desc Get pubchem compounds
@optional {canonicalSmiles: any # canonicalSmiles, cid: any # cid, inchiKey: any # inchiKey}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endpoint GET /pubchem/substances
@desc Get pubchem substances
@optional {cid: any # cid, sid: any # sid}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@group targets
@endpoint GET /targets
@desc Get ChEMBL targets
@optional {accession: any # accession, targetIds: any # targetIds}
@returns(200) OK
@errors {401: Unauthorized, 403: Forbidden, 404: Not Found}

@endgroup

@end
