@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 {prefix: any, description: any, name: any}
@returns(200)
@errors {403}

@endpoint GET /api/v2.0/login
@optional {username: any, password: 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, sortorder: any, barcode: any, limit: any, orderby: any, only_fields: 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, top_species: any, assembly_status: any, uberstrain: any, version: any, sortorder: any, barcode: any, reldate: any, limit: any, orderby: any, only_fields: any, n50: 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, version: any, scheme_name: any, sortorder: any, barcode: any, limit: any, created: any, orderby: any, only_fields: any, label: 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 {offset: any, county: any, uberstrain: any, sample_accession: any, sortorder: any, limit: any, strain_name: any, my_strains: any, collection_month: any, orderby: any, substrains: any, longitude: any, top_species: any, version: any, source_niche: any, continent: any, serotype: any, assembly_status: any, source_type: any, reldate: any, custom_fields: any, region: any, collection_year: any, n50: any, collection_date: any, country: any, comment: any, secondary_sample_accession: any, collection_time: any, postcode: any, email: any, barcode: any, city: any, lab_contact: any, latitude: any, only_fields: any, source_details: any}
@returns(200)
@errors {403}

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

@endpoint GET /api/v2.0/{database}/traces
@required {database: any}
@optional {offset: any, sortorder: any, barcode: any, limit: any, orderby: any, only_fields: 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, scheme: any, database: any}
@optional {offset: any, seq: any, barcode: any, reldate: any, limit: any, allele_id: any, only_fields: any}
@returns(200)
@errors {400, 403}

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

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

@end
