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