openapi: 3.0.3 info: title: Gencove Back array project 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: project paths: /api/v2/project-batch-types/{project_id}: get: operationId: project_batch_types_list description: List batch types that are available for current project. 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: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchTypeList' description: '' /api/v2/project-batches/{project_id}: get: operationId: project_batches_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: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBatchListList' description: '' post: operationId: project_batches_create description: Handles batch creation for current project. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchCreate' multipart/form-data: schema: $ref: '#/components/schemas/BatchCreate' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/BatchDetail' description: '' /api/v2/project-cancel-samples/{project_id}: post: operationId: project_cancel_samples_create description: View for canceling sample submission to analysis in a project. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectCancelSamples' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectCancelSamples' multipart/form-data: schema: $ref: '#/components/schemas/ProjectCancelSamples' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProjectCancelSamples' description: '' /api/v2/project-delete-samples/{project_id}: delete: operationId: project_delete_samples_destroy parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/project-hide-samples/{project_id}: post: operationId: project_hide_samples_create parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/SampleHideUnhide' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SampleHideUnhide' multipart/form-data: schema: $ref: '#/components/schemas/SampleHideUnhide' required: true security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/project-merge-vcfs/{project_id}: get: operationId: project_merge_vcfs_retrieve description: Return last known merge_vcfs job. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectMergeVCFsJob' description: '' post: operationId: project_merge_vcfs_create description: 'Post takes no parameters since merge_vcfs job parameters are constructed by the backend.' parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProjectMergeVCFsJob' description: '' /api/v2/project-organization-users/{project_id}: get: operationId: project_organization_users_list description: Get organization users. 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: project_id schema: type: string format: uuid required: true - in: query name: search schema: type: string description: Search users by name, email or id tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizationUserList' description: '' /api/v2/project-qc-report/{project_id}: get: operationId: project_qc_report_retrieve description: Retrieve a CSV QC report for the supplied project ID parameters: - in: query name: columns schema: type: array items: type: string enum: - id - client_id - project_id - year - month - day - status - sex_string - call_rate_min - raw_coverage - bases_min - bases_max - bases_dedup_min - bases_dedup_mapped_min - fraction_contamination_max - snps_min - effective_coverage_min - hzy_max - cc_min - nhref_min - nhet_max - nhalt_min - pct_target_bases_30x_min - pathogenic_min - ancestries default: - id - client_id - project_id - year - month - day - status - sex_string - snps_min - bases_dedup_mapped_min - call_rate_min - effective_coverage_min - raw_coverage - ancestries description: Specify one or more column names to include in the report. - in: path name: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': description: No response body /api/v2/project-qc-types/{project_id}: get: operationId: project_qc_types_list description: List all available QC types for current project 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: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedQualityControlTypeList' description: '' /api/v2/project-quality-control-histogram/{project_id}: get: operationId: project_quality_control_histogram_retrieve description: Retrieve user project and desired qc results histogram. parameters: - in: query name: archive_status schema: type: string enum: - all - archived - available - restore_requested description: Filter QC results by samples and their archived 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 QC results by samples and their hidden status - 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 - in: query name: number_of_results schema: type: integer default: 200 description: Number of results - in: path name: project_id schema: type: string format: uuid required: true - in: query name: qc_type schema: type: string description: Quality control type key required: true - in: query name: search schema: type: string description: Search QC results by samples and their id or client id - in: query name: status schema: type: string enum: - all - completed - failed - running - succeeded description: Filter QC results by samples and their status tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectQualityControlHistogram' description: '' /api/v2/project-restore-samples/{project_id}: post: operationId: project_restore_samples_create description: Handles sample restore process for given sample ids in current project. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/SampleRestore' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SampleRestore' multipart/form-data: schema: $ref: '#/components/schemas/SampleRestore' required: true security: - JWT: [] - API key: [] responses: '202': content: application/json: schema: $ref: '#/components/schemas/SampleRestore' description: '' /api/v2/project-roles/{role_id}: get: operationId: project_roles_retrieve parameters: - in: path name: role_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserRoleObject' description: '' delete: operationId: project_roles_destroy parameters: - in: path name: role_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/project-sample-manifests/{project_id}: get: operationId: project_sample_manifests_retrieve parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SampleManifestUpload' description: '' post: operationId: project_sample_manifests_create description: Upload sample manifest file for project parameters: - in: path name: project_id schema: type: string description: Project ID to add manifest to required: true - in: query name: sample_manifest schema: type: string description: Sample manifest CSV or XLSX file required: true tags: - project requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SampleManifestUpload' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/SampleManifestUpload' description: '' /api/v2/project-samples-copy/: post: operationId: project_samples_copy_create description: 'Copy samples from another project into this one. Creates independent copies of the source samples in the destination project, producing new sample records. Only available when the organization has sample copying enabled.' tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSamplesImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectSamplesImport' multipart/form-data: schema: $ref: '#/components/schemas/ProjectSamplesImport' required: true security: - JWT: [] - API key: [] responses: '202': content: application/json: schema: $ref: '#/components/schemas/ProjectSamplesImport' description: '' /api/v2/project-samples-import/: post: operationId: project_samples_import_create description: 'Import samples from another project into this one. References the source samples in the destination project without duplicating the underlying data. Sample metadata can optionally be overridden as part of the import.' tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectSamplesImport' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectSamplesImport' multipart/form-data: schema: $ref: '#/components/schemas/ProjectSamplesImport' required: true security: - JWT: [] - API key: [] responses: '202': content: application/json: schema: $ref: '#/components/schemas/ProjectSamplesImport' description: '' /api/v2/project-samples/{project_id}: get: operationId: project_samples_list description: List single project's associated samples. 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: project_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: sort_by schema: type: string enum: - client_id - created - id - modified - status 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 - completed - failed - running - succeeded description: Filter samples by their status tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedSampleListList' description: '' post: operationId: project_samples_create description: 'Add samples to the project. Samples are added formatted as the `results` response value that was returned from `/sample-sheet/` endpoint.' parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtendedSampleSheetCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExtendedSampleSheetCreate' multipart/form-data: schema: $ref: '#/components/schemas/ExtendedSampleSheetCreate' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ExtendedSampleSheetCreate' description: '' /api/v2/project-share-exit/: post: operationId: project_share_exit_create tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectShareExit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectShareExit' multipart/form-data: schema: $ref: '#/components/schemas/ProjectShareExit' required: true security: - JWT: [] - API key: [] responses: '200': description: No response body /api/v2/project-share-revoke/{project_share_id}: post: operationId: project_share_revoke_create parameters: - in: path name: project_share_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectShareRevoke' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectShareRevoke' multipart/form-data: schema: $ref: '#/components/schemas/ProjectShareRevoke' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProjectShareRevoke' description: '' /api/v2/project-shares/: get: operationId: project_shares_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 tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectShareList' description: '' post: operationId: project_shares_create tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectShare' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectShare' multipart/form-data: schema: $ref: '#/components/schemas/ProjectShare' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ProjectShare' description: '' /api/v2/project-shares/{project_share_id}: get: operationId: project_shares_retrieve parameters: - in: path name: project_share_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectShare' description: '' /api/v2/project-stats/{project_id}: get: operationId: project_stats_retrieve description: Retrieve user project and it's sample stats. parameters: - in: query name: archive_status schema: type: string enum: - all - archived - available - restore_requested description: Filter stats by samples and their archived 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 stats by samples and their hidden status - 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 - in: path name: project_id schema: type: string format: uuid required: true - in: query name: search schema: type: string description: Search stats by samples and their id or client id - in: query name: status schema: type: string enum: - all - completed - failed - running - succeeded description: Filter stats by samples and their status tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectStats' description: '' /api/v2/project-subscription-details/{subscription_id}: get: operationId: project_subscription_details_retrieve description: Details of a single subscription for project related events. parameters: - in: path name: subscription_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectSubscription' description: '' delete: operationId: project_subscription_details_destroy description: Details of a single subscription for project related events. parameters: - in: path name: subscription_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/project-subscription-event-types/: get: operationId: project_subscription_event_types_list description: List subscription event types that are available for all projects. 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 tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEventTypeList' description: '' /api/v2/project-subscription-notifications/{subscription_id}: get: operationId: project_subscription_notifications_list description: 'List all available subscriptions for given project or create a new subscription.' 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: subscription_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectSubscriptionNotificationList' description: '' /api/v2/project-subscription-secret/{subscription_id}: post: operationId: project_subscription_secret_create description: 'Set webhook secret for given subscription. Webhook secret is requested by the user and generated by Gencove.' parameters: - in: path name: subscription_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SubscriptionSecret' description: '' /api/v2/project-subscription-test/{subscription_id}: post: operationId: project_subscription_test_create description: 'Send a dummy event for given subscription to test notifications integration. By default, there are no retries for this test endpoint.' parameters: - in: path name: subscription_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionTest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SubscriptionTest' multipart/form-data: schema: $ref: '#/components/schemas/SubscriptionTest' security: - JWT: [] - API key: [] responses: '202': description: No response body /api/v2/project-subscriptions/{project_id}: get: operationId: project_subscriptions_list description: 'List all available subscriptions for given project or create a new subscription.' 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: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectSubscriptionList' description: '' post: operationId: project_subscriptions_create description: Add subscription to project events. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SubscriptionCreate' multipart/form-data: schema: $ref: '#/components/schemas/SubscriptionCreate' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/SubscriptionCreate' description: '' /api/v2/project-unhide-samples/{project_id}: post: operationId: project_unhide_samples_create parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/SampleHideUnhide' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SampleHideUnhide' multipart/form-data: schema: $ref: '#/components/schemas/SampleHideUnhide' required: true security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/project-users/{project_id}: get: operationId: project_users_list description: Get project users by project id. 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: only_explicit_roles schema: type: boolean description: Show only project level granted roles - in: path name: project_id schema: type: string format: uuid required: true - in: query name: search schema: type: string description: Search users by name, email or id tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectUsersList' description: '' post: operationId: project_users_create parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/UserRoleObjectCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UserRoleObjectCreate' multipart/form-data: schema: $ref: '#/components/schemas/UserRoleObjectCreate' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/UserRoleObject' description: '' /api/v2/projects/: get: operationId: projects_list description: Retrieve list of user projects. parameters: - in: query name: additional_permission schema: type: string enum: - basespace_biosamples_import - project_samples_add description: Additional permission - in: query name: hidden_status schema: type: string enum: - all - hidden - visible description: Filter projects by their hidden status - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - in: query name: locked schema: type: boolean description: Filter projects by locked status - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer - name: search required: false in: query description: A search term. schema: type: string - in: query name: shared schema: type: boolean description: Filter projects by shared status - in: query name: sort_by schema: type: string enum: - created - modified - name - pipeline_capabilities - sample_count 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 - completed - running description: Filter projects by sample statuses tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectList' description: '' post: operationId: projects_create description: Create project tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/Project' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Project' multipart/form-data: schema: $ref: '#/components/schemas/Project' required: true security: - JWT: [] - API key: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/Project' description: '' /api/v2/projects-delete/: delete: operationId: projects_delete_destroy tags: - project security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/projects-hide/: post: operationId: projects_hide_create tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectHideUnhide' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectHideUnhide' multipart/form-data: schema: $ref: '#/components/schemas/ProjectHideUnhide' required: true security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/projects-unhide/: post: operationId: projects_unhide_create tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectHideUnhide' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectHideUnhide' multipart/form-data: schema: $ref: '#/components/schemas/ProjectHideUnhide' required: true security: - JWT: [] - API key: [] responses: '204': description: No response body /api/v2/projects/{project_id}: get: operationId: projects_retrieve description: Fetch single project details parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProjectDetail' description: '' patch: operationId: projects_partial_update description: Update single project details parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - project requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedProject' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedProject' multipart/form-data: schema: $ref: '#/components/schemas/PatchedProject' security: - JWT: [] - API key: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Project' description: '' components: schemas: ProjectHideUnhide: type: object description: Serializer for hiding or unhiding a list of projects properties: project_ids: type: array items: type: string format: uuid description: List of project IDs required: - project_ids BatchType: type: object properties: key: type: string description: Key from pipeline config maxLength: 254 description: type: string required: - key ExistingSample: type: object properties: client_id: type: string sample_id: type: string format: uuid required: - sample_id BatchDetail: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 254 batch_type: type: string description: Key from pipeline config readOnly: true sample_ids: type: array items: type: string format: uuid last_status: allOf: - $ref: '#/components/schemas/BatchStatusNested' readOnly: true files: type: array items: $ref: '#/components/schemas/BatchFileNested' readOnly: true description: Batch files required: - batch_type - files - id - last_status - sample_ids ProjectSamplesImport: type: object properties: project_id: type: string format: uuid samples: type: array items: $ref: '#/components/schemas/ExistingSample' metadata: {} required: - project_id - samples FastqsNestedCreate: type: object description: 'Serialized multiple uploads.models.Uploads objects with r1 and r2 names hardcoded.' properties: r1: $ref: '#/components/schemas/UploadNestedCreate' r2: allOf: - $ref: '#/components/schemas/UploadNestedCreate' nullable: true required: - r1 PaginatedBatchTypeList: 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/BatchType' PaginatedOrganizationUserList: 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/OrganizationUser' ProjectShare: type: object properties: id: type: string format: uuid readOnly: true project: type: string format: uuid shared_with_org: type: string readOnly: true shared_with_org_name: type: string readOnly: true shared_with_user_emails: type: array items: type: string format: email writeOnly: true shared_with_user_email: type: string format: email readOnly: true shared_by_user_email: type: string readOnly: true share_level: $ref: '#/components/schemas/ShareLevelEnum' last_status: allOf: - $ref: '#/components/schemas/ProjectShareStatus' readOnly: true required: - id - last_status - project - share_level - shared_by_user_email - shared_with_org - shared_with_org_name - shared_with_user_email - shared_with_user_emails PaginatedProjectList: 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/Project' SampleRestore: type: object description: 'Serializer for restoring samples from archived state. Initially samples are set as `restore_requested` and a celery task is kicked off that starts restore process by kicking off an S3 batch job and marking samples as `restore_accepted`. `restore_started` is set when S3 notification is sent on `s3:ObjectRestore:Post` event. Samples are marked as `restored` in a separate celery task once the info gets passed down by an `s3:ObjectRestore:Completed` S3 event.' properties: sample_ids: type: array items: type: string format: uuid writeOnly: true description: List of sample IDs or if empty all archived samples will be used restore_group_id: type: string format: uuid readOnly: true created: type: string format: date-time readOnly: true required: - created - restore_group_id - sample_ids PaginatedProjectShareList: 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/ProjectShare' 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' JobStatusNested: 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 SampleCounts: type: object properties: total_samples: type: integer running_samples: type: integer scheduled_samples: type: integer succeeded_samples: type: integer failed_samples: type: integer kit_processing_samples: type: integer description: Only available for organizations that support kit delivery and processing. required: - failed_samples - kit_processing_samples - running_samples - scheduled_samples - succeeded_samples - total_samples 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 PaginatedProjectSubscriptionNotificationList: 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/ProjectSubscriptionNotification' PaginatedQualityControlTypeList: 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/QualityControlType' UploadNestedCreate: type: object description: Used for adding samples using sample sheet to a project. properties: upload: type: string format: uuid required: - upload BatchCreate: type: object properties: name: type: string batch_type: type: string sample_ids: type: array items: type: string format: uuid description: List of sample IDs or if empty all available samples will be used required: - batch_type - name - sample_ids ProjectUsers: type: object properties: id: type: string format: uuid readOnly: true email: type: string format: email readOnly: true title: Email address is_active: type: boolean title: Active description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts. name: type: string maxLength: 254 roles: type: object additionalProperties: $ref: '#/components/schemas/UserRoleObject' readOnly: true description: Roles for the project in the organization. is_support: type: boolean readOnly: true title: Support description: Designates whether this user should be treated as a support. required: - email - id - is_support - roles SubscriptionTest: type: object description: Used to accept requests to test subscriptions. properties: event_type: nullable: true oneOf: - $ref: '#/components/schemas/EventTypeEnum' - $ref: '#/components/schemas/NullEnum' retry: type: boolean default: false BatchStatusNested: type: object properties: id: type: string format: uuid readOnly: true status: type: string created: type: string format: date-time required: - id - status EventTypeEnum: enum: - analysis_complete_v2 - batch_final_report_complete_v2 - samples_restored - analysis_complete - batch_final_report - explorer_s3_hot_storage_exceeded - explorer_s3_cold_storage_exceeded type: string description: '* `analysis_complete_v2` - submitted project samples have completed analysis * `batch_final_report_complete_v2` - created subset of variants batch * `samples_restored` - samples are restored from archive * `analysis_complete` - legacy: submitted project samples have completed analysis - uses old event format * `batch_final_report` - legacy: created subset of variants batch - uses old event format * `explorer_s3_hot_storage_exceeded` - Explorer S3 hot storage threshold exceeded * `explorer_s3_cold_storage_exceeded` - Explorer S3 cold storage threshold exceeded' PaginatedProjectSubscriptionList: 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/ProjectSubscription' BatchList: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 254 batch_type: type: string description: Key from pipeline config readOnly: true last_status: allOf: - $ref: '#/components/schemas/BatchStatusNested' readOnly: true files: type: array items: $ref: '#/components/schemas/BatchFileNested' readOnly: true description: Batch files required: - batch_type - files - id - last_status 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 PaginatedBatchListList: 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/BatchList' SampleManifestUpload: type: object properties: sample_manifest: type: string format: uri writeOnly: true required: - sample_manifest Project: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 254 description: type: string created: type: string format: date-time readOnly: true modified: type: string readOnly: true description: Sample's last non-internal status that was added. hidden: type: boolean readOnly: true description: Flag to hide the project. organization: type: string format: uuid readOnly: true organization_name: type: string readOnly: true description: Organization name sample_count: type: string readOnly: true hidden_sample_count: type: string readOnly: true pipeline_capabilities: type: string format: uuid description: Versioned pipeline capabilities project_modifications: description: Allows for pipeline modifications e.g. disabling QC roles: type: string readOnly: true description: Roles for the project in the organization. webhook_url: type: string readOnly: true description: 'Legacy: this field is not used anymore, it is present in the response for the sake of backwards compatility with clients.' is_shared: type: boolean description: Return whether the project is shared with other organizations readOnly: true locked: type: boolean readOnly: true description: Flag to set the project to locked mode. required: - created - hidden - hidden_sample_count - id - is_shared - locked - modified - name - organization - organization_name - pipeline_capabilities - roles - sample_count - webhook_url ProjectQualityControlHistogram: type: object properties: bin_edges: type: array items: type: number format: double hist: type: array items: type: number format: double required: - bin_edges - hist ProjectSubscription: type: object description: Subscription serializer where the scope is a project. properties: id: type: string format: uuid readOnly: true name: type: string description: User identifiable name, if left empty default name with a timestamp is used maxLength: 255 project: type: string format: uuid readOnly: true target: type: string description: URL if webhook, e-mail address if email maxLength: 255 protocol: allOf: - $ref: '#/components/schemas/ProtocolEnum' description: 'How is the notification delivered * `webhook` - webhook * `email` - email' readOnly: true event_types: type: array items: {} readOnly: true description: event types which will be delivered for current subscription has_secret: type: boolean description: Is webhook secret set required: - event_types - has_secret - id - project - protocol - target PatchedProject: type: object properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 254 description: type: string created: type: string format: date-time readOnly: true modified: type: string readOnly: true description: Sample's last non-internal status that was added. hidden: type: boolean readOnly: true description: Flag to hide the project. organization: type: string format: uuid readOnly: true organization_name: type: string readOnly: true description: Organization name sample_count: type: string readOnly: true hidden_sample_count: type: string readOnly: true pipeline_capabilities: type: string format: uuid description: Versioned pipeline capabilities project_modifications: description: Allows for pipeline modifications e.g. disabling QC roles: type: string readOnly: true description: Roles for the project in the organization. webhook_url: type: string readOnly: true description: 'Legacy: this field is not used anymore, it is present in the response for the sake of backwards compatility with clients.' is_shared: type: boolean description: Return whether the project is shared with other organizations readOnly: true locked: type: boolean readOnly: true description: Flag to set the project to locked mode. ProjectDetail: type: object description: Only used when retrieving a single Project. properties: id: type: string format: uuid readOnly: true name: type: string maxLength: 254 description: type: string created: type: string format: date-time modified: type: string readOnly: true description: Sample's last non-internal status that was added. hidden: type: boolean description: Flag to hide the project. organization: type: string format: uuid organization_name: type: string readOnly: true description: Organization name sample_count: type: string readOnly: true hidden_sample_count: type: string readOnly: true pipeline_capabilities: type: string format: uuid description: Versioned pipeline capabilities project_modifications: description: Allows for pipeline modifications e.g. disabling QC roles: type: string readOnly: true description: Roles for the project in the organization. webhook_url: type: string readOnly: true description: 'Legacy: this field is not used anymore, it is present in the response for the sake of backwards compatility with clients.' is_shared: type: boolean description: Return whether the project is shared with other organizations readOnly: true locked: type: boolean description: Flag to set the project to locked mode. files: type: array items: $ref: '#/components/schemas/ProjectFileNested' readOnly: true description: Project files required: - files - hidden_sample_count - id - is_shared - modified - name - organization - organization_name - pipeline_capabilities - roles - sample_count - webhook_url UserRoleObjectCreate: type: object properties: user: type: string format: uuid role: type: string maxLength: 255 required: - role - user ProjectShareStatusStatusEnum: enum: - shared - exited - revoked type: string description: '* `shared` - shared * `exited` - exited * `revoked` - revoked' ProtocolEnum: enum: - webhook - email type: string description: '* `webhook` - webhook * `email` - email' ProjectStats: type: object properties: counts: $ref: '#/components/schemas/SampleCounts' total_size: type: integer failed_counts: type: object additionalProperties: {} failed_qc_counts: type: object additionalProperties: {} required: - counts - failed_counts - failed_qc_counts - total_size ProjectShareExit: type: object description: Serializer for exiting multiple project shares properties: project_ids: type: array items: type: string format: uuid description: List of project IDs to exit required: - project_ids ProjectMergeVCFsJob: type: object properties: id: type: string format: uuid readOnly: true created: type: string format: date-time user: type: string format: uuid last_status: allOf: - $ref: '#/components/schemas/JobStatusNested' readOnly: true up_to_date: type: boolean readOnly: true default: false required: - id - last_status - up_to_date - user SampleSheetCreate: type: object description: 'Adds samples with their uploads to the project. Samples are being created in `create` method of this serializer. They don''t exist as objects in db before that.' properties: client_id: type: string fastq: $ref: '#/components/schemas/FastqsNestedCreate' sample: type: string format: uuid readOnly: true required: - client_id - fastq - sample EventType: type: object description: Serializing event types using EventType choices options. properties: key: type: string description: type: string required: - description - key SampleHideUnhide: type: object description: Serializer for hiding or unhidden a list of samples properties: sample_ids: type: array items: type: string format: uuid description: List of sample IDs required: - sample_ids 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 ExtendedSampleSheetCreate: type: object description: 'Adds samples with their uploads to the project and attaches same metadata to all of them.' properties: uploads: type: array items: $ref: '#/components/schemas/SampleSheetCreate' metadata: nullable: true required: - uploads ProjectSubscriptionNotification: type: object properties: id: type: string format: uuid readOnly: true created: type: string format: date-time response_status: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true notification_event_type: type: string readOnly: true description: notification event type required: - id - notification_event_type OrganizationUser: type: object properties: id: type: string format: uuid readOnly: true email: type: string format: email readOnly: true title: Email address is_active: type: boolean title: Active description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts. has_mfa_device: type: boolean readOnly: true name: type: string maxLength: 254 roles: type: object additionalProperties: $ref: '#/components/schemas/UserRoleObject' readOnly: true description: Roles in the organization. is_support: type: boolean readOnly: true title: Support description: Designates whether this user should be treated as a support. required: - email - has_mfa_device - id - is_support - roles PaginatedProjectUsersList: 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/ProjectUsers' SubscriptionSecret: type: object description: 'Serialize secret of a subscription. Used only for returning the secret, not reading it because the secret is safely encypted in the db.' properties: secret: type: string maxLength: 32 required: - secret SubscriptionCreate: type: object description: Generic Subscription serializer without scope object. properties: id: type: string format: uuid readOnly: true name: type: string target: type: string description: URL if webhook, e-mail address if email maxLength: 255 event_types: type: array items: $ref: '#/components/schemas/EventTypesEnum' required: - event_types - id - target ProjectShareStatus: type: object properties: id: type: string format: uuid readOnly: true status: $ref: '#/components/schemas/ProjectShareStatusStatusEnum' note: type: string nullable: true maxLength: 512 created: type: string format: date-time required: - id NullEnum: enum: - null EventTypesEnum: enum: - analysis_complete_v2 - batch_final_report_complete_v2 - samples_restored - analysis_complete - batch_final_report - explorer_s3_hot_storage_exceeded - explorer_s3_cold_storage_exceeded type: string description: '* `analysis_complete_v2` - submitted project samples have completed analysis * `batch_final_report_complete_v2` - created subset of variants batch * `samples_restored` - samples are restored from archive * `analysis_complete` - legacy: submitted project samples have completed analysis - uses old event format * `batch_final_report` - legacy: created subset of variants batch - uses old event format * `explorer_s3_hot_storage_exceeded` - Explorer S3 hot storage threshold exceeded * `explorer_s3_cold_storage_exceeded` - Explorer S3 cold storage threshold exceeded' ShareLevelEnum: enum: - viewer - analyst type: string description: '* `viewer` - viewer * `analyst` - analyst' BatchFileNested: type: object description: Sets batch.id as filename in file download_url. 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 UserRoleObject: type: object properties: id: type: string format: uuid readOnly: true name: type: string required: - id - name ProjectFileNested: type: object description: Used for all nested files except for files associated with sample. 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 ProjectCancelSamples: type: object description: Serializer for canceling samples submitted to a project. properties: sample_ids: type: array items: type: string format: uuid maxItems: 20 required: - sample_ids PaginatedEventTypeList: 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/EventType' ProjectShareRevoke: type: object properties: id: type: string format: uuid required: - id 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