{"files":{"SKILL.md":"---\nname: enterobase-api\ndescription: \"Enterobase-API API skill. Use when working with Enterobase-API for api. Covers 30 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Enterobase-API\nAPI version: v2.0\n\n## Auth\nbasic\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: basic\n2. GET /api/v2.0 -- top level information about enterobase databases\n3. POST /api/v2.0/lookup/{barcode} -- create first lookup\n\n## Endpoints\n30 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Api\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /api/v2.0 | Top level information about EnteroBase databases |\n| GET | /api/v2.0/login | Login endpoint, refresh your API token |\n| GET | /api/v2.0/lookup | Generic endpoint for lookup list of barcodes |\n| GET | /api/v2.0/lookup/{barcode} | Generic endpoint for lookup of barcodes |\n| POST | /api/v2.0/lookup/{barcode} | Generic endpoint for lookup of barcodes |\n| GET | /api/v2.0/{database}/AMRdata | AMR data |\n| GET | /api/v2.0/{database}/AMRdata/{barcode} | AMR data |\n| POST | /api/v2.0/{database}/AMRdata/{barcode} | AMR data |\n| PUT | /api/v2.0/{database}/AMRdata/{barcode} | AMR data |\n| GET | /api/v2.0/{database}/assemblies | Genome assemblies |\n| GET | /api/v2.0/{database}/assemblies/{barcode} | Genome assemblies |\n| POST | /api/v2.0/{database}/assemblies/{barcode} | Genome assemblies |\n| PUT | /api/v2.0/{database}/assemblies/{barcode} | Genome assemblies |\n| GET | /api/v2.0/{database}/schemes | Genotyping schemes |\n| GET | /api/v2.0/{database}/schemes/{barcode} | Genotyping schemes |\n| POST | /api/v2.0/{database}/schemes/{barcode} | Genotyping schemes |\n| PUT | /api/v2.0/{database}/schemes/{barcode} | Genotyping schemes |\n| GET | /api/v2.0/{database}/straindata | Strain data |\n| GET | /api/v2.0/{database}/strains | Strain metadata |\n| GET | /api/v2.0/{database}/strains/{barcode} | Strain metadata |\n| POST | /api/v2.0/{database}/strains/{barcode} | Strain metadata |\n| PUT | /api/v2.0/{database}/strains/{barcode} | Strain metadata |\n| GET | /api/v2.0/{database}/strainsversion | Strain previous metadata |\n| GET | /api/v2.0/{database}/traces | Traces (sequence-reads) metadata |\n| GET | /api/v2.0/{database}/traces/{barcode} | Traces (sequence-reads) metadata |\n| POST | /api/v2.0/{database}/traces/{barcode} | Traces (sequence-reads) metadata |\n| PUT | /api/v2.0/{database}/traces/{barcode} | Traces (sequence-reads) metadata |\n| GET | /api/v2.0/{database}/{scheme}/alleles | Alleles  data |\n| GET | /api/v2.0/{database}/{scheme}/loci | Loci |\n| GET | /api/v2.0/{database}/{scheme}/sts | ST profile data |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all v2.0?\" -> GET /api/v2.0\n- \"List all login?\" -> GET /api/v2.0/login\n- \"List all lookup?\" -> GET /api/v2.0/lookup\n- \"Get lookup details?\" -> GET /api/v2.0/lookup/{barcode}\n- \"List all AMRdata?\" -> GET /api/v2.0/{database}/AMRdata\n- \"Get AMRdata details?\" -> GET /api/v2.0/{database}/AMRdata/{barcode}\n- \"Update a AMRdata?\" -> PUT /api/v2.0/{database}/AMRdata/{barcode}\n- \"List all assemblies?\" -> GET /api/v2.0/{database}/assemblies\n- \"Get assembly details?\" -> GET /api/v2.0/{database}/assemblies/{barcode}\n- \"Update a assembly?\" -> PUT /api/v2.0/{database}/assemblies/{barcode}\n- \"List all schemes?\" -> GET /api/v2.0/{database}/schemes\n- \"Get scheme details?\" -> GET /api/v2.0/{database}/schemes/{barcode}\n- \"Update a scheme?\" -> PUT /api/v2.0/{database}/schemes/{barcode}\n- \"List all straindata?\" -> GET /api/v2.0/{database}/straindata\n- \"List all strains?\" -> GET /api/v2.0/{database}/strains\n- \"Get strain details?\" -> GET /api/v2.0/{database}/strains/{barcode}\n- \"Update a strain?\" -> PUT /api/v2.0/{database}/strains/{barcode}\n- \"List all strainsversion?\" -> GET /api/v2.0/{database}/strainsversion\n- \"List all traces?\" -> GET /api/v2.0/{database}/traces\n- \"Get trace details?\" -> GET /api/v2.0/{database}/traces/{barcode}\n- \"Update a trace?\" -> PUT /api/v2.0/{database}/traces/{barcode}\n- \"List all alleles?\" -> GET /api/v2.0/{database}/{scheme}/alleles\n- \"List all loci?\" -> GET /api/v2.0/{database}/{scheme}/loci\n- \"List all sts?\" -> GET /api/v2.0/{database}/{scheme}/sts\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Enterobase-API\n@version v2.0\n@auth basic\n@endpoints 30\n@hint download_for_search\n@toc api(30)\n\n@endpoint GET /api/v2.0\n@desc Top level information about EnteroBase databases\n@optional {description: any # Database description, prefix: any # Database prefix, e.g. SAL for Salmonella, name: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively}\n@returns(200) A info object\n@errors {403: Unauthorised access for this specific resource or data}\n\n@endpoint GET /api/v2.0/login\n@desc Login endpoint, refresh your API token\n@optional {password: any # EnteroBase Password, username: any # EnteroBase username}\n@returns(200) A login object\n@errors {403: Unauthorised access for this specific resource or data}\n\n@endpoint GET /api/v2.0/lookup\n@desc Generic endpoint for lookup list of barcodes\n@optional {barcode: any # Unique barcode for records, __ e.g. SAL_AA0001AA_ST for a trace record}\n@returns(200) List of lookup objects\n@errors {403: Unauthorised access for this specific resource or data, 408: Connection timeout, please try again later.}\n\n@endpoint GET /api/v2.0/lookup/{barcode}\n@desc Generic endpoint for lookup of barcodes\n@required {barcode: any # Unique barcode for records, __ e.g. SAL_AA0001AA_ST for a trace record}\n@returns(200) A lookup object\n@errors {403: Unauthorised access for this specific resource or data}\n\n@endpoint POST /api/v2.0/lookup/{barcode}\n@desc Generic endpoint for lookup of barcodes\n@required {barcode: any # Unique barcode for records, __ e.g. SAL_AA0001AA_ST for a trace record}\n@optional {body: map}\n@returns(200) A lookup object\n@errors {403: Unauthorised access for this specific resource or data}\n\n@endpoint GET /api/v2.0/{database}/AMRdata\n@desc AMR data\n@required {database: any # Species database name e.g. senterica, ecoli, yersinia, mcatarrhalis}\n@optional {offset: any # Cursor position in results, barcode: any # One or more barcodes for assemblies associated with AMR data records, e.g. SAL_AA0001AA_AS, only_fields: any, orderby: any # Field to order by. Default: barcode, limit: any # Number of results per page, sortorder: any # Order of search results: asc or desc}\n@returns(200) List of AMRdata objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/AMRdata/{barcode}\n@desc AMR data\n@required {database: any # Species database name e.g. senterica, ecoli, yersinia, mcatarrhalis, barcode: any # One or more barcodes for assemblies associated with AMR data records, e.g. SAL_AA0001AA_AS}\n@optional {body: map}\n@returns(200) List of AMRdata objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint POST /api/v2.0/{database}/AMRdata/{barcode}\n@desc AMR data\n@required {database: any # Species database name e.g. senterica, ecoli, yersinia, mcatarrhalis, barcode: any # One or more barcodes for assemblies associated with AMR data records, e.g. SAL_AA0001AA_AS}\n@optional {body: map}\n@returns(200) List of AMRdata objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint PUT /api/v2.0/{database}/AMRdata/{barcode}\n@desc AMR data\n@required {database: any # Species database name e.g. senterica, ecoli, yersinia, mcatarrhalis, barcode: any # One or more barcodes for assemblies associated with AMR data records, e.g. SAL_AA0001AA_AS}\n@optional {body: map}\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/assemblies\n@desc Genome assemblies\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively}\n@optional {offset: any # Cursor position in results, barcode: any # Unique barcode for Assembly records, __AS e.g. SAL_AA0001AA_AS, uberstrain: any, only_fields: any, orderby: any # Field to order by. Default: barcode, limit: any # Number of results per page, n50: any, version: any, top_species: any, assembly_status: any, reldate: any, sortorder: any # Order of search results: asc or desc}\n@returns(200) List of assemblies objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/assemblies/{barcode}\n@desc Genome assemblies\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Assembly records, __AS e.g. SAL_AA0001AA_AS}\n@optional {body: map}\n@returns(200) List of assemblies objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint POST /api/v2.0/{database}/assemblies/{barcode}\n@desc Genome assemblies\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Assembly records, __AS e.g. SAL_AA0001AA_AS}\n@optional {body: map}\n@returns(200) List of assemblies objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint PUT /api/v2.0/{database}/assemblies/{barcode}\n@desc Genome assemblies\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Assembly records, __AS e.g. SAL_AA0001AA_AS}\n@optional {body: map}\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/schemes\n@desc Genotyping schemes\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively}\n@optional {offset: any # Cursor position in results, lastmodified: any, barcode: any # Unique barcode for Scheme records, e.g. SAW_AA0002AA_SC, only_fields: any, orderby: any # Field to order by. Default: barcode, scheme_name: any # Name of scheme, e.g. cgMLST_v2, limit: any # Number of results per page, label: any, version: any, created: any, sortorder: any # Order of search results: asc or desc}\n@returns(200) List of schemes objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/schemes/{barcode}\n@desc Genotyping schemes\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Scheme records, e.g. SAW_AA0002AA_SC}\n@optional {body: map}\n@returns(200) List of schemes objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint POST /api/v2.0/{database}/schemes/{barcode}\n@desc Genotyping schemes\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Scheme records, e.g. SAW_AA0002AA_SC}\n@optional {body: map}\n@returns(200) List of schemes objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint PUT /api/v2.0/{database}/schemes/{barcode}\n@desc Genotyping schemes\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Scheme records, e.g. SAW_AA0002AA_SC}\n@optional {body: map}\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/straindata\n@desc Strain data\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively}\n@optional {sample_accession: any, collection_month: any, collection_time: any, continent: any, orderby: any # Field to order by. Default: barcode, 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 # Cursor position in results, barcode: any # Unique barcode for Strain record, _ e.g. SAL_AA0001AA, postcode: any, serotype: any, version: any, comment: any, assembly_status: any, collection_date: any, sortorder: any # Order of search results: asc or desc, only_fields: any, source_details: any, secondary_sample_accession: any, longitude: any, limit: any # Number of results per page, city: any, custom_fields: any, source_niche: any}\n@returns(200) List of straindata objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/strains\n@desc Strain metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively}\n@optional {sample_accession: any, collection_month: any, collection_time: any, continent: any, orderby: any # Field to order by. Default: barcode, 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 # Cursor position in results, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA, postcode: any, assembly_barcode: any, serotype: any, version: any, comment: any, collection_date: any, sortorder: any # Order of search results: asc or desc, only_fields: any, source_details: any, secondary_sample_accession: any, longitude: any, limit: any # Number of results per page, city: any, source_niche: any}\n@returns(200) List of strains objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/strains/{barcode}\n@desc Strain metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA}\n@optional {body: map}\n@returns(200) List of strains objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint POST /api/v2.0/{database}/strains/{barcode}\n@desc Strain metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA}\n@optional {body: map}\n@returns(200) List of strains objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint PUT /api/v2.0/{database}/strains/{barcode}\n@desc Strain metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA}\n@optional {body: map}\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/strainsversion\n@desc Strain previous metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively}\n@optional {sample_accession: any, collection_month: any, collection_time: any, continent: any, orderby: any # Field to order by. Default: barcode, 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 # Cursor position in results, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA, postcode: any, assembly_barcode: any, serotype: any, version: any, comment: any, collection_date: any, sortorder: any # Order of search results: asc or desc, only_fields: any, source_details: any, secondary_sample_accession: any, longitude: any, limit: any # Number of results per page, city: any, source_niche: any}\n@returns(200) List of strainsversion objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/traces\n@desc Traces (sequence-reads) metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively}\n@optional {offset: any # Cursor position in results, barcode: any # Unique barcode for Traces records, __TR e.g. SAL_AA0001AA_TR, only_fields: any, orderby: any # Field to order by. Default: barcode, limit: any # Number of results per page, sortorder: any # Order of search results: asc or desc}\n@returns(200) List of traces objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/traces/{barcode}\n@desc Traces (sequence-reads) metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Traces records, __TR e.g. SAL_AA0001AA_TR}\n@optional {body: map}\n@returns(200) List of traces objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint POST /api/v2.0/{database}/traces/{barcode}\n@desc Traces (sequence-reads) metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Traces records, __TR e.g. SAL_AA0001AA_TR}\n@optional {body: map}\n@returns(200) List of traces objects\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint PUT /api/v2.0/{database}/traces/{barcode}\n@desc Traces (sequence-reads) metadata\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, barcode: any # Unique barcode for Traces records, __TR e.g. SAL_AA0001AA_TR}\n@optional {body: map}\n@errors {403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/{scheme}/alleles\n@desc Alleles  data\n@required {locus: any, database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, scheme: any}\n@optional {offset: any, seq: any, allele_id: any, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA, only_fields: any, limit: any, reldate: any}\n@returns(200) List of alleles objects\n@errors {400: Malformed request, contains an error, 403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/{scheme}/loci\n@desc Loci\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, scheme: any}\n@optional {offset: any, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA, scheme: any, only_fields: any, locus: any, limit: any, create_time: any}\n@returns(200) List of loci objects\n@errors {400: Malformed request, contains an error, 403: Unauthorised access for this specific resource}\n\n@endpoint GET /api/v2.0/{database}/{scheme}/sts\n@desc ST profile data\n@required {database: any # Species database name (senterica, ecoli, yersinia, mcatarrhalis) for Salmonella, Escherichia, Yersinia, Moraxella respectively, scheme: any # Name of scheme, e.g. cgMLST_v2}\n@optional {offset: any # Cursor position in results, barcode: any # Unique barcode for Strain records, _ e.g. SAL_AA0001AA, reldate: any, scheme: any # Name of scheme, e.g. cgMLST_v2, only_fields: any, st_id: any # One or more comma separated ST numbers, suggest limit to a maximum of 500, show_alleles: any, limit: any # Number of results per response - suggested maximum 500}\n@returns(200) List of sts objects\n@errors {400: Malformed request, contains an error, 403: Unauthorised access for this specific resource}\n\n@end\n"}}