myvariant_api.yaml•14.5 kB
openapi: 3.0.3
info:
contact:
email: help@myvariant.info
name: Chunlei Wu
x-id: https://github.com/newgene
x-role: responsible developer
description:
Documentation of the MyVariant.info genetic variant query web services.
Learn more about [MyVariant.info](https://docs.myvariant.info/en/latest/index.html)
termsOfService: https://myvariant.info/terms/
title: MyVariant.info API
version: "1.0"
x-translator:
biolink-version: 4.2.2
component: KP
infores: infores:myvariant-info
team:
- Service Provider
servers:
- description: Encrypted Production server
url: https://myvariant.info/v1
x-maturity: production
tags:
- name: variant
- name: query
- name: metadata
- name: translator
- name: biothings
paths:
/metadata:
get:
description: Get metadata about the data available from the API
responses:
"200":
description:
A 200 status code indicates a successful query, and is accompanied
by the query response payload.
tags:
- metadata
/metadata/fields:
get:
description: Get metadata about the data fields available from the API
responses:
"200":
description:
A 200 status code indicates a successful query, and is accompanied
by the query response payload.
tags:
- metadata
/query:
get:
description:
MyChem.info chemical query web service. In the output, "total"
in the output gives the total number of matching hits, while the actual hits
are returned under "hits" field.
parameters:
- description:
Required, passing user query. The detailed query syntax for parameter
is explained [here](https://docs.myvariant.info/en/latest/doc/variant_query_service.html#query-syntax).
example: rs58991260
in: query
name: q
required: true
schema:
type: string
- $ref: "#/components/parameters/fields"
- $ref: "#/components/parameters/size"
- $ref: "#/components/parameters/from"
- $ref: "#/components/parameters/fetch_all"
- $ref: "#/components/parameters/scroll_id"
- $ref: "#/components/parameters/sort"
- $ref: "#/components/parameters/facets"
- $ref: "#/components/parameters/facet_size"
- $ref: "#/components/parameters/callback"
- $ref: "#/components/parameters/dotfield"
- $ref: "#/components/parameters/email"
responses:
"200":
description:
A 200 status code indicates a successful query, and is accompanied
by the query response payload.
tags:
- query
post:
description:
'Although making simple GET requests above to our variant query
service is sufficient for most use cases, there are times you might find
it more efficient to make batch queries (e.g., retrieving variant annotation for
multiple variants). Fortunately, you can also make batch queries via POST
requests when you need to.
The "query" field in the returned object indicates the matching query term.
If a query term has no match, it will return with a "notfound" field with
the value "true".'
parameters:
- description:
"Accepts multiple values separated by commas. Note that currently
we only take the input values up to 1000 maximum, the rest will be omitted.
The request body can also be used to provide these ids."
in: query
name: q
required: false
schema:
items:
type: string
type: array
- description:
'Optional, specify one or more fields (separated by commas) to
search, e.g., "scopes=dbsnp.rsid". The available "fields" can be passed
to "scopes" parameter are listed [here](https://docs.myvariant.info/en/latest/doc/data.html#available-fields).
Default: _id
The request body can also be used to provide this information.'
in: query
name: scopes
required: false
schema:
type: string
- $ref: "#/components/parameters/fields"
- $ref: "#/components/parameters/email"
- $ref: "#/components/parameters/size"
- $ref: "#/components/parameters/from"
- $ref: "#/components/parameters/fetch_all"
- $ref: "#/components/parameters/scroll_id"
requestBody:
content:
application/json:
example:
q:
- rs58991260
- rs928128624
scopes:
- dbsnp.rsid
schema:
properties:
q:
description:
Accepts multiple values separated by commas. Note that
currently we only take the input values up to 1000 maximum, the
rest will be omitted.
items:
type: string
type: array
scopes:
description:
'Specify one or more fields (separated by commas) to
search, e.g., "scopes=dbsnp.rsid". The available "fields" can
be passed to "scopes" parameter are listed [here](https://docs.myvariant.info/en/latest/doc/data.html#available-fields).
Default: _id'
items:
type: string
type: array
type: object
responses:
"200":
description:
A 200 status code indicates a successful query, and is accompanied
by the query response payload.
tags:
- query
/variant:
post:
description:
Although making simple GET requests above to our variant query
service is sufficient in most use cases, there are some times you might find
it easier to batch query (e.g., retrieving variant annotations for multiple
variants). Fortunately, you can also make batch queries via POST requests
when you need to.
parameters:
- description:
'Required. Accepts multiple HGVS variant ids separated by comma, e.g.,
"ids=chr6:g.152708291G>A,chr7:g.55241707G>T,chr16:g.28883241A>G". Note
that currently we only take the input ids up to 1000 maximum, the rest will
be omitted.
The request body can also be used to provide these ids.'
in: query
name: ids
required: false
schema:
type: string
- $ref: "#/components/parameters/fields"
- $ref: "#/components/parameters/email"
- $ref: "#/components/parameters/size"
requestBody:
content:
application/json:
example:
ids:
- chr6:g.152708291G>A
- chr7:g.55241707G>T
schema:
properties:
ids:
description:
Accepts multiple variant ids. Note that currently we
only take the input ids up to 1000 maximum, the rest will be
omitted.
items:
type: string
type: array
type: object
responses:
"200":
description:
A 200 status code indicates a successful query, and is accompanied
by the query response payload.
tags:
- variant
/variant/{id}:
get:
description:
'By default, this will return the complete variant annotation object
in JSON format. See [here](https://docs.myvariant.info/en/latest/doc/variant_annotation_service.html#returned-object) for
an example and [here](https://docs.myvariant.info/en/latest/doc/data.html#variant-object)
for more details. If the input variant ID is not valid, 404 (NOT FOUND) will
be returned.
Optionally, you can pass a "fields" parameter to return only the annotation
you want (by filtering returned object fields). "fields" accepts any attributes
(a.k.a fields) available from the object. Multiple attributes should be separated
by commas. If an attribute is not available for a specific variant object,
it will be ignored. Note that the attribute names are case-sensitive.
Just like the variant query service, you can also pass a "callback" parameter
to make a JSONP call.'
parameters:
- description:
Retrieve chemical data based on ID - currently the HGVS-based
id using genomic location based on hg19 human genome assembly
example: chr6:g.152708291G>A
in: path
name: id
required: true
schema:
type: string
- $ref: "#/components/parameters/fields"
- $ref: "#/components/parameters/callback"
- $ref: "#/components/parameters/email"
- $ref: "#/components/parameters/size"
responses:
"200":
description:
A 200 status code indicates a successful query, and is accompanied
by the query response payload.
tags:
- variant
components:
parameters:
assembly:
in: query
name: assembly
required: false
schema:
default: hg19
type: string
callback:
description: Optional, you can pass a "callback" parameter to make a JSONP call.
in: query
name: callback
required: false
schema:
type: string
dotfield:
description:
'Optional, can be used to control the format of the returned object. If
"dotfield" is true, the returned data object is returned flattened (no nested
objects) using dotfield notation for key names. Default: false.'
in: query
name: dotfield
required: false
schema:
default: false
type: boolean
email:
description:
Optional, if you are regular users of our services, we encourage
you to provide us an email, so that we can better track the usage or follow
up with you.
in: query
name: email
required: false
schema:
type: string
facet_size:
description:
Optional, an integer (1 <= facet_size <= 1000) that specifies how
many buckets to return in a [faceted query](https://docs.mychem.info/en/latest/doc/chem_query_service.html?highlight=from#faceted-queries).
in: query
name: facet_size
required: false
schema:
default: 10
type: integer
facets:
description:
Optional, a single field or comma-separated fields to return facets,
can only be used on non-free text fields. E.g. "facets=chembl.molecule_properties.full_mwt".
See [examples of faceted queries here](https://docs.mychem.info/en/latest/doc/chem_query_service.html?highlight=from#faceted-queries).
in: query
name: facets
required: false
schema:
items:
type: string
type: array
fetch_all:
description:
"Optional, a boolean, which when TRUE, allows fast retrieval of
all unsorted query hits. The return object contains a _scroll_id field, which
when passed as a parameter to the query endpoint (see the scroll_id parameter),
returns the next 1000 query results. Setting fetch_all = TRUE causes the
results to be inherently unsorted, therefore the sort parameter is ignored.
For more information, see [examples using fetch_all here](https://docs.mychem.info/en/latest/doc/chem_query_service.html?highlight=from#scrolling-queries). Default:
FALSE."
in: query
name: fetch_all
required: false
schema:
default: false
type: boolean
fields:
description:
"Optional, can be a comma-separated list to limit the fields returned\
\ from the object. If \"fields=all\", all available fields will be returned.\
\ Look [here](https://docs.mychem.info/en/latest/doc/data.html#available-fields)\
\ for a list of available fields. \n\nNote that it supports dot notation as\
\ well, e.g., you can pass \"chebi.name\". Default: \"fields=all\". The\
\ parameter \"filter\" is an alias for this parameter."
in: query
name: fields
required: false
schema:
default: all
type: string
from:
description:
"Optional, the number of matching hits to skip, starting from 0.
Default: 0. "
in: query
name: from
required: false
schema:
default: 0
type: integer
scroll_id:
description:
Optional, a string containing the _scroll_id returned from a query
request with fetch_all = TRUE. Supplying a valid scroll_id will return the
next 1000 unordered results. If the next results are not obtained within
1 minute of the previous set of results, the scroll_id becomes stale, and
a new one must be obtained with another query request with fetch_all = TRUE.
All other parameters are ignored when the scroll_id parameter is supplied.
For more information see [examples using scroll_id here](https://docs.mychem.info/en/latest/doc/chem_query_service.html?highlight=from#scrolling-queries).
in: query
name: scroll_id
required: false
schema:
type: string
size:
description:
'Optional, the maximum number of matching hits to return (with
a cap of 1000 at the moment). Default: 10. The combination of "size" and "from"
parameters can be used to get paging for a large query.'
in: query
name: size
required: false
schema:
default: 10
type: integer
sort:
description:
'Optional, the comma-separated fields to sort on. Prefix with "-"
for descending order, otherwise in ascending order. Default: sort by matching
scores in descending order.'
in: query
name: sort
required: false
schema:
items:
type: string
type: array