REST API Documentation


Public endpoint

The public endpoint is located at https://api.seqco.de/v1/.

Global Models

All the following models can also take the value of null:
  • bool: Boolean, one of true or false
  • int: Integer. Example: 3
  • float: Double (floating point number). Example: 3.14
  • str: String. Example: "e.g."
  • date: Date and time, in format ISO 8601 (without time). Example: "2019-04-15"
  • date_time: Date and time, in format ISO 8601 (including seconds). Example: "2019-04-15T18:47:15.734Z"

Generic

{
  "raw": str,
  "html": str
}
{
  "status": "ok",
  "message_type": str
}
{
  "status": "ok",
  "message_type": str,
  "count": int,
  "current_page": int,
  "total_pages": int,
  "next": str
}
Description
Checks that the API is accessible
Parameters
None
Response
{ "status": "ok" }
Example
https://api.seqco.de/v1/page/status.json

Names

{
  "id": int,
  "name": str,
  "url": str,
  "uri": str
}
[
  {
    "id": int,
    "name": str,
    "rank": str,
    "status_name": str,
    "priority_date": date_time,
    "type_material": type_material,
    "created_at": date_time,
    "updated_at": date_time,
    "url": str,
    "uri": str
  },
  ...
]
  • The classification model is an array ordered from highest to lowest taxonomic rank, where the first value typically corresponds to a name with the rank of "domain"
{
  "class": str,
  "id": int,
  "url": str,
  "uri": str,
  "display": str
}
  • class can take any value from "unknown", "Name", or "Genome"
{
  "message": str,
  "rules": [
    str,
    ...
  ],
  "recommendations": [
    str,
    ...
  ],
  "rule_notes": [
    str,
    ...
  ],
  "can_endorse": bool,
  "checklist": str
}
  • message is the only mandatory field in this model
  • rules, recommendations, and rule_notes are (optional) arrays indicating which rules, recommendations, or rule notes (respectively) from the SeqCode are being contravened by the name in its current status
  • can_endorse indicates if the name can be endorsed despite the warning. If missing, warnings citing rules don't allow endorsement, and all other warnings do
  • checklist indicates (if present) that the warning was registered by manual curation of this type, one of "nomenclature" or "genomics"
Description
Retrieve a list of names
Parameters
  • page [int, opt]: Page of the list of names
  • status [str, opt]: Filter names by status, one of public, automated, SeqCode, ICNP, ICN, or valid
Response
{
  "response": response_paginated,
  "values": [
    name_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/names.json?status=SeqCode
Description
Retrieve data about the name (id) [int]
Parameters
None
Response
{
  "response": response,
  name_item,
  "rank": str,
  "status_name": str,
  "syllabication": str,
  "priority_date": date_time,
  "description": text_with_format,
  "formal_styling": text_with_format,
  "etymology": str,
  "type_material": type_material,
  "notes": text_with_format,
  "proposed_in": publication_item,
  "not_validly_proposed_in": [
    publication_item,
    ...
  ],
  "corrigendum_in": publication_item,
  "corrigendum_from": str,
  "emended_in": [
    publication_item,
    ...
  ],
  "classification": classification,
  "children": [
    name_item,
    ...
  ],
  "register": register_item,
  "qc_warnings": [
    qc_warning,
    ...
  ],
  "register": register_item,
  "created_at": date_time,
  "updated_at": date_time
}
  • The following fields are optional: description, notes, proposed_in, not_validly_proposed_in, corrigendum_in, corrigendum_from, emended_in, register, and qc_warnings
Example
https://api.seqco.de/v1/names/1.json

Genomes

{
  "id": int,
  "database": str,
  "accession": str,
  "kind": str,
  "url": str,
  "uri": str
}
  • database can take any of the values: "assembly" or "nuccore"
  • kind can take any of the values: "isolate", "enrichment", "mag", "sag", or null
Description
Retrieve a list of genomes
Parameters
  • page [int, opt]: Page of the list of genomes
Response
{
  "response": response_paginated,
  "values": [
    genome_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/genomes.json
Description
Retrieve data about genome (id) [int]
Parameters
None
Response
{
  "response": response,
  genome_item,
  "sample": {
    "source_database": str,
    "source_accessions": [
      str,
      ...
    ]
  },
  "genomic_features": {
    "auto_check": bool,
    "seq_depth": int,
    "gc_content": float,
    "most_complete_16s": float,
    "number_of_16s": int,
    "most_complete_23s": float,
    "number_of_23s": int,
    "number_of_trnas": int,
    "coding_density": float,
    "codon_table": int,
    "n50": float,
    "contigs": int,
    "largest_contig": int,
    "assembly_length": int,
    "ambiguous_fraction": float
  },
  "names": [
    name_item,
    ...
  ],
  "created_at": date_time,
  "updated_at": date_time
}
  • sample.source_database can take any of the values: "biosample", "sra", "", or null (the last two should be interpreted as equivalent)
  • genomic_features.codon_table follows the NCBI codon table numbering, and typically would take a value of 11, 4, or null
Example
https://api.seqco.de/v1/genomes/1.json
Description
Retrieve a list of type genomes from validly published names and their corresponding names
Parameters
  • page [int, opt]: Page of the list genomes and corresponding validly published names
Response
{
  "response": response_paginated,
  "values": [
    {
      "id": int,
      "name": str,
      "rank": str,
      "status_name": str,
      "priority_date": date_time,
      "type_material": {
        str: str,
        type_material
      },
      "classification": classification,
      "created_at": date_time,
      "updated_at": date_time,
      "url": str
    },
    ...
  ]
}
  • The first key-value pair in values[*].type_material corresponds to database and accession, where the database (key) is "nuccore" or "assembly"
  • values[*].id and all other direct children of values[*] correspond to features of the name, not features of the type genome
Example
https://api.seqco.de/v1/type-genomes.json

Registers

{
  "acc_url": str,
  "title": str,
  "priority_date": date_time,
  "url": str,
  "uri": str
}
Description
Retrieve a list of (validated) register lists
Parameters
  • page [int, opt]: Page of the list
Response
{
  "response": response_paginated,
  "values": [
    register_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/registers.json
Description
Retrieve a data from register list (acc) [str]
Parameters
  • page [int, opt]: Page of the list of names in the register list
Response
{
  "response": response_paginated,
  register_item,
  "submitted": bool,
  "validated": bool,
  "validated_by": str,
  "submitter": str,
  "effective_publication": publication_item,
  "doi": str,
  "created_at": date_time,
  "updated_at": date_time,
  "names": [
    name_item,
    ...
  ]
}
  • doi is only present for validated register lists
Example
https://api.seqco.de/v1/registers/r:sy5jeiw2.json

Publications

{
  "id": int,
  "given": str,
  "family": str,
  "created_at": date_time,
  "updated_at": date_time,
  "url": str
}
{
  "id": int,
  "citation": str,
  "doi": str,
  "url": str
}
{
  "id": int,
  "name": str,
  "url": str
}
Description
Retrieve a list of publication authors
Parameters
  • page [int, opt]: Page of the list of authors
Response
{
  "response": response_paginated,
  "values": [
    author_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/authors.json
Description
Retrieve data about the author (id) [int]
Parameters
  • page [int, opt]: Page of the list of publications from the author
Response
{
  "response": response_paginated,
  author_item,
  "publications": [
    publication_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/authors/1.json
Description
Retrieve a list of publication journals
Parameters
  • page [int, opt]: Page of the list of journals
Response
{
  "response": response_paginated,
  "values": [
    {
      "name": str,
      "url": str
    },
    ...
  ]
}
Example
https://api.seqco.de/v1/journals.json
Description
Retrieve data about the journal (name) [str]
Parameters
  • page [int, opt]: Page of the list of publications from the journal
Response
{
  "response": response_paginated,
  "name": str,
  "url": str,
  "publications": [
    publication_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/journals/Acta Horticulturae.json
Description
Retrieve a list of publications
Parameters
  • page [int, opt]: Page of the list of publications
Response
{
  "response": response_paginated,
  "values": [
    publication_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/publications.json
Description
Retrieve data about publication (id) [int]
Parameters
None
Response
{
  "response": response,
  publication_item,
  "link_ext": str,
  "title": str,
  "journal": str,
  "journal_loc": str,
  "journal_date": date,
  "pub_type": str,
  "abstract": str,
  "long_citation_html": str,
  "created_at": date_time,
  "updated_at": date_time,
  "authors": [
    author_item,
    ...
  ],
  "names": [
    name_item,
    ...
  ],
  "subjects": [
    subject_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/publications/1.json
Description
Retrieve a list of publication subjects
Parameters
  • page [int, opt]: Page of the list
Response
{
  "response": response_paginated,
  "values": [
    subject_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/subjects.json
Description
Retrieve data from publication subject (id) [int]
Parameters
  • page [int, opt]: Page of the list of publications with the subject
Response
{
  "response": response_paginated,
  subject_item,
  "created_at": date_time,
  "updated_at": date_time,
  "publications": [
    publication_item,
    ...
  ]
}
Example
https://api.seqco.de/v1/subjects/1.json



© 2022-2024 The SeqCode Initiative
  All information contributed to the SeqCode Registry is released under the terms of the Creative Commons Attribution (CC BY) 4.0 license