Gencove s3 API

The s3 API from Gencove — 5 operation(s) for s3.

OpenAPI Specification

gencove-s3-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Gencove Back array s3 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: s3
paths:
  /api/v2/s3-external-id/:
    get:
      operationId: s3_external_id_retrieve
      description: Retrieve and store S3 external ID for User.
      tags:
      - s3
      security:
      - JWT: []
      - API key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3ExternalID'
          description: ''
    post:
      operationId: s3_external_id_create
      description: Retrieve and store S3 external ID for User.
      tags:
      - s3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3ExternalID'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/S3ExternalID'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/S3ExternalID'
      security:
      - JWT: []
      - API key: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3ExternalID'
          description: ''
  /api/v2/s3-role/:
    get:
      operationId: s3_role_retrieve
      description: Retrieve and store S3 role for User.
      tags:
      - s3
      security:
      - JWT: []
      - API key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3Role'
          description: ''
    post:
      operationId: s3_role_create
      description: Retrieve and store S3 role for User.
      tags:
      - s3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3Role'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/S3Role'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/S3Role'
        required: true
      security:
      - JWT: []
      - API key: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3Role'
          description: ''
    delete:
      operationId: s3_role_destroy
      description: Retrieve and store S3 role for User.
      tags:
      - s3
      security:
      - JWT: []
      - API key: []
      responses:
        '204':
          description: No response body
  /api/v2/s3-uri-autoimport/:
    get:
      operationId: s3_uri_autoimport_list
      description: Import samples from s3 uri automatically.
      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:
      - s3
      security:
      - JWT: []
      - API key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedS3URIAutoimportList'
          description: ''
    post:
      operationId: s3_uri_autoimport_create
      description: Creates new autoimport job, if the job already exists updates metadata.
      tags:
      - s3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3URIAutoimport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/S3URIAutoimport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/S3URIAutoimport'
        required: true
      security:
      - JWT: []
      - API key: []
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3ProjectsAutoimportCreate'
          description: ''
  /api/v2/s3-uri-autoimport/{s3_uri_import_id}:
    delete:
      operationId: s3_uri_autoimport_destroy
      description: Import samples from s3 uri automatically.
      parameters:
      - in: path
        name: s3_uri_import_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - s3
      security:
      - JWT: []
      - API key: []
      responses:
        '204':
          description: No response body
  /api/v2/s3-uri-import/:
    post:
      operationId: s3_uri_import_create
      description: Import samples from s3 uri.
      tags:
      - s3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3URIImport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/S3URIImport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/S3URIImport'
        required: true
      security:
      - JWT: []
      - API key: []
      responses:
        '202':
          description: No response body
components:
  schemas:
    InputFormatEnum:
      enum:
      - cram
      - fastq
      - autodetect
      type: string
      description: '* `cram` - cram

        * `fastq` - fastq

        * `autodetect` - autodetect'
    S3Role:
      type: object
      description: Role ARN for S3 imports serializer.
      properties:
        role_arn:
          type: string
          maxLength: 2048
          minLength: 20
      required:
      - role_arn
    PaginatedS3URIAutoimportList:
      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/S3URIAutoimport'
    S3ProjectsAutoimportCreate:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        topic_arn:
          type: string
          description: SNS Topic where events of added samples will be received.
          maxLength: 768
      required:
      - id
    S3ExternalID:
      type: object
      description: External ID for S3 imports serializer.
      properties:
        external_id:
          type: string
          format: uuid
          readOnly: true
      required:
      - external_id
    S3URIAutoimport:
      type: object
      description: S3 URI auto import serializer.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        project_id:
          type: string
          format: uuid
        s3_uri:
          type: string
          maxLength: 734
        metadata:
          nullable: true
      required:
      - id
      - project_id
      - s3_uri
    S3URIImport:
      type: object
      description: S3 URI import serializer.
      properties:
        s3_uri:
          type: string
          maxLength: 734
        project_id:
          type: string
          format: uuid
        metadata:
          nullable: true
        input_format:
          allOf:
          - $ref: '#/components/schemas/InputFormatEnum'
          default: autodetect
      required:
      - project_id
      - s3_uri
  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