One Codex Assemblies API

The Assemblies API from One Codex — 3 operation(s) for assemblies.

OpenAPI Specification

one-codex-assemblies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: The One Codex API (v1) -- programmatic access to One Codex's suite of microbial genomics data storage, analysis, and query tools.
  title: One Codex API (v1) Account Assemblies API
  version: v1
servers:
- url: https://app.onecodex.com
security:
- apiKeyAuth: []
tags:
- name: Assemblies
paths:
  /api/v1/assemblies:
    get:
      operationId: get_assemblies_instances
      parameters:
      - description: Page number. Defaults to 1. See Pagination for more details.
        in: query
        name: page
        required: false
        schema:
          default: 1
          format: int32
          type: integer
      - description: Number of requested paginated records. Defaults to 50. See Pagination for more details.
        in: query
        name: per_page
        required: false
        schema:
          default: 50
          format: int32
          type: integer
      - description: 'Optional Mongo-style JSON sort clause, e.g., `sort={"created_at": true}` to sort by created_at (descending)'
        in: query
        name: sort
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: null
      - description: 'Optional Mongo-style JSON filter clause, e.g., `where={"$uri": {"$eq": "/api/v1/samples/0ee172af60e84f61"}}`'
        in: query
        name: where
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: null
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  properties:
                    $uri:
                      example: /api/v1/assemblies/0d77065796f8d173
                      pattern: ^/api/v1/assemblies/[a-f0-9]{16}$
                      readOnly: true
                      title: $Uri
                      type: string
                    created_at:
                      description: Timestamp for when the object was created on the One Codex platform, encoded as a [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp.
                      format: date-time
                      title: Created At
                      type: string
                    filename:
                      anyOf:
                      - type: string
                      - type: 'null'
                      title: Filename
                    genome:
                      anyOf:
                      - properties:
                          $ref:
                            example: /api/v1/genomes/a1b2c3d4e5f67890
                            format: uri
                            pattern: ^/api/v1/genomes/[a-f0-9]{16}$
                            type: string
                        type: object
                      - type: 'null'
                    input_samples:
                      anyOf:
                      - items:
                          properties:
                            $ref:
                              example: /api/v1/samples/a1b2c3d4e5f67890
                              format: uri
                              pattern: ^/api/v1/samples/[a-f0-9]{16}$
                              type: string
                          title: samples
                          type: object
                        type: array
                      - type: 'null'
                      title: Input Samples
                    job:
                      anyOf:
                      - properties:
                          $ref:
                            example: /api/v1/jobs/a1b2c3d4e5f67890
                            format: uri
                            pattern: ^/api/v1/jobs/[a-f0-9]{16}$
                            type: string
                        title: jobs
                        type: object
                      - type: 'null'
                      title: Job
                    owner:
                      properties:
                        $ref:
                          example: /api/v1/users/a1b2c3d4e5f67890
                          format: uri
                          pattern: ^/api/v1/users/[a-f0-9]{16}$
                          type: string
                      title: users
                      type: object
                    primary_annotation_set:
                      anyOf:
                      - properties:
                          $ref:
                            example: /api/v1/annotation_sets/a1b2c3d4e5f67890
                            format: uri
                            pattern: ^/api/v1/annotation_sets/[a-f0-9]{16}$
                            type: string
                        type: object
                      - type: 'null'
                    size:
                      anyOf:
                      - type: integer
                      - type: 'null'
                      title: Size
                    visibility:
                      description: 'Enum for the v1 API `visibility` attribute.


                        Note: this is legacy and only exists for backwards-compatibility in the public v1 API.'
                      enum:
                      - public
                      - shared
                      - private
                      - importing
                      - awaiting data
                      title: ApiV1Visibility
                      type: string
                  required:
                  - $uri
                  - created_at
                  - filename
                  - genome
                  - input_samples
                  - job
                  - owner
                  - primary_annotation_set
                  - size
                  - visibility
                  title: assemblies
                  type: object
                type: array
          description: OK
      summary: GET assemblies instances
      tags:
      - Assemblies
  /api/v1/assemblies/{id}:
    get:
      operationId: get_assemblies_self
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  $uri:
                    example: /api/v1/assemblies/0d77065796f8d173
                    pattern: ^/api/v1/assemblies/[a-f0-9]{16}$
                    readOnly: true
                    title: $Uri
                    type: string
                  created_at:
                    description: Timestamp for when the object was created on the One Codex platform, encoded as a [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp.
                    format: date-time
                    title: Created At
                    type: string
                  filename:
                    anyOf:
                    - type: string
                    - type: 'null'
                    title: Filename
                  genome:
                    anyOf:
                    - properties:
                        $ref:
                          example: /api/v1/genomes/a1b2c3d4e5f67890
                          format: uri
                          pattern: ^/api/v1/genomes/[a-f0-9]{16}$
                          type: string
                      type: object
                    - type: 'null'
                  input_samples:
                    anyOf:
                    - items:
                        properties:
                          $ref:
                            example: /api/v1/samples/a1b2c3d4e5f67890
                            format: uri
                            pattern: ^/api/v1/samples/[a-f0-9]{16}$
                            type: string
                        title: samples
                        type: object
                      type: array
                    - type: 'null'
                    title: Input Samples
                  job:
                    anyOf:
                    - properties:
                        $ref:
                          example: /api/v1/jobs/a1b2c3d4e5f67890
                          format: uri
                          pattern: ^/api/v1/jobs/[a-f0-9]{16}$
                          type: string
                      title: jobs
                      type: object
                    - type: 'null'
                    title: Job
                  owner:
                    properties:
                      $ref:
                        example: /api/v1/users/a1b2c3d4e5f67890
                        format: uri
                        pattern: ^/api/v1/users/[a-f0-9]{16}$
                        type: string
                    title: users
                    type: object
                  primary_annotation_set:
                    anyOf:
                    - properties:
                        $ref:
                          example: /api/v1/annotation_sets/a1b2c3d4e5f67890
                          format: uri
                          pattern: ^/api/v1/annotation_sets/[a-f0-9]{16}$
                          type: string
                      type: object
                    - type: 'null'
                  size:
                    anyOf:
                    - type: integer
                    - type: 'null'
                    title: Size
                  visibility:
                    description: 'Enum for the v1 API `visibility` attribute.


                      Note: this is legacy and only exists for backwards-compatibility in the public v1 API.'
                    enum:
                    - public
                    - shared
                    - private
                    - importing
                    - awaiting data
                    title: ApiV1Visibility
                    type: string
                required:
                - $uri
                - created_at
                - filename
                - genome
                - input_samples
                - job
                - owner
                - primary_annotation_set
                - size
                - visibility
                title: assemblies
                type: object
          description: OK
      summary: GET assemblies
      tags:
      - Assemblies
  /api/v1/assemblies/{id}/download_uri:
    post:
      operationId: post_assemblies_download_uri
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                original_format:
                  default: false
                  title: Original Format
                  type: boolean
              title: AssemblyDownloadUriRequestSchema
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  download_uri:
                    title: Download Uri
                    type: string
                  expires_in_hours:
                    title: Expires In Hours
                    type: integer
                  save_as_filename:
                    title: Save As Filename
                    type: string
                required:
                - download_uri
                - expires_in_hours
                - save_as_filename
                title: AssemblyDownloadUriSchema
                type: object
          description: OK
      summary: POST assemblies download_uri
      tags:
      - Assemblies
components:
  securitySchemes:
    apiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey