Gencove array API

The array API from Gencove — 1 operation(s) for array.

OpenAPI Specification

gencove-array-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Gencove Back array 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: array
paths:
  /api/v2/array-data-upload-form/:
    post:
      operationId: array_data_upload_form_create
      description: 'Create a temporary consumer-data upload session.


        Auth-gated to ``consumer_provider`` orgs (``org.consumer_mode_enabled``)

        and requires the ``upload_create`` role. Each call creates a

        ``samples.Sample`` in the org''s consumer-array-data project and returns a

        tokenized URL that the partner hands off to one of their end users.'
      tags:
      - array
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArrayDataUploadFormCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ArrayDataUploadFormCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ArrayDataUploadFormCreate'
      security:
      - JWT: []
      - API key: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayDataUploadFormResponse'
          description: ''
components:
  schemas:
    ArrayDataUploadFormCreate:
      type: object
      description: Request body for ``POST /api/v2/array-data-upload-form``.
      properties:
        project_id:
          type: string
          format: uuid
          nullable: true
          description: Optional UUID of the project the uploaded sample should land in. When omitted, the sample falls back to the organization's consumer array-data project.
        metadata:
          description: Free-form JSON object.
        redirect_on_success:
          type: string
          format: uri
          default: ''
          description: URL the end-user is redirected to after a successful upload.
        redirect_on_failure:
          type: string
          format: uri
          default: ''
          description: URL the end-user is redirected to after a failed upload.
        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.
    ArrayDataUploadFormResponse:
      type: object
      description: Response body for ``POST /api/v2/array-data-upload-form``.
      properties:
        sample_id:
          type: string
          format: uuid
          description: UUID of the ``samples.Sample`` created for this upload session.
        url:
          type: string
          format: uri
          description: Tokenized upload 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
  securitySchemes:
    API key:
      type: apiKey
      description: 'Authorization header content formated as: `Api-Key <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 <json-web-token>`

        You can obtain access token using `jwt-create` endpoint.'
      in: header
      name: Authorization