One Codex Controls API
The Controls API from One Codex — 9 operation(s) for controls.
The Controls API from One Codex — 9 operation(s) for controls.
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 Controls API
version: v1
servers:
- url: https://app.onecodex.com
security:
- apiKeyAuth: []
tags:
- name: Controls
paths:
/api/v1/controls:
get:
operationId: get_controls_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:
$ref: '#/components/schemas/controls'
type: array
description: OK
summary: GET controls instances
tags:
- Controls
/api/v1/controls/public:
get:
operationId: get_controls_instances_public
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:
$ref: '#/components/schemas/controls'
type: array
description: OK
summary: GET controls instances_public
tags:
- Controls
/api/v1/controls/{id}:
get:
operationId: get_controls_self
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/controls'
description: OK
summary: GET controls
tags:
- Controls
/api/v1/controls/{id}/cancel:
post:
operationId: post_controls_cancel
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/controls'
description: OK
summary: POST controls cancel
tags:
- Controls
/api/v1/controls/{id}/file_details:
get:
operationId: get_controls_file_details
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
files:
description: A list of output files.
items:
properties:
filename:
description: The filename of the output file.
title: Filename
type: string
filepath:
description: The full file path.
title: Filepath
type: string
size:
description: File size in bytes.
minimum: 0
title: Size
type: integer
url:
description: Pre-signed download URL.
title: Url
type: string
required:
- filename
- filepath
- size
- url
title: AnalysisFileDetailsSchema
type: object
title: Files
type: array
required:
- files
title: AnalysisFileDetailsResponse
type: object
description: OK
summary: GET controls file_details
tags:
- Controls
/api/v1/controls/{id}/files:
delete:
operationId: delete_controls_files
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: No Content
summary: DELETE controls files
tags:
- Controls
get:
operationId: get_controls_files
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
description: A mapping of filenames to download URLs.
type: object
description: OK
summary: GET controls files
tags:
- Controls
/api/v1/controls/{id}/logs:
get:
operationId: get_controls_logs
parameters:
- in: path
name: id
required: true
schema:
type: string
- in: query
name: tail
required: false
schema:
anyOf:
- minimum: 1
type: integer
- type: 'null'
default: null
responses:
'200':
description: OK
summary: GET controls logs
tags:
- Controls
/api/v1/controls/{id}/rerun:
post:
operationId: post_controls_rerun
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/controls'
description: OK
summary: POST controls rerun
tags:
- Controls
/api/v1/controls/{id}/results:
get:
operationId: get_controls_results
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
analysis_type:
title: Analysis Type
type: string
control_job:
title: Control Job
type: string
false_positive_orgs:
title: False Positive Orgs
filename:
title: Filename
type: string
metrics:
title: Metrics
product_code:
title: Product Code
type: string
true_positive_orgs:
title: True Positive Orgs
required:
- analysis_type
- control_job
- false_positive_orgs
- filename
- metrics
- product_code
- true_positive_orgs
title: ControlResultsResponse
type: object
description: OK
summary: GET controls results
tags:
- Controls
components:
schemas:
controls:
properties:
$uri:
example: /api/v1/controls/0d77065796f8d173
pattern: ^/api/v1/controls/[a-f0-9]{16}$
readOnly: true
title: $Uri
type: string
complete:
default: false
title: Complete
type: boolean
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
error_msg:
anyOf:
- maxLength: 255
type: string
- type: 'null'
default: null
description: The error message from the analysis, if it failed.
title: Error Msg
job:
description: 'A reference to the versioned job underlying the analysis, e.g., `{"$ref": "/api/v1/jobs/d512cb556241440f"}`.'
properties:
$ref:
example: /api/v1/jobs/a1b2c3d4e5f67890
format: uri
pattern: ^/api/v1/jobs/[a-f0-9]{16}$
type: string
title: jobs
type: object
job_args:
additionalProperties: true
default: {}
description: The arguments passed into this analysis (can be `null`).
title: Job Args
type: object
sample:
description: 'A reference to the sample underlying the analysis, e.g., `{"$ref": "/api/v1/sample/0ee172af60e84f61"}`.'
properties:
$ref:
example: /api/v1/samples/a1b2c3d4e5f67890
format: uri
pattern: ^/api/v1/samples/[a-f0-9]{16}$
type: string
title: samples
type: object
success:
default: false
title: Success
type: boolean
updated_at:
anyOf:
- format: date-time
type: string
- type: 'null'
default: null
description: Timestamp for when the object was last updated on the One Codex platform, encoded as a [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp.
title: Updated At
required:
- $uri
- created_at
- job
- sample
title: controls
type: object
securitySchemes:
apiKeyAuth:
in: header
name: X-API-Key
type: apiKey