Gencove project API

The project API from Gencove — 34 operation(s) for project.

OpenAPI Specification

gencove-project-api-openapi.yml Raw ↑
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 <a href='https://enterprise.gencove.com/'>enterprise.gencove.com</a> and <a href='https://docs.gencove.com/'>docs.gencove.com</a> for more information. <br><hr><p>To work with Insomnia, you can generate a Gencove API key by <a target='_blank' href='https://web.gencove.com/account?filter=api-keys'>clicking here</a>. Once you have the API key and have imported the project in Insomnia as a <i>Request Collection</i>, enter the key in Insomnia under <i>Manage Environment</i>.</p><a href='https://insomnia.rest/run/?label=back_api2&uri=https%3A%2F%2Fv2-api-files-prod.s3.amazonaws.com%2Fpublic%2Finsomnia%2Finsomnia_gencove_prod.json' target='_blank'>Run in Insomnia</a><hr>
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_subsc

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gencove/refs/heads/main/openapi/gencove-project-api-openapi.yml