openapi: 3.0.3
info:
title: Gencove Back array sample API
version: v2
contact:
email: support@gencove.com
license:
name: Proprietary
description: API for Gencove REST service. Visit enterprise.gencove.com and docs.gencove.com for more information.
To work with Insomnia, you can generate a Gencove API key by clicking here. Once you have the API key and have imported the project in Insomnia as a Request Collection, enter the key in Insomnia under Manage Environment.
Run in Insomnia
servers:
- url: https://api.gencove.com
tags:
- name: sample
paths:
/api/v2/sample-ancestry/{sample_id}:
get:
operationId: sample_ancestry_retrieve
parameters:
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleAncestry'
description: ''
/api/v2/sample-consumer-report/{sample_id}:
post:
operationId: sample_consumer_report_create
description: "Generate presigned URL for consumer report.\n\nArgs:\n request: HTTP request\n\nReturns:\n Response with presigned URL and expiration time"
parameters:
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SampleConsumerReportCreate'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SampleConsumerReportCreate'
multipart/form-data:
schema:
$ref: '#/components/schemas/SampleConsumerReportCreate'
security:
- JWT: []
- API key: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleConsumerReportResponse'
description: ''
/api/v2/sample-genomic-variants/{sample_id}:
get:
operationId: sample_genomic_variants_list
description: 'Return variant-level results from a sample''s imputed VCF.
Provide exactly one of the three query modes:
- point: `?chromosome=chr11&position=`
- range: `?chromosome=chr11&start_position=&end_position=`
- rsid: `?rsid=rs1,rs2,...`
`chromosome` must be an h38 contig name with the `chr` prefix
(chr1..chr22, chrX, chrY, chrM).'
parameters:
- in: query
name: chromosome
schema:
type: string
description: h38 contig name with the `chr` prefix, e.g. `chr1`, `chr11`, `chrX`, `chrY`, `chrM` (point and range queries)
- in: query
name: end_position
schema:
type: integer
description: Range end (1-based); use with `start_position`. The span may not exceed 100000 bp.
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: query
name: position
schema:
type: integer
description: 1-based position for a point query
- in: query
name: rsid
schema:
type: string
description: Comma-separated rsIDs, e.g. `rs429358,rs7412` (at most 50 per request).
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
- in: query
name: start_position
schema:
type: integer
description: Range start (1-based); use with `end_position`
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedGenomicVariantList'
description: ''
/api/v2/sample-kit/:
post:
operationId: sample_kit_create
description: Order a new kit for a sample
tags:
- sample
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SampleKit'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SampleKit'
multipart/form-data:
schema:
$ref: '#/components/schemas/SampleKit'
required: true
security:
- JWT: []
- API key: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleKitResponse'
description: ''
/api/v2/sample-kit-form/:
post:
operationId: sample_kit_form_create
description: 'Create a temporary, payment-free kit-order session.
Auth-gated to ``consumer_provider`` orgs and the ``sample_kit_create`` role
(project-scoped). Creates a placeholder ``samples.Sample`` (status
``consumer_awaiting_kit_order``), pins the JWT ``jti`` on it for replay
protection, and returns a tokenized URL the partner hands to an end user.
The ``Kit`` is only created once the end user submits the form.'
tags:
- sample
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SampleKitFormCreate'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SampleKitFormCreate'
multipart/form-data:
schema:
$ref: '#/components/schemas/SampleKitFormCreate'
required: true
security:
- JWT: []
- API key: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleKitFormResponse'
description: ''
/api/v2/sample-manifests-csv-template/:
get:
operationId: sample_manifests_csv_template_retrieve
description: Download a sample manifest CSV template file based on the template_type parameter.
parameters:
- in: query
name: template_type
schema:
type: string
enum:
- 384_well
- 96_well
- tube
description: Type of the sample manifest CSV template. Options are 96_well, 384_well, tube.
tags:
- sample
security:
- JWT: []
- API key: []
- {}
responses:
'200':
description: No response body
/api/v2/sample-manifests-xlsx-template/:
get:
operationId: sample_manifests_xlsx_template_retrieve
description: Download a sample manifest XLSX template file.
tags:
- sample
security:
- JWT: []
- API key: []
- {}
responses:
'200':
description: No response body
/api/v2/sample-manifests/{sample_manifest_id}:
get:
operationId: sample_manifests_retrieve
parameters:
- in: path
name: sample_manifest_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleManifest'
description: ''
/api/v2/sample-metadata/{sample_id}:
get:
operationId: sample_metadata_retrieve
description: Return sample metadata.
parameters:
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleMetadata'
description: ''
post:
operationId: sample_metadata_create
description: Create sample metadata.
parameters:
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SampleMetadata'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SampleMetadata'
multipart/form-data:
schema:
$ref: '#/components/schemas/SampleMetadata'
security:
- JWT: []
- API key: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleMetadata'
description: ''
/api/v2/sample-parentage/{sample_id}:
get:
operationId: sample_parentage_retrieve
parameters:
- in: query
name: display_results
schema:
type: string
enum:
- all
- checks
- matches
description: 'Display mode for parentage records. Options are:
- ''matches'': Only display records where a parent has been identified (default)
- ''checks'': Only display records where no parent has been identified
- ''all'': Display all parentage records'
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleParentage'
description: ''
/api/v2/sample-quality-controls/{sample_id}:
get:
operationId: sample_quality_controls_list
parameters:
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedQualityControlList'
description: ''
/api/v2/sample-restore-group/{restore_group_id}:
get:
operationId: sample_restore_group_list
parameters:
- in: query
name: archive_status
schema:
type: string
enum:
- all
- archived
- available
- restore_requested
description: Filter samples by their archive status
- in: query
name: created_after
schema:
type: string
description: Filter samples by created timestamp; use ISO8601 format
- in: query
name: created_before
schema:
type: string
description: Filter samples by created timestamp; use ISO8601 format
- in: query
name: hidden_status
schema:
type: string
enum:
- all
- hidden
- visible
description: Filter samples by their hidden status
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: modified_after
schema:
type: string
description: Filter samples by modified timestamp; use ISO8601 format
- in: query
name: modified_before
schema:
type: string
description: Filter samples by modified timestamp; use ISO8601 format
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: path
name: restore_group_id
schema:
type: string
format: uuid
required: true
- in: query
name: search
schema:
type: string
description: Search samples by id or client id or metadata content
- in: query
name: status
schema:
type: string
enum:
- all
- completed
- failed
- running
- succeeded
description: Filter samples by their status
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSampleListList'
description: ''
/api/v2/sample-sheet/:
get:
operationId: sample_sheet_list
description: Return generated sample sheet.
parameters:
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: query
name: search
schema:
type: string
description: gncv:// notated sample path to search for
- in: query
name: sort_by
schema:
type: string
enum:
- created
- modified
description: Sort results
- in: query
name: sort_order
schema:
type: string
enum:
- asc
- desc
description: Sort direction
- in: query
name: status
schema:
type: string
enum:
- all
- assigned
- unassigned
description: 'One of: assigned, unassigned, all; default is ''all'''
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSampleSheetList'
description: ''
/api/v2/sample-stats/{sample_id}:
get:
operationId: sample_stats_retrieve
parameters:
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleStats'
description: ''
/api/v2/sample-statuses/{sample_id}:
get:
operationId: sample_statuses_list
parameters:
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSampleStatusListList'
description: ''
/api/v2/sample-trait-scores/{sample_id}:
get:
operationId: sample_trait_scores_list
parameters:
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTraitScoreList'
description: ''
/api/v2/samples/{sample_id}:
get:
operationId: samples_retrieve
description: Retrieve sample model. Overridden to store audit action.
parameters:
- in: path
name: sample_id
schema:
type: string
format: uuid
required: true
tags:
- sample
security:
- JWT: []
- API key: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SampleDetails'
description: ''
components:
schemas:
SampleStatusList:
type: object
properties:
status:
type: string
note:
type: string
created:
type: string
format: date-time
required:
- status
SampleManifest:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
file_name:
type: string
maxLength: 256
file:
type: string
readOnly: true
project:
type: string
format: uuid
readOnly: true
created:
type: string
format: date-time
required:
- file
- file_name
- id
- project
PaginatedGenomicVariantList:
type: object
required:
- results
properties:
meta:
type: object
properties:
count:
type: integer
next:
type: string
format: uri
nullable: true
previous:
type: string
format: uri
nullable: true
required:
- count
results:
type: array
items:
$ref: '#/components/schemas/GenomicVariant'
TraitScore:
type: object
description: 'Serializer trait score and associated trait metadata models.
This is not really optimal, since it pulls data from multiple parent tables
for objects.'
properties:
trait_score:
$ref: '#/components/schemas/TraitScoreSelfNested'
trait_distribution:
$ref: '#/components/schemas/TraitDistribution'
trait:
$ref: '#/components/schemas/Trait'
trait_unit:
$ref: '#/components/schemas/TraitUnit'
risk:
type: string
nullable: true
description: "Return risk level for the trait score.\n\nReturns:\n Optional[str]: \"high_risk\" if the value is greater than or equal to the risk threshold,\n \"not_high_risk\" otherwise. If the risk threshold or percentile is None, return None."
readOnly: true
required:
- risk
- trait
- trait_distribution
- trait_score
- trait_unit
SampleStats:
type: object
properties:
total_size:
type: integer
required:
- total_size
PaginatedTraitScoreList:
type: object
required:
- results
properties:
meta:
type: object
properties:
count:
type: integer
next:
type: string
format: uri
nullable: true
previous:
type: string
format: uri
nullable: true
required:
- count
results:
type: array
items:
$ref: '#/components/schemas/TraitScore'
TraitUnit:
type: object
properties:
key:
type: string
maxLength: 254
required:
- key
SampleKitFormResponse:
type: object
description: Response body for ``POST /api/v2/sample-kit-form/``.
properties:
sample_id:
type: string
format: uuid
description: UUID of the placeholder ``samples.Sample`` created for the order.
url:
type: string
format: uri
description: Tokenized kit-order form URL for the end-user.
expires_at:
type: string
format: date-time
description: When the embedded JWT expires (ISO-8601).
required:
- expires_at
- sample_id
- url
ArchiveSampleStatus:
type: object
properties:
id:
type: string
status:
type: string
created:
type: string
transition_cutoff:
type: string
format: date-time
nullable: true
description: Denotes the transition time for calculated states
required:
- created
- id
- status
PaginatedSampleListList:
type: object
required:
- results
properties:
meta:
type: object
properties:
count:
type: integer
next:
type: string
format: uri
nullable: true
previous:
type: string
format: uri
nullable: true
required:
- count
results:
type: array
items:
$ref: '#/components/schemas/SampleList'
SampleStatusNested:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
status:
type: string
note:
type: string
created:
type: string
format: date-time
required:
- id
- status
PaginatedQualityControlList:
type: object
required:
- results
properties:
meta:
type: object
properties:
count:
type: integer
next:
type: string
format: uri
nullable: true
previous:
type: string
format: uri
nullable: true
required:
- count
results:
type: array
items:
$ref: '#/components/schemas/QualityControl'
AncestrySelfNested:
type: object
description: Serializer used to nest ancestry data within other ancestry serializer.
properties:
value: {}
SampleFileNested:
type: object
description: 'Sets sample.id as filename in file download_url and skips displaying
download url if file is not available.'
properties:
id:
type: string
format: uuid
readOnly: true
s3_path:
type: string
description: S3 object key
maxLength: 1024
size:
type: integer
maximum: 9223372036854775807
minimum: -9223372036854775808
format: int64
nullable: true
description: Size as reported by AWS in bytes
download_url:
type: string
format: uri
readOnly: true
description: Download url
file_type:
type: string
description: File extension
readOnly: true
checksum_sha256:
type: string
description: Object's sha256 Checksum
maxLength: 64
shadow_mode:
type: boolean
nullable: true
description: If true, file is only accessible by organizations with shadow mode access enabled.
required:
- download_url
- file_type
- id
SampleAncestry:
type: object
properties:
ancestry:
$ref: '#/components/schemas/AncestrySelfNested'
metadata:
$ref: '#/components/schemas/AncestryMetadata'
required:
- ancestry
- metadata
QualityControlSelfNested:
type: object
description: Serializer used to nest QC data within other QC serializer.
properties:
value_expected:
type: number
format: double
nullable: true
value_measured:
type: number
format: double
nullable: true
value_string:
type: string
maxLength: 128
status:
$ref: '#/components/schemas/QualityControlSelfNestedStatusEnum'
required:
- status
TraitDistribution:
type: object
properties:
value: {}
version:
type: string
maxLength: 100
required:
- version
SampleList:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
run:
type: string
format: uuid
nullable: true
created:
type: string
format: date-time
hidden:
type: boolean
description: Flag to hide the sample.
modified:
type: string
format: date-time
client_id:
type: string
description: 'Legacy: external_id'
maxLength: 250
physical_id:
type: string
description: 'Legacy: external_id, external_barcode and sample_barcode'
maxLength: 250
legacy_id:
type: string
description: 'Legacy: sample_id/member_id. Matching sample_ids from back_api app.'
maxLength: 250
last_status:
allOf:
- $ref: '#/components/schemas/SampleStatusNested'
readOnly: true
archive_last_status:
allOf:
- $ref: '#/components/schemas/ArchiveSampleStatus'
readOnly: true
failed_qc:
type: string
readOnly: true
description: Description of failed_qc status if present
required:
- archive_last_status
- client_id
- failed_qc
- id
- last_status
- legacy_id
- modified
- physical_id
SampleKit:
type: object
description: Serializer for creating kit orders in consumer mode.
properties:
project_id:
type: string
format: uuid
writeOnly: true
metadata:
writeOnly: true
nullable: true
sample_id:
type: string
format: uuid
readOnly: true
recipient_address_name:
type: string
maxLength: 255
recipient_address_line1:
type: string
maxLength: 50
recipient_address_line2:
type: string
maxLength: 50
recipient_address_line3:
type: string
maxLength: 50
recipient_address_city:
type: string
maxLength: 50
recipient_address_postal_code:
type: string
maxLength: 20
recipient_address_state_region:
type: string
maxLength: 50
recipient_address_country_code:
$ref: '#/components/schemas/RecipientAddressCountryCodeEnum'
recipient_phone:
type: string
maxLength: 128
recipient_email:
type: string
format: email
maxLength: 254
recipient_instructions:
type: string
maxLength: 255
test_mode:
type: boolean
default: false
description: Set to true to create a test order that will not be shipped. Defaults to false.
required:
- project_id
- recipient_address_city
- recipient_address_country_code
- recipient_address_line1
- recipient_address_name
- recipient_address_postal_code
- recipient_address_state_region
- recipient_email
- recipient_phone
- sample_id
PaginatedSampleSheetList:
type: object
required:
- results
properties:
meta:
type: object
properties:
count:
type: integer
next:
type: string
format: uri
nullable: true
previous:
type: string
format: uri
nullable: true
required:
- count
results:
type: array
items:
$ref: '#/components/schemas/SampleSheet'
SampleKitResponse:
type: object
properties:
sample_id:
type: string
format: uuid
readOnly: true
required:
- sample_id
Trait:
type: object
properties:
key:
type: string
maxLength: 254
required:
- key
QualityControlSelfNestedStatusEnum:
enum:
- succeeded
- failed
- skipped
type: string
description: '* `succeeded` - succeeded
* `failed` - failed
* `skipped` - skipped'
UploadStatusNested:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
status:
type: string
note:
type: string
created:
type: string
format: date-time
required:
- id
- status
AncestryMetadata:
type: object
properties:
value: {}
SampleConsumerReportResponse:
type: object
properties:
url:
type: string
format: uri
description: Presigned URL for accessing the consumer report
expires_at:
type: string
format: date-time
description: When the presigned URL will expire
required:
- expires_at
- url
QualityControlType:
type: object
properties:
key:
type: string
maxLength: 254
type:
type: string
name:
type: string
readOnly: true
description_markdown:
type: string
readOnly: true
display_type:
type: string
readOnly: true
display_only_if_failed:
type: string
readOnly: true
required:
- description_markdown
- display_only_if_failed
- display_type
- key
- name
- type
RecipientAddressCountryCodeEnum:
enum:
- AF
- AX
- AL
- DZ
- AS
- AD
- AO
- AI
- AQ
- AG
- AR
- AM
- AW
- AU
- AT
- AZ
- BS
- BH
- BD
- BB
- BY
- BE
- BZ
- BJ
- BM
- BT
- BO
- BQ
- BA
- BW
- BV
- BR
- IO
- BN
- BG
- BF
- BI
- CV
- KH
- CM
- CA
- KY
- CF
- TD
- CL
- CN
- CX
- CC
- CO
- KM
- CG
- CD
- CK
- CR
- CI
- HR
- CU
- CW
- CY
- CZ
- DK
- DJ
- DM
- DO
- EC
- EG
- SV
- GQ
- ER
- EE
- SZ
- ET
- FK
- FO
- FJ
- FI
- FR
- GF
- PF
- TF
- GA
- GM
- GE
- DE
- GH
- GI
- GR
- GL
- GD
- GP
- GU
- GT
- GG
- GN
- GW
- GY
- HT
- HM
- VA
- HN
- HK
- HU
- IS
- IN
- ID
- IR
- IQ
- IE
- IM
- IL
- IT
- JM
- JP
- JE
- JO
- KZ
- KE
- KI
- KW
- KG
- LA
- LV
- LB
- LS
- LR
- LY
- LI
- LT
- LU
- MO
- MG
- MW
- MY
- MV
- ML
- MT
- MH
- MQ
- MR
- MU
- YT
- MX
- FM
- MD
- MC
- MN
- ME
- MS
- MA
- MZ
- MM
- NA
- NR
- NP
- NL
- NC
- NZ
- NI
- NE
- NG
- NU
- NF
- KP
- MK
- MP
- 'NO'
- OM
- PK
- PW
- PS
- PA
- PG
- PY
- PE
- PH
- PN
- PL
- PT
- PR
- QA
- RE
- RO
- RU
- RW
- BL
- SH
- KN
- LC
- MF
- PM
- VC
- WS
- SM
- ST
- SA
- SN
- RS
- SC
- SL
- SG
- SX
- SK
- SI
- SB
- SO
- ZA
- GS
- KR
- SS
- ES
- LK
- SD
- SR
- SJ
- SE
- CH
- SY
- TW
- TJ
- TZ
- TH
- TL
- TG
- TK
- TO
- TT
- TN
- TR
- TM
- TC
- TV
- UG
- UA
- AE
- GB
- UM
- US
- UY
- UZ
- VU
- VE
- VN
- VG
- VI
- WF
- EH
- YE
- ZM
- ZW
type: string
description: '* `AF` - Afghanistan
* `AX` - Åland Islands
* `AL` - Albania
* `DZ` - Algeria
* `AS` - American Samoa
* `AD` - Andorra
* `AO` - Angola
* `AI` - Anguilla
* `AQ` - Antarctica
* `AG` - Antigua and Barbuda
* `AR` - Argentina
* `AM` - Armenia
* `AW` - Aruba
* `AU` - Australia
* `AT` - Austria
* `AZ` - Azerbaijan
* `BS` - Bahamas
* `BH` - Bahrain
* `BD` - Bangladesh
* `BB` - Barbados
* `BY` - Belarus
* `BE` - Belgium
* `BZ` - Belize
* `BJ` - Benin
* `BM` - Bermuda
* `BT` - Bhutan
* `BO` - Bolivia
* `BQ` - Bonaire, Sint Eustatius and Saba
* `BA` - Bosnia and Herzegovina
* `BW` - Botswana
* `BV` - Bouvet Island
* `BR` - Brazil
* `IO` - British Indian Ocean Territory
* `BN` - Brunei
* `BG` - Bulgaria
* `BF` - Burkina Faso
* `BI` - Burundi
* `CV` - Cabo Verde
* `KH` - Cambodia
* `CM` - Cameroon
* `CA` - Canada
* `KY` - Cayman Islands
* `CF` - Central African Republic
* `TD` - Chad
* `CL` - Chile
* `CN` - China
* `CX` - Christmas Island
* `CC` - Cocos (Keeling) Islands
* `CO` - Colombia
* `KM` - Comoros
* `CG` - Congo
* `CD` - Congo (the Democratic Republic of the)
* `CK` - Cook Islands
* `CR` - Costa Rica
* `CI` - Côte d''Ivoire
* `HR` - Croatia
* `CU` - Cuba
* `CW` - Curaçao
* `CY` - Cyprus
* `CZ` - Czechia
* `DK` - Denmark
* `DJ` - Djibouti
* `DM` - Dominica
* `DO` - Dominican Republic
* `EC` - Ecuador
* `EG` - Egypt
* `SV` - El Salvador
* `GQ` - Equatorial Guinea
* `ER` - Eritrea
* `EE` - Estonia
* `SZ` - Eswatini
* `ET` - Ethiopia
* `FK` - Falkland Islands (Malvinas)
* `FO` - Faroe Islands
* `FJ` - Fiji
* `FI` - Finland
* `FR` - France
* `GF` - French Guiana
* `PF` - French Polynesia
* `TF` - French Southern Territories
* `GA` - Gabon
* `GM` - Gambia
* `GE` - Georgia
* `DE` - Germany
* `GH` - Ghana
* `GI` - Gibraltar
* `GR` - Greece
* `GL` - Greenland
* `GD` - Grenada
* `GP` - Guadeloupe
* `GU` - Guam
* `GT` - Guatemala
* `GG` - Guernsey
* `GN` - Guinea
* `GW` - Guinea-Bissau
* `GY` - Guyana
* `HT` - Haiti
* `HM` - Heard Island and McDonald Islands
* `VA` - Holy See
* `HN` - Honduras
* `HK` - Hong Kong
* `HU` - Hungary
* `IS` - Iceland
* `IN` - India
* `ID` - Indonesia
* `IR` - Iran
* `IQ` - Iraq
* `IE` - Ireland
* `IM` - Isle of Man
* `IL` - Israel
* `IT` - Italy
* `JM` - Jamaica
* `JP` - Japan
* `JE` - Jersey
* `JO` - Jordan
* `KZ` - Kazakhstan
* `KE` - Kenya
* `KI` - Kiribati
* `KW` - Kuwait
* `KG` - Kyrgyzstan
* `LA` - Laos
* `LV` - Latvia
* `LB` - Lebanon
* `LS` - Lesotho
* `LR` - Liberia
* `LY` - Libya
* `LI` - Liechtenstein
* `LT` - Lithuania
* `LU` - Luxembourg
* `MO` - Macao
* `MG` - Madagascar
* `MW` - Malawi
* `MY` - Malaysia
* `MV` - Maldives
* `ML` - Mali
* `MT` - Malta
* `MH` - Marshall Islands
* `MQ` - Martinique
* `MR` - Mauritania
* `MU` - Mauritius
* `YT` - Mayotte
* `MX` - Mexico
* `FM` - Micronesia
* `MD` - Moldova
* `MC` - Monaco
* `MN` - Mongolia
* `ME` - Montenegro
* `MS` - Montserrat
* `MA` - Morocco
* `MZ` - Mozambique
* `MM` - Myanmar
* `NA` - Namibia
* `NR` - Nauru
* `NP` - Nepal
* `NL` - Netherlands
* `NC` - New Caledonia
* `NZ` - New Zealand
* `NI` - Nicaragua
* `NE` - Niger
* `NG` - Nigeria
* `NU` - Niue
* `NF` - Norfolk Island
* `KP` - North Korea
* `MK` - North Macedonia
* `MP` - Northern Mariana Islands
* `NO` - Norway
* `OM` - Oman
* `PK` - Pakistan
* `PW` - Palau
* `PS` - Palestine, State of
* `PA` - Panama
* `PG` - Papua New Guinea
* `PY` - Paraguay
* `PE` - Peru
* `PH` - Philippines
* `PN` - Pitcairn
* `PL` - Poland
* `PT` - Portugal
* `PR` - Puerto Rico
* `QA` - Qatar
* `RE` - Réunion
* `RO` - Romania
* `RU` - Russia
* `RW` - Rwanda
* `BL` - Saint Barthélemy
* `SH` - Saint Helena, Ascension and Tristan da Cunha
* `KN` - Saint Kitts and Nevis
* `LC` - Saint Lucia
* `MF` - Saint Martin (French part)
* `PM` - Saint Pierre and Miquelon
* `VC` - Saint Vincent and the Grenadines
* `WS` - Samoa
* `SM` - San Marino
* `ST` - Sao Tome and Principe
* `SA` - Saudi Arabia
* `SN` - Senegal
* `RS` - Serbia
* `SC` - Seychelles
* `SL` - Sierra Leone
* `SG` - Singapore
* `SX` - Sint Maarten (Dutch part)
* `SK` - Slovakia
* `SI` - Slovenia
* `SB` - Solomon Islands
* `SO` - Somalia
* `ZA` - South Africa
* `GS` - South Georgia and the South Sandwich Islands
* `KR` - South Korea
* `SS` - South Sudan
* `ES` - Spain
* `LK` - Sri Lanka
* `SD` - Sudan
* `SR` - Suriname
* `SJ` - Svalbard and Jan Mayen
* `SE` - Sweden
* `CH` - Switzerland
* `SY` - Syria
* `TW` - Taiwan
* `TJ` - Tajikistan
* `TZ` - Tanzania
* `TH` - Thailand
* `TL` - Timor-Leste
* `TG` - Togo
* `TK` - Tokelau
* `TO` - Tonga
* `TT` - Trinidad and Tobago
* `TN` - Tunisia
* `TR` - Türkiye
* `TM` - Turkmenistan
* `TC` - Turks and Caicos Islands
* `TV` - Tuvalu
* `UG` - Uganda
* `UA` - Ukraine
* `AE` - United Arab Emirates
* `GB` - United Kingdom
* `UM` - United States Minor Outlying Islands
* `US` - United States of America
* `UY` - Uruguay
* `UZ` - Uzbekistan
* `VU` - Vanuatu
* `VE` - Venezuela
* `VN` - Vietnam
* `VG` - Virgin Islands (British)
* `VI` - Virgin Islands (U.S.)
* `WF` - Wallis and Futuna
* `EH` - Western Sahara
* `YE` - Yemen
* `ZM` - Zambia
* `ZW` - Zimbabwe'
ReportTypeEnum:
enum:
- prs
type: string
description: '* `prs` - prs'
UploadNestedList:
type: object
description: Used in sample sheet creation.
properties:
upload:
type: string
format: uuid
destination_path:
type: string
description: Destination path given by the user as an optional argument
maxLength: 1024
last_status:
allOf:
- $ref: '#/components/schemas/UploadStatusNested'
readOnly: true
source_url:
type: string
readOnly: true
required:
- last_status
- source_url
- upload
PaginatedSampleStatusListList:
type: object
required:
- results
properties:
meta:
type: object
properties:
count:
type: integer
next:
type: string
format: uri
nullable: true
previous:
type: string
format: uri
nullable: true
required:
- count
results:
type: array
items:
$ref: '#/components/schemas/SampleStatusList'
QualityControl:
type: object
properties:
quality_control_type:
$ref: '#/components/schemas/QualityControlType'
quality_control:
$ref: '#/components/schemas/QualityControlSelfNested'
required:
- quality_control
- quality_control_type
SampleSheet:
type: object
properties:
client_id:
type: string
maxLength: 250
fastq:
allOf:
- $ref: '#/components/schemas/UploadNestedList'
readOnly: true
description: Uploaded fastq
required:
- client_id
- fastq
SampleMetadata:
type: object
properties:
metadata:
nullable: true
SampleKitFormCreate:
type: object
description: 'Request body for ``POST /api/v2/sample-kit-form/``.
Mirrors ``ArrayDataUploadFormCreateSerializer`` but is project-scoped: the
partner names the consumer project the kit''s sample lands in. The end user
supplies the shipping address later, in the form itself.'
properties:
project_id:
type: string
format: uuid
description: UUID of the consumer project to create the kit order in.
metadata:
nullable: true
description: Free-form JSON object stored on the created sample.
test_mode:
type: boolean
default: false
description: Set to true to create a test order that will not be shipped. Defaults to false.
redirect_on_success:
type: string
format: uri
default: ''
description: URL the end-user is redirected to after a successful order.
redirect_on_failure:
type: string
format: uri
default: ''
description: URL the end-user is redirected to after a failed order.
expires_in:
type: integer
maximum: 3600
minimum: 60
default: 600
description: JWT lifetime in seconds (default 600, max 3600). Once the URL is opened, a 15-minute session is created that may outlive this token.
required:
- project_id
SampleDetails:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
project:
type: string
format: uuid
run:
type: string
format: uuid
nullable: true
created:
type: string
format: date-time
modified:
type: string
format: date-time
hidden:
type: boolean
description: Flag to hide the sample.
client_id:
type: string
description: 'Legacy: external_id'
maxLength: 250
physical_id:
type: string
description: 'Legacy: external_id, external_barcode and sample_barcode'
maxLength: 250
legacy_id:
type: string
description: 'Legacy: sample_id/member_id. Matching sample_ids from back_api app.'
maxLength: 250
last_status:
allOf:
- $ref: '#/components/schemas/SampleStatusNested'
readOnly: true
archive_last_status:
allOf:
- $ref: '#/components/schemas/ArchiveSampleStatus'
readOnly: true
files:
type: array
items:
$ref: '#/components/schemas/SampleFileNested'
readOnly: true
description: Sample files
required:
- archive_last_status
- client_id
- files
- id
- last_status
- legacy_id
- modified
- physical_id
- project
TraitScoreSelfNested:
type: object
description: Serializer used to nest trait score data within other trait score serializer.
properties:
value:
type: number
format: double
percentile:
type: number
format: double
nullable: true
required:
- value
SampleConsumerReportCreate:
type: object
properties:
report_type:
allOf:
- $ref: '#/components/schemas/ReportTypeEnum'
default: prs
description: 'Type of report to generate
* `prs` - prs'
expires_in:
type: integer
maximum: 3600
minimum: 60
default: 600
description: Token expiration time in seconds. Note that this value is for the JWT delivered in the URL. Once the URL is accessed, a fixed duration session (15 minutes) is created that may outlive this token
SampleParentage:
type: object
properties:
parentage_tested:
type: string
readOnly: true
parentage:
type: string
readOnly: true
required:
- parentage
- parentage_tested
GenomicVariant:
type: object
description: 'Serializes a `genomic_variants.services.Variant` record.
`genotype` is an object keyed by the VCF FORMAT field names, e.g.
`{"GT": "0|0", "DS": "0", "GP": "1,0,0", "RC": "1", "AC": "0", "DP": "1"}`.
All values are kept as raw strings so the payload mirrors the VCF exactly;
callers interpret `GT` allele indexes against `alt`.
`genotype_confidence` is the confidence of the called genotype: the max of
the `GP` posteriors (the same quantity the VCF''s LOWCONF filter thresholds
at 0.9), a probability in [0, 1] or null when the record has no `GP` field.'
properties:
chromosome:
type: string
position:
type: integer
rsid:
type: string
nullable: true
ref:
type: string
alt:
type: array
items:
type: string
genotype:
type: object
additionalProperties:
type: string
nullable: true
genotype_confidence:
type: number
format: double
nullable: true
quality:
type: number
format: double
nullable: true
info:
type: object
additionalProperties: {}
required:
- alt
- chromosome
- genotype
- genotype_confidence
- info
- position
- quality
- ref
- rsid
securitySchemes:
API key:
type: apiKey
description: 'Authorization header content formated as: `Api-Key `
You can obtain new API key through Gencove''s web UI or `user-api-key` endpoint'
in: header
name: Authorization
JWT:
type: apiKey
description: 'Authorization header content formated as: `Bearer `
You can obtain access token using `jwt-create` endpoint.'
in: header
name: Authorization