@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Enterobase-API
@version v2.0
@auth basic
@endpoints 30
@hint download_for_search
@toc api(30)

@endpoint GET /api/v2.0
@optional {description: any, prefix: any, name: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/login
@optional {password: any, username: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/lookup
@optional {barcode: any}
@returns(200)
@errors {403, 408}

@endpoint GET /api/v2.0/lookup/{barcode}
@required {barcode: any}
@returns(200)
@errors {403}

@endpoint POST /api/v2.0/lookup/{barcode}
@required {barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/AMRdata
@required {database: any}
@optional {offset: any, barcode: any, only_fields: any, orderby: any, limit: any, sortorder: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/AMRdata/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint POST /api/v2.0/{database}/AMRdata/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint PUT /api/v2.0/{database}/AMRdata/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@errors {403}

@endpoint GET /api/v2.0/{database}/assemblies
@required {database: any}
@optional {offset: any, barcode: any, uberstrain: any, only_fields: any, orderby: any, limit: any, n50: any, version: any, top_species: any, assembly_status: any, reldate: any, sortorder: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/assemblies/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint POST /api/v2.0/{database}/assemblies/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint PUT /api/v2.0/{database}/assemblies/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@errors {403}

@endpoint GET /api/v2.0/{database}/schemes
@required {database: any}
@optional {offset: any, lastmodified: any, barcode: any, only_fields: any, orderby: any, scheme_name: any, limit: any, label: any, version: any, created: any, sortorder: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/schemes/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint POST /api/v2.0/{database}/schemes/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint PUT /api/v2.0/{database}/schemes/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@errors {403}

@endpoint GET /api/v2.0/{database}/straindata
@required {database: any}
@optional {sample_accession: any, collection_month: any, collection_time: any, continent: any, orderby: any, strain_name: any, top_species: any, reldate: any, lab_contact: any, substrains: any, county: any, collection_year: any, country: any, uberstrain: any, latitude: any, email: any, my_strains: any, n50: any, region: any, source_type: any, offset: any, barcode: any, postcode: any, serotype: any, version: any, comment: any, assembly_status: any, collection_date: any, sortorder: any, only_fields: any, source_details: any, secondary_sample_accession: any, longitude: any, limit: any, city: any, custom_fields: any, source_niche: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/strains
@required {database: any}
@optional {sample_accession: any, collection_month: any, collection_time: any, continent: any, orderby: any, strain_name: any, antigenic_formulas: any, reldate: any, lab_contact: any, substrains: any, county: any, collection_year: any, country: any, uberstrain: any, latitude: any, my_strains: any, region: any, return_all: any, source_type: any, offset: any, barcode: any, postcode: any, assembly_barcode: any, serotype: any, version: any, comment: any, collection_date: any, sortorder: any, only_fields: any, source_details: any, secondary_sample_accession: any, longitude: any, limit: any, city: any, source_niche: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/strains/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint POST /api/v2.0/{database}/strains/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint PUT /api/v2.0/{database}/strains/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@errors {403}

@endpoint GET /api/v2.0/{database}/strainsversion
@required {database: any}
@optional {sample_accession: any, collection_month: any, collection_time: any, continent: any, orderby: any, strain_name: any, antigenic_formulas: any, reldate: any, lab_contact: any, substrains: any, county: any, collection_year: any, country: any, uberstrain: any, latitude: any, my_strains: any, region: any, return_all: any, source_type: any, offset: any, barcode: any, postcode: any, assembly_barcode: any, serotype: any, version: any, comment: any, collection_date: any, sortorder: any, only_fields: any, source_details: any, secondary_sample_accession: any, longitude: any, limit: any, city: any, source_niche: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/traces
@required {database: any}
@optional {offset: any, barcode: any, only_fields: any, orderby: any, limit: any, sortorder: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/{database}/traces/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint POST /api/v2.0/{database}/traces/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@returns(200)
@errors {403}

@endpoint PUT /api/v2.0/{database}/traces/{barcode}
@required {database: any, barcode: any}
@optional {body: map}
@errors {403}

@endpoint GET /api/v2.0/{database}/{scheme}/alleles
@required {locus: any, database: any, scheme: any}
@optional {offset: any, seq: any, allele_id: any, barcode: any, only_fields: any, limit: any, reldate: any}
@returns(200)
@errors {400, 403}

@endpoint GET /api/v2.0/{database}/{scheme}/loci
@required {database: any, scheme: any}
@optional {offset: any, barcode: any, scheme: any, only_fields: any, locus: any, limit: any, create_time: any}
@returns(200)
@errors {400, 403}

@endpoint GET /api/v2.0/{database}/{scheme}/sts
@required {database: any, scheme: any}
@optional {offset: any, barcode: any, reldate: any, scheme: any, only_fields: any, st_id: any, show_alleles: any, limit: any}
@returns(200)
@errors {400, 403}

@end
