{ "components": { "schemas": { "account": { "properties": { "confirmed_at": { "format": "date-time", "title": "Confirmed At", "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" }, "email": { "title": "Email", "type": "string" }, "user": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" } }, "required": [ "confirmed_at", "created_at", "email", "user" ], "title": "account", "type": "object" }, "alignments": { "properties": { "$uri": { "example": "/api/v1/alignments/0d77065796f8d173", "pattern": "^/api/v1/alignments/[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": "alignments", "type": "object" }, "analyses": { "properties": { "$uri": { "example": "/api/v1/analyses/0d77065796f8d173", "pattern": "^/api/v1/analyses/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "analysis_type": { "enum": [ "classification", "panel", "alignment", "control", "report", "functional", "workflow", "mlst", "assembly_run" ], "title": "ExposedAnalysisType", "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", "analysis_type", "created_at", "job", "sample" ], "title": "analyses", "type": "object" }, "classifications": { "properties": { "$uri": { "example": "/api/v1/classifications/0d77065796f8d173", "pattern": "^/api/v1/classifications/[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" }, "results_uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "URI for direct download of results", "title": "Results Uri" }, "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", "results_uri", "sample" ], "title": "classifications", "type": "object" }, "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" }, "documents": { "properties": { "$uri": { "example": "/api/v1/documents/0d77065796f8d173", "pattern": "^/api/v1/documents/[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" }, "downloaders": { "description": "An (optionally empty) array of references to users that the document has been shared with. These users are able to download (but not modify) the document.", "items": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" }, "title": "Downloaders", "type": "array" }, "filename": { "description": "The document filename (e.g., \"report.pdf\")", "title": "Filename", "type": "string" }, "size": { "anyOf": [ { "minimum": 1, "type": "integer" }, { "type": "null" } ], "description": "The size of the document in bytes.", "title": "Size" }, "uploader": { "description": "A reference to the user that uploaded and owns the document, e.g., `{\"$ref\": \"/api/v1/users/5891ee65711c4d5e\"}`. Only owners can modify a document (with some exceptions in the case of organization accounts configured for multiple users - please [contact us](mailto:support@onecodex.com) if you'd like to discuss this use case).", "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" } }, "required": [ "$uri", "created_at", "downloaders", "filename", "size", "uploader" ], "title": "documents", "type": "object" }, "events": { "properties": { "$uri": { "example": "/api/v1/events/0d77065796f8d173", "pattern": "^/api/v1/events/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "payload": { "additionalProperties": true, "description": "The webhook payload.", "title": "Payload", "type": "object" }, "status": { "description": "The status of the webhook for the event.", "enum": [ "success", "failed", "pending", "retryable" ], "title": "Status", "type": "string" } }, "required": [ "$uri", "payload", "status" ], "title": "events", "type": "object" }, "functional_profiles": { "properties": { "$uri": { "example": "/api/v1/functional_profiles/0d77065796f8d173", "pattern": "^/api/v1/functional_profiles/[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": "functional_profiles", "type": "object" }, "jobs": { "properties": { "$uri": { "example": "/api/v1/jobs/0d77065796f8d173", "pattern": "^/api/v1/jobs/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "analysis_type": { "description": "The type of analysis. See [the analysis resource](/api/analysis-resource) for more details.", "title": "Analysis Type", "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" }, "job_args_schema": { "additionalProperties": true, "description": "The JSON schema for the arguments taken by the job (can be an empty object, i.e., `{}`).", "title": "Job Args Schema", "type": "object" }, "name": { "description": "The name of the job (this is displayed in the dropdown on the analysis page of the One Codex web application).", "title": "Name", "type": "string" }, "public": { "description": "Whether the job is publicly available. For most jobs this will be `true`. Custom, private jobs are also available, and will only be visible to users whose samples (or samples shared with them) have been analyzed using that job.", "title": "Public", "type": "boolean" } }, "required": [ "$uri", "analysis_type", "created_at", "job_args_schema", "name", "public" ], "title": "jobs", "type": "object" }, "metadata": { "properties": { "$uri": { "example": "/api/v1/metadata/0d77065796f8d173", "pattern": "^/api/v1/metadata/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "custom": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Arbitrary metadata is supported as part of a custom object. custom has two constraints: (1) it must have a depth of one (i.e., no nested records); and (2) only strings, numbers, boolean, and null values are supported as values. Example: `{\"lab_tech\": \"Linus Pauling\", \"amplicon_scheme\": \"V3-V4\"}`", "title": "Custom" }, "date_collected": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was collected.", "title": "Date Collected" }, "date_sequenced": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was sequenced.", "title": "Date Sequenced" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An arbitrary external sample ID, e.g., an ID in a LIMS. Up to 60 characters.", "example": "LIMS-2024-00123", "title": "External Sample Id" }, "library_type": { "anyOf": [ { "description": "Allowed types of SampleMetadata.library_type. Also used to populate\nform dropdown in the front-end", "enum": [ "WGS", "Targeted/16S", "Other" ], "title": "SequencingLibraryType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample library type." }, "location_lat": { "anyOf": [ { "maximum": 90.0, "minimum": -90.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "The latitude `(-90.0-90.0)` of the sample location. By convention, we recommend using this for the location in which the physical specimen was collected.", "title": "Location Lat" }, "location_lon": { "anyOf": [ { "maximum": 180, "minimum": -180, "type": "number" }, { "type": "null" } ], "default": null, "description": "The longitude `(-180.0-180.0)` of the sample location.", "title": "Location Lon" }, "location_string": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Location String" }, "name": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "platform": { "anyOf": [ { "description": "Allowed values of SampleMetadata.platform.", "enum": [ "454 sequencing", "454 GS FLX", "454 GS FLX Titanium", "Illumina", "Illumina Genome Analyzer II", "Illumina HiSeq", "Illumina HiSeq 1500", "Illumina HiSeq 2000", "Illumina HiSeq 2500", "Illumina HiSeq 3000", "Illumina HiSeq 4000", "Illumina HiSeq X", "Illumina iSeq 100", "Illumina MiniSeq", "Illumina MiSeq", "Illumina NextSeq", "Illumina NextSeq 500", "Illumina NextSeq 550", "Illumina NovaSeq", "Illumina NovaSeq 5000", "Illumina NovaSeq 6000", "BGISEQ", "BGISEQ 50", "Element", "Element AVITI", "Ion", "Ion S5", "Ion S5 XL", "Ion PGM", "Ion Proton", "Ion Torrent", "Oxford Nanopore", "Oxford Nanopore GridION X5", "Oxford Nanopore MinION", "Oxford Nanopore PromethION", "PacBio", "PacBio RS II", "PacBio Sequel", "PacBio Sequel II System", "PacBio Revio", "PacBio Onso", "SOLiD", "Solexa Genome Analyzer", "Sanger", "Other" ], "title": "SequencingPlatform", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the name of the sequencing platform." }, "sample": { "description": "The sample the metadata belongs to.", "properties": { "$ref": { "example": "/api/v1/samples/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/samples/[a-f0-9]{16}$", "type": "string" } }, "title": "samples", "type": "object" }, "sample_type": { "anyOf": [ { "description": "Allowed values for SampleMetadata.sample_type. Used to populate values in\nthe front-end dropdown", "enum": [ "Isolate", "Metagenomic", "Other" ], "title": "SequencingSampleType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample type." }, "starred": { "default": false, "description": "Whether the sample has been starred by the user within the One Codex web application.", "title": "Starred", "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", "sample" ], "title": "metadata", "type": "object" }, "mlsts": { "properties": { "$uri": { "example": "/api/v1/mlsts/0d77065796f8d173", "pattern": "^/api/v1/mlsts/[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": "mlsts", "type": "object" }, "panels": { "properties": { "$uri": { "example": "/api/v1/panels/0d77065796f8d173", "pattern": "^/api/v1/panels/[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": "panels", "type": "object" }, "projects": { "properties": { "$uri": { "example": "/api/v1/projects/0d77065796f8d173", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "external_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "example": "PRJ-2024-001", "title": "External Id" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "owner": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" }, "permissions": { "items": { "type": "string" }, "title": "Permissions", "type": "array" }, "project_name": { "anyOf": [ { "maxLength": 15, "minLength": 3, "pattern": "^[a-zA-Z0-9_-]{3,15}$", "type": "string" }, { "type": "null" } ], "title": "Project Name" }, "public": { "default": false, "title": "Public", "type": "boolean" } }, "required": [ "$uri", "owner", "permissions", "project_name" ], "title": "projects", "type": "object" }, "reports": { "properties": { "$uri": { "example": "/api/v1/reports/0d77065796f8d173", "pattern": "^/api/v1/reports/[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": "reports", "type": "object" }, "samples": { "properties": { "$uri": { "example": "/api/v1/samples/0d77065796f8d173", "pattern": "^/api/v1/samples/[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" }, "error_msg": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An error message if the sample failed to upload, import, or validate.", "title": "Error Msg" }, "filename": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The sample filename.", "title": "Filename" }, "metadata": { "description": "A metadata object.", "properties": { "$ref": { "example": "/api/v1/metadata/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/metadata/[a-f0-9]{16}$", "type": "string" } }, "title": "metadata", "type": "object" }, "owner": { "description": "The owner of the sample.", "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" }, "primary_classification": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/classifications/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/classifications/[a-f0-9]{16}$", "type": "string" } }, "title": "classifications", "type": "object" }, { "type": "null" } ], "description": "A reference to a Classification for the sample. This will typically be the [One Codex Database](https://docs.onecodex.com/en/articles/3761205-one-codex-database) or [Targeted Loci Database](https://docs.onecodex.com/en/articles/3754219-targeted-loci-database) results as appropriate. Note that samples will not have a `primary_classification` while they are still importing or being uploaded.", "title": "Primary Classification" }, "project": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/projects/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "type": "string" } }, "title": "projects", "type": "object" }, { "properties": { "$ref": { "example": "/api/v1/projects/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "type": "null" } ], "default": null, "description": "The project the sample belongs to (optional).", "title": "Project" }, "size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The size of the uploaded file in bytes.", "title": "Size" }, "status": { "description": "Enum for user-facing data status.\n\nThis is a subset of `DataStatus` for the `status` attribute in the APIs.", "enum": [ "awaiting_data", "importing", "validating", "failed_validation", "available", "deleted" ], "title": "UserFacingDataStatus", "type": "string" }, "tags": { "default": [], "description": "An (optionally empty) array of references to Tags describing the sample. Tags are an additional unstructured organizational tool that complement Projects and Metadata records.", "items": { "properties": { "$ref": { "example": "/api/v1/tags/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/tags/[a-f0-9]{16}$", "type": "string" } }, "title": "tags", "type": "object" }, "title": "Tags", "type": "array" }, "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" }, "visibility": { "description": "Enum for the v1 API `visibility` attribute.\n\nNote: 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", "metadata", "owner", "primary_classification", "status", "visibility" ], "title": "samples", "type": "object" }, "sequencing_batches": { "properties": { "$uri": { "example": "/api/v1/sequencing/batches/0d77065796f8d173", "pattern": "^/api/v1/sequencing/batches/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "batch_number": { "description": "A unique batch number.", "title": "Batch Number", "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" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A human-readable name for the sequencing batch.", "title": "Name" }, "owner": { "description": "The user that created the sequencing batch.", "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" }, "status": { "description": "The current status of the sequencing batch.", "enum": [ "registered", "shipped_to_lab", "received_at_lab", "extracting", "preparing_library", "sequencing", "quality_control", "done", "canceled" ], "title": "Status", "type": "string" } }, "required": [ "$uri", "batch_number", "created_at", "name", "owner", "status" ], "title": "sequencing/batches", "type": "object" }, "tags": { "properties": { "$uri": { "example": "/api/v1/tags/0d77065796f8d173", "pattern": "^/api/v1/tags/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "name": { "description": "The tag label or name. Name must be 30 characters or fewer.", "maxLength": 30, "title": "Name", "type": "string" } }, "required": [ "$uri", "name" ], "title": "tags", "type": "object" }, "users": { "properties": { "$uri": { "example": "/api/v1/users/0d77065796f8d173", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" } }, "required": [ "$uri", "email" ], "title": "users", "type": "object" }, "webhooks": { "properties": { "$uri": { "example": "/api/v1/webhooks/0d77065796f8d173", "pattern": "^/api/v1/webhooks/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "api_version": { "title": "Api Version", "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" }, "enabled": { "title": "Enabled", "type": "boolean" }, "event_type": { "title": "Event Type", "type": "string" }, "post_url": { "title": "Post Url", "type": "string" } }, "required": [ "$uri", "api_version", "created_at", "enabled", "event_type", "post_url" ], "title": "webhooks", "type": "object" }, "workflows": { "properties": { "$uri": { "example": "/api/v1/workflows/0d77065796f8d173", "pattern": "^/api/v1/workflows/[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": "workflows", "type": "object" } }, "securitySchemes": { "apiKeyAuth": { "in": "header", "name": "X-API-Key", "type": "apiKey" } } }, "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)", "version": "v1" }, "openapi": "3.1.0", "paths": { "/api/v1/account": { "get": { "operationId": "get_account_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": { "$ref": "#/components/schemas/account" } } }, "description": "OK" } }, "summary": "GET account instances" } }, "/api/v1/alignments": { "get": { "operationId": "get_alignments_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/alignments" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET alignments instances" } }, "/api/v1/alignments/public": { "get": { "operationId": "get_alignments_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/alignments" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET alignments instances_public" } }, "/api/v1/alignments/{id}": { "get": { "operationId": "get_alignments_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/alignments" } } }, "description": "OK" } }, "summary": "GET alignments" } }, "/api/v1/alignments/{id}/cancel": { "post": { "operationId": "post_alignments_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/alignments" } } }, "description": "OK" } }, "summary": "POST alignments cancel" } }, "/api/v1/alignments/{id}/file_details": { "get": { "operationId": "get_alignments_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 alignments file_details" } }, "/api/v1/alignments/{id}/files": { "delete": { "operationId": "delete_alignments_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE alignments files" }, "get": { "operationId": "get_alignments_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 alignments files" } }, "/api/v1/alignments/{id}/logs": { "get": { "operationId": "get_alignments_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 alignments logs" } }, "/api/v1/alignments/{id}/rerun": { "post": { "operationId": "post_alignments_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/alignments" } } }, "description": "OK" } }, "summary": "POST alignments rerun" } }, "/api/v1/alignments/{id}/results": { "get": { "operationId": "get_alignments_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "assembly_accession": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Assembly Accession" }, "assembly_id": { "title": "Assembly Id", "type": "string" }, "average_coverage": { "title": "Average Coverage", "type": "number" }, "average_identity": { "title": "Average Identity", "type": "number" }, "coverage": { "properties": { "binned_depths": { "items": { "properties": { "contig_id": { "title": "Contig Id", "type": "string" }, "depths": { "items": { "type": "integer" }, "title": "Depths", "type": "array" }, "length": { "minimum": 1, "title": "Length", "type": "integer" } }, "required": [ "contig_id", "depths", "length" ], "title": "_BinnedDepth", "type": "object" }, "title": "Binned Depths", "type": "array" }, "binned_window_width": { "title": "Binned Window Width", "type": "string" } }, "required": [ "binned_depths", "binned_window_width" ], "title": "_Coverage", "type": "object" }, "genome_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Genome Id" }, "genome_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Genome Name" }, "genome_taxon_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Genome Taxon Id" }, "genome_taxon_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Genome Taxon Name" }, "median_depth": { "title": "Median Depth", "type": "number" }, "n_mapped": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "N Mapped" }, "n_reads": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "N Reads" } }, "required": [ "assembly_id", "average_coverage", "average_identity", "coverage", "median_depth" ], "title": "AlignmentResultsResponse", "type": "object" } } }, "description": "OK" } }, "summary": "GET alignments results" } }, "/api/v1/analyses": { "get": { "operationId": "get_analyses_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/analyses" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET analyses instances" } }, "/api/v1/analyses/public": { "get": { "operationId": "get_analyses_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/analyses" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET analyses instances_public" } }, "/api/v1/analyses/{id}": { "get": { "operationId": "get_analyses_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyses" } } }, "description": "OK" } }, "summary": "GET analyses" } }, "/api/v1/analyses/{id}/cancel": { "post": { "operationId": "post_analyses_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyses" } } }, "description": "OK" } }, "summary": "POST analyses cancel" } }, "/api/v1/analyses/{id}/file_details": { "get": { "operationId": "get_analyses_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 analyses file_details" } }, "/api/v1/analyses/{id}/files": { "delete": { "operationId": "delete_analyses_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE analyses files" }, "get": { "operationId": "get_analyses_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 analyses files" } }, "/api/v1/analyses/{id}/logs": { "get": { "operationId": "get_analyses_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 analyses logs" } }, "/api/v1/analyses/{id}/rerun": { "post": { "operationId": "post_analyses_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyses" } } }, "description": "OK" } }, "summary": "POST analyses rerun" } }, "/api/v1/analyses/{id}/results": { "get": { "operationId": "get_analyses_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "description": "The results of the analysis.", "type": "object" } } }, "description": "OK" } }, "summary": "GET analyses results" } }, "/api/v1/annotation_sets": { "get": { "operationId": "get_annotation_sets_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/annotation_sets/0d77065796f8d173", "pattern": "^/api/v1/annotation_sets/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "assembly": { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, "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" }, "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" } }, "required": [ "$uri", "assembly", "created_at", "job" ], "title": "annotation_sets", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET annotation_sets instances" } }, "/api/v1/annotation_sets/{id}": { "get": { "operationId": "get_annotation_sets_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "$uri": { "example": "/api/v1/annotation_sets/0d77065796f8d173", "pattern": "^/api/v1/annotation_sets/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "assembly": { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, "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" }, "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" } }, "required": [ "$uri", "assembly", "created_at", "job" ], "title": "annotation_sets", "type": "object" } } }, "description": "OK" } }, "summary": "GET annotation_sets" } }, "/api/v1/annotation_sets/{id}/download_csv": { "post": { "operationId": "post_annotation_sets_download_csv", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "download_uri": { "title": "Download Uri", "type": "string" } }, "required": [ "download_uri" ], "title": "AnnotationSetDownloadCsvSchema", "type": "object" } } }, "description": "OK" } }, "summary": "POST annotation_sets download_csv" } }, "/api/v1/annotation_sets/{id}/download_uri": { "post": { "operationId": "post_annotation_sets_download_uri", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "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": "AnnotationSetDownloadUriSchema", "type": "object" } } }, "description": "OK" } }, "summary": "POST annotation_sets download_uri" } }, "/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.\n\nNote: 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" } }, "/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.\n\nNote: 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" } }, "/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" } }, "/api/v1/assets": { "get": { "operationId": "get_assets_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/assets/0d77065796f8d173", "pattern": "^/api/v1/assets/[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": { "description": "The asset filename.", "title": "Filename", "type": "string" }, "name": { "description": "A display name for the asset. Defaults to the filename if not provided at upload time.", "title": "Name", "type": "string" }, "size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The size of the uploaded file in bytes.", "title": "Size" }, "status": { "description": "The status of the asset. `importing` while the file is being copied to One Codex storage, `available` once the asset is ready to use, and `failed` if the import did not succeed.", "enum": [ "importing", "available", "failed" ], "title": "AssetStatus", "type": "string" }, "uploader": { "description": "A reference to the user that uploaded the asset. Assets are shared with all members of the uploader's organization, and may only be modified or deleted by organization editors, admins, or owners.", "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" } }, "required": [ "$uri", "created_at", "filename", "name", "status", "uploader" ], "title": "assets", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET assets instances" } }, "/api/v1/assets/confirm_multipart_upload": { "post": { "operationId": "post_assets_instances_confirm_multipart_upload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "filename": { "description": "The filename of the uploaded asset. Filenames should only contain alphanumeric characters, dashes, underscores, and periods.", "title": "Filename", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An optional display name for the asset. Defaults to `filename` if not provided.", "title": "Name" }, "s3_path": { "description": "The `s3://` URI where the multipart upload was completed (built from `s3_bucket` and `file_id` returned by `/assets/init_multipart_upload`).", "title": "S3 Path", "type": "string" } }, "required": [ "filename", "s3_path" ], "title": "AssetConfirmMultipartUploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "asset_id": { "description": "The asset ID of the newly created asset. The asset will be in the `importing` status until its contents have been copied to One Codex storage.", "title": "Asset Id", "type": "string" } }, "required": [ "asset_id" ], "title": "AssetConfirmMultipartUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST assets instances_confirm_multipart_upload" } }, "/api/v1/assets/init_multipart_upload": { "post": { "operationId": "post_assets_instances_init_multipart_upload", "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "callback_url": { "description": "The relative URL to POST to after the multipart upload completes in order to confirm the upload and create the asset.", "title": "Callback Url", "type": "string" }, "file_id": { "description": "A unique identifier for the multipart upload. Use as the object storage key prefix when uploading file parts.", "title": "File Id", "type": "string" }, "s3_bucket": { "description": "The object storage bucket to which file parts should be uploaded.", "title": "S3 Bucket", "type": "string" }, "upload_aws_access_key_id": { "description": "An AWS access key ID with permission to upload to `s3_bucket`.", "title": "Upload Aws Access Key Id", "type": "string" }, "upload_aws_secret_access_key": { "description": "The AWS secret access key paired with `upload_aws_access_key_id`.", "title": "Upload Aws Secret Access Key", "type": "string" } }, "required": [ "callback_url", "file_id", "s3_bucket", "upload_aws_access_key_id", "upload_aws_secret_access_key" ], "title": "AssetInitMultipartUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST assets instances_init_multipart_upload" } }, "/api/v1/assets/{id}": { "delete": { "operationId": "delete_assets_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE assets" }, "get": { "operationId": "get_assets_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "$uri": { "example": "/api/v1/assets/0d77065796f8d173", "pattern": "^/api/v1/assets/[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": { "description": "The asset filename.", "title": "Filename", "type": "string" }, "name": { "description": "A display name for the asset. Defaults to the filename if not provided at upload time.", "title": "Name", "type": "string" }, "size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The size of the uploaded file in bytes.", "title": "Size" }, "status": { "description": "The status of the asset. `importing` while the file is being copied to One Codex storage, `available` once the asset is ready to use, and `failed` if the import did not succeed.", "enum": [ "importing", "available", "failed" ], "title": "AssetStatus", "type": "string" }, "uploader": { "description": "A reference to the user that uploaded the asset. Assets are shared with all members of the uploader's organization, and may only be modified or deleted by organization editors, admins, or owners.", "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" } }, "required": [ "$uri", "created_at", "filename", "name", "status", "uploader" ], "title": "assets", "type": "object" } } }, "description": "OK" } }, "summary": "GET assets" }, "patch": { "operationId": "patch_assets_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "name": { "description": "A new display name for the asset.", "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "AssetUpdateSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "$uri": { "example": "/api/v1/assets/0d77065796f8d173", "pattern": "^/api/v1/assets/[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": { "description": "The asset filename.", "title": "Filename", "type": "string" }, "name": { "description": "A display name for the asset. Defaults to the filename if not provided at upload time.", "title": "Name", "type": "string" }, "size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The size of the uploaded file in bytes.", "title": "Size" }, "status": { "description": "The status of the asset. `importing` while the file is being copied to One Codex storage, `available` once the asset is ready to use, and `failed` if the import did not succeed.", "enum": [ "importing", "available", "failed" ], "title": "AssetStatus", "type": "string" }, "uploader": { "description": "A reference to the user that uploaded the asset. Assets are shared with all members of the uploader's organization, and may only be modified or deleted by organization editors, admins, or owners.", "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "title": "users", "type": "object" } }, "required": [ "$uri", "created_at", "filename", "name", "status", "uploader" ], "title": "assets", "type": "object" } } }, "description": "OK" } }, "summary": "PATCH assets" } }, "/api/v1/assets/{id}/download_uri": { "post": { "operationId": "post_assets_download_uri", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "download_uri": { "description": "A pre-signed download link for the asset file.", "title": "Download Uri", "type": "string" }, "expires_at": { "description": "The timestamp when the presigned download URL expires, encoded as a [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) timestamp.", "format": "date-time", "title": "Expires At", "type": "string" }, "expires_in_hours": { "description": "The number of hours for which `download_uri` is valid.", "title": "Expires In Hours", "type": "integer" } }, "required": [ "download_uri", "expires_at", "expires_in_hours" ], "title": "AssetDownloadUriSchema", "type": "object" } } }, "description": "OK" } }, "summary": "POST assets download_uri" } }, "/api/v1/classifications": { "get": { "operationId": "get_classifications_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/classifications" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET classifications instances" } }, "/api/v1/classifications/public": { "get": { "operationId": "get_classifications_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/classifications" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET classifications instances_public" } }, "/api/v1/classifications/{id}": { "get": { "operationId": "get_classifications_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/classifications" } } }, "description": "OK" } }, "summary": "GET classifications" } }, "/api/v1/classifications/{id}/cancel": { "post": { "operationId": "post_classifications_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/classifications" } } }, "description": "OK" } }, "summary": "POST classifications cancel" } }, "/api/v1/classifications/{id}/file_details": { "get": { "operationId": "get_classifications_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 classifications file_details" } }, "/api/v1/classifications/{id}/files": { "delete": { "operationId": "delete_classifications_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE classifications files" }, "get": { "operationId": "get_classifications_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 classifications files" } }, "/api/v1/classifications/{id}/logs": { "get": { "operationId": "get_classifications_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 classifications logs" } }, "/api/v1/classifications/{id}/raw_results": { "get": { "operationId": "get_classifications_raw_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "host_tax_ids": { "items": { "type": "string" }, "title": "Host Tax Ids", "type": "array" }, "n_reads": { "minimum": 1, "title": "N Reads", "type": "integer" }, "table": { "items": { "properties": { "abundance": { "anyOf": [ { "maximum": 1.01, "minimum": 0.0, "type": "number" }, { "type": "null" } ], "title": "Abundance" }, "abundance_w_children": { "anyOf": [ { "maximum": 1.01, "minimum": 0.0, "type": "number" }, { "type": "null" } ], "title": "Abundance W Children" }, "n_kmers": { "minimum": 0, "title": "N Kmers", "type": "integer" }, "n_unique_kmers": { "minimum": 0, "title": "N Unique Kmers", "type": "integer" }, "name": { "title": "Name", "type": "string" }, "parent_tax_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Parent Tax Id" }, "rank": { "title": "Rank", "type": "string" }, "readcount": { "minimum": 0, "title": "Readcount", "type": "integer" }, "readcount_w_children": { "minimum": 0, "title": "Readcount W Children", "type": "integer" }, "tax_id": { "title": "Tax Id", "type": "string" }, "unfiltered_readcount": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Unfiltered Readcount" }, "unfiltered_readcount_w_children": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Unfiltered Readcount W Children" } }, "required": [ "abundance", "abundance_w_children", "n_kmers", "n_unique_kmers", "name", "parent_tax_id", "rank", "readcount", "readcount_w_children", "tax_id" ], "title": "_TaxonomicResultsRaw", "type": "object" }, "title": "Table", "type": "array" } }, "required": [ "host_tax_ids", "n_reads", "table" ], "title": "ClassificationRawResultsResponse", "type": "object" } } }, "description": "OK" } }, "summary": "GET classifications raw_results" } }, "/api/v1/classifications/{id}/readlevel": { "get": { "operationId": "get_classifications_readlevel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "url": { "description": "Pre-signed download URL.", "title": "Url", "type": "string" } }, "required": [ "url" ], "title": "ClassificationReadLevelResponse", "type": "object" } } }, "description": "OK" } }, "summary": "GET classifications readlevel" } }, "/api/v1/classifications/{id}/rerun": { "post": { "operationId": "post_classifications_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/classifications" } } }, "description": "OK" } }, "summary": "POST classifications rerun" } }, "/api/v1/classifications/{id}/results": { "get": { "operationId": "get_classifications_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "host_tax_ids": { "items": { "type": "string" }, "title": "Host Tax Ids", "type": "array" }, "n_reads": { "minimum": 1, "title": "N Reads", "type": "integer" }, "table": { "items": { "properties": { "abundance": { "anyOf": [ { "maximum": 1.01, "minimum": 0.0, "type": "number" }, { "type": "null" } ], "title": "Abundance" }, "abundance_w_children": { "anyOf": [ { "maximum": 1.01, "minimum": 0.0, "type": "number" }, { "type": "null" } ], "title": "Abundance W Children" }, "name": { "title": "Name", "type": "string" }, "parent_tax_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Parent Tax Id" }, "rank": { "title": "Rank", "type": "string" }, "readcount": { "minimum": 0, "title": "Readcount", "type": "integer" }, "readcount_w_children": { "minimum": 0, "title": "Readcount W Children", "type": "integer" }, "tax_id": { "title": "Tax Id", "type": "string" }, "unfiltered_readcount": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Unfiltered Readcount" }, "unfiltered_readcount_w_children": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "title": "Unfiltered Readcount W Children" } }, "required": [ "abundance", "abundance_w_children", "name", "parent_tax_id", "rank", "readcount", "readcount_w_children", "tax_id" ], "title": "_TaxonomicResults", "type": "object" }, "title": "Table", "type": "array" } }, "required": [ "host_tax_ids", "n_reads", "table" ], "title": "ClassificationResultsResponse", "type": "object" } } }, "description": "OK" } }, "summary": "GET classifications results" } }, "/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" } }, "/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" } }, "/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" } }, "/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" } }, "/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" } }, "/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" }, "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" } }, "/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" } }, "/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" } }, "/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" } }, "/api/v1/documents": { "get": { "operationId": "get_documents_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/documents" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET documents instances" } }, "/api/v1/documents/confirm_upload": { "post": { "operationId": "post_documents_instances_confirm_upload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "document_id": { "description": "The `document_id` returned by `/documents/init_upload`. Note that the document will not be accessible via `/documents/` until the upload is confirmed.", "title": "Document Id", "type": "string" } }, "required": [ "document_id" ], "title": "DocumentConfirmUploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "document": { "description": "A reference to the uploaded document.", "properties": { "$ref": { "example": "/api/v1/documents/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/documents/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "message": { "description": "A success or error message.", "title": "Message", "type": "string" }, "success": { "description": "Whether the upload was successful.", "title": "Success", "type": "boolean" } }, "required": [ "document", "message", "success" ], "title": "DocumentConfirmUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST documents instances_confirm_upload" } }, "/api/v1/documents/init_multipart_upload": { "post": { "operationId": "post_documents_instances_init_multipart_upload", "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "callback_url": { "title": "Callback Url", "type": "string" }, "file_id": { "title": "File Id", "type": "string" }, "import_as_document": { "title": "Import As Document", "type": "boolean" }, "s3_bucket": { "title": "S3 Bucket", "type": "string" }, "upload_aws_access_key_id": { "title": "Upload Aws Access Key Id", "type": "string" }, "upload_aws_secret_access_key": { "title": "Upload Aws Secret Access Key", "type": "string" } }, "required": [ "callback_url", "file_id", "import_as_document", "s3_bucket", "upload_aws_access_key_id", "upload_aws_secret_access_key" ], "title": "DocumentInitMultipartUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "Start a multipart upload directly to S3." } }, "/api/v1/documents/init_upload": { "post": { "operationId": "post_documents_instances_init_upload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "filename": { "description": "The filename of the document to be uploaded, optionally gzipped (and ending in `.gz` or `.gzip`). Filenames should only contain alphanumeric characters, dashes, underscores, and periods.", "title": "Filename", "type": "string" }, "size": { "description": "The size of the file in bytes.", "minimum": 1, "title": "Size", "type": "integer" } }, "required": [ "filename", "size" ], "title": "DocumentInitUploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "additional_fields": { "additionalProperties": true, "description": "Additional fields to include in the upload.", "title": "Additional Fields", "type": "object" }, "document_id": { "description": "The `document_id` of the uploaded document.", "title": "Document Id", "type": "string" }, "upload_url": { "description": "The URL to POST the document to.", "title": "Upload Url", "type": "string" } }, "required": [ "additional_fields", "document_id", "upload_url" ], "title": "DocumentInitUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "Deprecated in favour of init_multipart_upload" } }, "/api/v1/documents/{id}": { "delete": { "operationId": "delete_documents_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE documents" }, "get": { "operationId": "get_documents_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/documents" } } }, "description": "OK" } }, "summary": "GET documents" } }, "/api/v1/documents/{id}/add_user": { "post": { "operationId": "post_documents_add_user", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "user": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } }, "required": [ "user" ], "title": "DocumentAddUserSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/documents" } } }, "description": "OK" } }, "summary": "POST documents add_user" } }, "/api/v1/documents/{id}/download_uri": { "post": { "operationId": "post_documents_download_uri", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "download_uri": { "description": "The presigned download URL.", "title": "Download Uri", "type": "string" }, "expires_in_hours": { "description": "The number of hours the download URL will be valid.", "title": "Expires In Hours", "type": "integer" } }, "required": [ "download_uri", "expires_in_hours" ], "title": "DocumentDownloadSchema", "type": "object" } } }, "description": "OK" } }, "summary": "POST documents download_uri" } }, "/api/v1/documents/{id}/remove_user": { "post": { "operationId": "post_documents_remove_user", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "user": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } }, "required": [ "user" ], "title": "DocumentAddUserSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/documents" } } }, "description": "OK" } }, "summary": "POST documents remove_user" } }, "/api/v1/documents/{id}/rename": { "patch": { "operationId": "patch_documents_rename", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "filename": { "title": "Filename", "type": "string" } }, "required": [ "filename" ], "title": "DocumentRenameSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/documents" } } }, "description": "OK" } }, "summary": "PATCH documents rename" } }, "/api/v1/events": { "get": { "operationId": "get_events_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/events" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET events instances" } }, "/api/v1/events/{id}": { "get": { "operationId": "get_events_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/events" } } }, "description": "OK" } }, "summary": "GET events" } }, "/api/v1/functional_profiles": { "get": { "operationId": "get_functional_profiles_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/functional_profiles" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET functional_profiles instances" } }, "/api/v1/functional_profiles/public": { "get": { "operationId": "get_functional_profiles_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/functional_profiles" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET functional_profiles instances_public" } }, "/api/v1/functional_profiles/{id}": { "get": { "operationId": "get_functional_profiles_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/functional_profiles" } } }, "description": "OK" } }, "summary": "GET functional_profiles" } }, "/api/v1/functional_profiles/{id}/cancel": { "post": { "operationId": "post_functional_profiles_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/functional_profiles" } } }, "description": "OK" } }, "summary": "POST functional_profiles cancel" } }, "/api/v1/functional_profiles/{id}/file_details": { "get": { "operationId": "get_functional_profiles_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 functional_profiles file_details" } }, "/api/v1/functional_profiles/{id}/files": { "delete": { "operationId": "delete_functional_profiles_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE functional_profiles files" }, "get": { "operationId": "get_functional_profiles_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 functional_profiles files" } }, "/api/v1/functional_profiles/{id}/filtered_results": { "get": { "operationId": "get_functional_profiles_filtered_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "functional_group", "required": true, "schema": { "enum": [ "pathways", "metacyc", "eggnog", "go", "ko", "ec", "pfam", "reaction" ], "type": "string" } }, { "in": "query", "name": "metric", "required": true, "schema": { "enum": [ "rpk", "cpm", "abundance", "coverage", "complete_abundance" ], "type": "string" } }, { "in": "query", "name": "taxa_stratified", "required": false, "schema": { "default": false, "type": "boolean" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "n_mapped": { "minimum": 0, "title": "N Mapped", "type": "integer" }, "n_reads": { "minimum": 0, "title": "N Reads", "type": "integer" }, "table": { "items": { "properties": { "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "taxon_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Taxon Id" }, "taxon_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Taxon Name" }, "value": { "title": "Value", "type": "number" } }, "required": [ "id", "value" ], "title": "_FunctionalFilteredResultsRow", "type": "object" }, "title": "Table", "type": "array" } }, "required": [ "n_mapped", "n_reads", "table" ], "title": "FunctionalFilteredResultsResponse", "type": "object" } } }, "description": "OK" } }, "summary": "GET functional_profiles filtered_results" } }, "/api/v1/functional_profiles/{id}/logs": { "get": { "operationId": "get_functional_profiles_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 functional_profiles logs" } }, "/api/v1/functional_profiles/{id}/rerun": { "post": { "operationId": "post_functional_profiles_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/functional_profiles" } } }, "description": "OK" } }, "summary": "POST functional_profiles rerun" } }, "/api/v1/functional_profiles/{id}/results": { "get": { "operationId": "get_functional_profiles_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "summary": "GET functional_profiles results" } }, "/api/v1/genomes": { "get": { "operationId": "get_genomes_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/genomes/0d77065796f8d173", "pattern": "^/api/v1/genomes/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "assemblies": { "items": { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, "title": "Assemblies", "type": "array" }, "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" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "primary_assembly": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, { "type": "null" } ], "title": "Primary Assembly" }, "tags": { "items": { "properties": { "$ref": { "example": "/api/v1/tags/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/tags/[a-f0-9]{16}$", "type": "string" } }, "title": "tags", "type": "object" }, "title": "Tags", "type": "array" }, "taxon": { "properties": { "$ref": { "example": "/api/v1/taxa/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/taxa/[a-f0-9]{16}$", "type": "string" } }, "title": "taxa", "type": "object" } }, "required": [ "$uri", "assemblies", "created_at", "description", "name", "primary_assembly", "tags", "taxon" ], "title": "genomes", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET genomes instances" } }, "/api/v1/genomes/{id}": { "get": { "operationId": "get_genomes_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "$uri": { "example": "/api/v1/genomes/0d77065796f8d173", "pattern": "^/api/v1/genomes/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "assemblies": { "items": { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, "title": "Assemblies", "type": "array" }, "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" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "primary_assembly": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, { "type": "null" } ], "title": "Primary Assembly" }, "tags": { "items": { "properties": { "$ref": { "example": "/api/v1/tags/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/tags/[a-f0-9]{16}$", "type": "string" } }, "title": "tags", "type": "object" }, "title": "Tags", "type": "array" }, "taxon": { "properties": { "$ref": { "example": "/api/v1/taxa/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/taxa/[a-f0-9]{16}$", "type": "string" } }, "title": "taxa", "type": "object" } }, "required": [ "$uri", "assemblies", "created_at", "description", "name", "primary_assembly", "tags", "taxon" ], "title": "genomes", "type": "object" } } }, "description": "OK" } }, "summary": "GET genomes" } }, "/api/v1/jobs": { "get": { "operationId": "get_jobs_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/jobs" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET jobs instances" }, "post": { "operationId": "post_jobs_instances", "requestBody": { "content": { "application/json": { "schema": { "properties": { "arguments_schema": { "anyOf": [ { "items": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "fa_icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fa Icon" }, "fields": { "items": { "properties": { "choices": { "anyOf": [ { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "number" }, { "type": "boolean" } ] }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Choices" }, "default": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Default" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "env_name": { "default": "", "title": "Env Name", "type": "string" }, "fa_icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fa Icon" }, "help_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Help Text" }, "name": { "title": "Name", "type": "string" }, "pattern": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Pattern" }, "required": { "default": false, "title": "Required", "type": "boolean" }, "type": { "anyOf": [ { "enum": [ "string", "regex", "integer", "number", "boolean", "enum", "sample_id", "genome_id", "classified_sample_id", "assembly_id", "ref_assembly_by_tax_id", "genome_tax_id" ], "title": "FieldType", "type": "string" }, { "items": { "enum": [ "string", "regex", "integer", "number", "boolean", "enum", "sample_id", "genome_id", "classified_sample_id", "assembly_id", "ref_assembly_by_tax_id", "genome_tax_id" ], "title": "FieldType", "type": "string" }, "type": "array" } ], "title": "Type" } }, "required": [ "name", "type" ], "title": "Field", "type": "object" }, "title": "Fields", "type": "array" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Title" } }, "title": "FieldGroup", "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "The schema for the arguments to parametrize this job. Each field is exposed in the script as `$ARGS_`. Example: `[{\"fields\": [{\"name\": \"min_quality\", \"type\": \"integer\"}, {\"name\": \"adapter\", \"type\": \"string\"}]}]`. The input sample is not a parameter; it is passed separately at run time", "title": "Arguments Schema" }, "assets": { "anyOf": [ { "items": { "properties": { "$ref": { "example": "/api/v1/assets/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assets/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "An optional list of assets associated with this job", "title": "Assets" }, "cpu": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The number of CPU cores used for this job, set only for shell script jobs", "title": "Cpu" }, "dependencies": { "anyOf": [ { "items": { "properties": { "job": { "description": "Parent job to use as a dependency", "properties": { "$ref": { "example": "/api/v1/jobs/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/jobs/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "output_dir": { "description": "Directory into which to download the parent run results (must be relative, will be appended to /out directory)", "title": "Output Dir", "type": "string" } }, "required": [ "job", "output_dir" ], "title": "JobDependencySchema", "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Optional job dependencies for this job. If provided, will be triggered automatically when this job is run", "title": "Dependencies" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The human-readable description of the job. Supports markdown", "title": "Description" }, "image_uri": { "description": "Fully qualified, publicly available OCI image URI containing every tool the script uses. Examples: `docker.io/biocontainers/fastqc:v0.11.9_cv8`, `docker.io/library/python:3.12`. Don't use Docker Hub shorthand forms such as `python:3.12` or `python/3.12`", "minLength": 1, "title": "Image Uri", "type": "string" }, "inject_bearer_token": { "default": false, "description": "Whether to inject the user's One Codex bearer token into the analysis job, exposed as $ONE_CODEX_BEARER_TOKEN", "title": "Inject Bearer Token", "type": "boolean" }, "job_type": { "default": "shell_script", "description": "Whether this is a shell script or a Nextflow job", "enum": [ "shell_script", "nextflow" ], "title": "AnalysisJobType", "type": "string" }, "name": { "description": "The human-readable name of the job", "minLength": 1, "title": "Name", "type": "string" }, "ram_gb": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The amount of RAM used for this job in GB, set only for shell script jobs", "title": "Ram Gb" }, "repository": { "anyOf": [ { "properties": { "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The git tag to use for this repository", "title": "Tag" }, "url": { "description": "The URL of the git repository", "title": "Url", "type": "string" } }, "required": [ "url" ], "title": "RepositorySchema", "type": "object" }, { "type": "null" } ], "default": null, "description": "The git repository that this job runs against" }, "script": { "description": "The script to be executed, runs as non-root user", "minLength": 1, "title": "Script", "type": "string" }, "storage_gb": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The amount of storage used for this job in GB, set only for shell script jobs", "title": "Storage Gb" } }, "required": [ "image_uri", "name", "script" ], "title": "CreateJobSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobs" } } }, "description": "OK" } }, "summary": "POST jobs instances" } }, "/api/v1/jobs/{id}": { "get": { "operationId": "get_jobs_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobs" } } }, "description": "OK" } }, "summary": "GET jobs" }, "patch": { "operationId": "patch_jobs_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "arguments_schema": { "anyOf": [ { "items": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "fa_icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fa Icon" }, "fields": { "items": { "properties": { "choices": { "anyOf": [ { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "number" }, { "type": "boolean" } ] }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Choices" }, "default": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Default" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "env_name": { "default": "", "title": "Env Name", "type": "string" }, "fa_icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fa Icon" }, "help_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Help Text" }, "name": { "title": "Name", "type": "string" }, "pattern": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Pattern" }, "required": { "default": false, "title": "Required", "type": "boolean" }, "type": { "anyOf": [ { "enum": [ "string", "regex", "integer", "number", "boolean", "enum", "sample_id", "genome_id", "classified_sample_id", "assembly_id", "ref_assembly_by_tax_id", "genome_tax_id" ], "title": "FieldType", "type": "string" }, { "items": { "enum": [ "string", "regex", "integer", "number", "boolean", "enum", "sample_id", "genome_id", "classified_sample_id", "assembly_id", "ref_assembly_by_tax_id", "genome_tax_id" ], "title": "FieldType", "type": "string" }, "type": "array" } ], "title": "Type" } }, "required": [ "name", "type" ], "title": "Field", "type": "object" }, "title": "Fields", "type": "array" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Title" } }, "title": "FieldGroup", "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "The schema for the arguments to parametrize this job. Each field is exposed in the script as `$ARGS_`. Example: `[{\"fields\": [{\"name\": \"min_quality\", \"type\": \"integer\"}, {\"name\": \"adapter\", \"type\": \"string\"}]}]`. The input sample is not a parameter; it is passed separately at run time", "title": "Arguments Schema" }, "assets": { "anyOf": [ { "items": { "properties": { "$ref": { "example": "/api/v1/assets/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assets/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "An optional list of assets associated with this job", "title": "Assets" }, "autorun_on_org_sample_upload": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "description": "Whether to automatically run this job on every newly uploaded sample in the user's organization. Only available to organization admins on published jobs.", "title": "Autorun On Org Sample Upload" }, "cpu": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The number of CPU cores used for this job, set only for shell script jobs", "title": "Cpu" }, "dependencies": { "anyOf": [ { "items": { "properties": { "job": { "description": "Parent job to use as a dependency", "properties": { "$ref": { "example": "/api/v1/jobs/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/jobs/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "output_dir": { "description": "Directory into which to download the parent run results (must be relative, will be appended to /out directory)", "title": "Output Dir", "type": "string" } }, "required": [ "job", "output_dir" ], "title": "JobDependencySchema", "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Optional job dependencies for this job. If provided, will be triggered automatically when this job is run", "title": "Dependencies" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The human-readable description of the job. Supports markdown", "title": "Description" }, "image_uri": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Fully qualified, publicly available OCI image URI containing every tool the script uses. Examples: `docker.io/biocontainers/fastqc:v0.11.9_cv8`, `docker.io/library/python:3.12`. Don't use Docker Hub shorthand forms such as `python:3.12` or `python/3.12`", "title": "Image Uri" }, "inject_bearer_token": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "description": "Whether to inject the user's One Codex bearer token into the analysis job, exposed as $ONE_CODEX_BEARER_TOKEN", "title": "Inject Bearer Token" }, "name": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "The human-readable name of the job", "title": "Name" }, "ram_gb": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The amount of RAM used for this job in GB, set only for shell script jobs", "title": "Ram Gb" }, "repository": { "anyOf": [ { "properties": { "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The git tag to use for this repository", "title": "Tag" }, "url": { "description": "The URL of the git repository", "title": "Url", "type": "string" } }, "required": [ "url" ], "title": "RepositorySchema", "type": "object" }, { "type": "null" } ], "default": null, "description": "The git repository that this job runs against" }, "script": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "The script to be executed, runs as non-root user", "title": "Script" }, "storage_gb": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The amount of storage used for this job in GB, set only for shell script jobs", "title": "Storage Gb" } }, "title": "UpdateJobSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobs" } } }, "description": "OK" } }, "summary": "PATCH jobs" } }, "/api/v1/jobs/{id}/details": { "get": { "operationId": "get_jobs_details", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "arguments_schema": { "anyOf": [ { "items": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "fa_icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fa Icon" }, "fields": { "items": { "properties": { "choices": { "anyOf": [ { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "number" }, { "type": "boolean" } ] }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Choices" }, "default": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Default" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "env_name": { "default": "", "title": "Env Name", "type": "string" }, "fa_icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fa Icon" }, "help_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Help Text" }, "name": { "title": "Name", "type": "string" }, "pattern": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Pattern" }, "required": { "default": false, "title": "Required", "type": "boolean" }, "type": { "anyOf": [ { "enum": [ "string", "regex", "integer", "number", "boolean", "enum", "sample_id", "genome_id", "classified_sample_id", "assembly_id", "ref_assembly_by_tax_id", "genome_tax_id" ], "title": "FieldType", "type": "string" }, { "items": { "enum": [ "string", "regex", "integer", "number", "boolean", "enum", "sample_id", "genome_id", "classified_sample_id", "assembly_id", "ref_assembly_by_tax_id", "genome_tax_id" ], "title": "FieldType", "type": "string" }, "type": "array" } ], "title": "Type" } }, "required": [ "name", "type" ], "title": "Field", "type": "object" }, "title": "Fields", "type": "array" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Title" } }, "title": "FieldGroup", "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "The schema for the arguments to parametrize this job. Each field is exposed in the script as `$ARGS_`. Example: `[{\"fields\": [{\"name\": \"min_quality\", \"type\": \"integer\"}, {\"name\": \"adapter\", \"type\": \"string\"}]}]`. The input sample is not a parameter; it is passed separately at run time", "title": "Arguments Schema" }, "assets": { "anyOf": [ { "items": { "properties": { "$ref": { "example": "/api/v1/assets/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assets/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "An optional list of assets associated with this job", "title": "Assets" }, "autorun_on_org_sample_upload": { "description": "Whether this job runs automatically on every newly uploaded sample in the user's organization.", "title": "Autorun On Org Sample Upload", "type": "boolean" }, "cpu": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The number of CPU cores used for this job, set only for shell script jobs", "title": "Cpu" }, "dependencies": { "anyOf": [ { "items": { "properties": { "job": { "description": "Parent job to use as a dependency", "properties": { "$ref": { "example": "/api/v1/jobs/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/jobs/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "output_dir": { "description": "Directory into which to download the parent run results (must be relative, will be appended to /out directory)", "title": "Output Dir", "type": "string" } }, "required": [ "job", "output_dir" ], "title": "JobDependencySchema", "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Optional job dependencies for this job. If provided, will be triggered automatically when this job is run", "title": "Dependencies" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The human-readable description of the job. Supports markdown", "title": "Description" }, "image_uri": { "description": "Fully qualified OCI image URI used to run the job.", "title": "Image Uri", "type": "string" }, "inject_bearer_token": { "description": "Whether the user's One Codex bearer token is injected into the analysis job as $ONE_CODEX_BEARER_TOKEN.", "title": "Inject Bearer Token", "type": "boolean" }, "job_type": { "description": "Whether this is a shell script or a Nextflow job.", "enum": [ "shell_script", "nextflow" ], "title": "AnalysisJobType", "type": "string" }, "ram_gb": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The amount of RAM used for this job in GB, set only for shell script jobs", "title": "Ram Gb" }, "repository": { "anyOf": [ { "properties": { "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The git tag to use for this repository", "title": "Tag" }, "url": { "description": "The URL of the git repository", "title": "Url", "type": "string" } }, "required": [ "url" ], "title": "RepositorySchema", "type": "object" }, { "type": "null" } ], "default": null, "description": "The git repository that this job runs against" }, "script": { "description": "The script that is executed when the job runs.", "title": "Script", "type": "string" }, "storage_gb": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The amount of storage used for this job in GB, set only for shell script jobs", "title": "Storage Gb" } }, "required": [ "autorun_on_org_sample_upload", "image_uri", "inject_bearer_token", "job_type", "script" ], "title": "JobDetailsSchema", "type": "object" } } }, "description": "OK" } }, "summary": "GET jobs details" } }, "/api/v1/jobs/{id}/run": { "post": { "operationId": "post_jobs_run", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "dependencies": { "anyOf": [ { "items": { "properties": { "analysis": { "description": "Parent run to use as a dependency", "properties": { "$ref": { "example": "/api/v1/analyses/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/analyses/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "download_path": { "anyOf": [ { "pattern": "[^/].*", "type": "string" }, { "type": "null" } ], "default": null, "description": "Directory into which to download the parent run (must be relative)", "title": "Download Path" } }, "required": [ "analysis" ], "title": "DependencyOverrideSchema", "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Override the analysis dependencies for this run with provided dependencies", "title": "Dependencies" }, "job_args": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Job Args" }, "populate_default_arguments": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": true, "title": "Populate Default Arguments" }, "sample": { "properties": { "$ref": { "example": "/api/v1/samples/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/samples/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } }, "required": [ "job_args", "sample" ], "title": "JobRunAnalysisSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "$ref": { "example": "/api/v1/analyses/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/analyses/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } } }, "description": "OK" } }, "summary": "POST jobs run" } }, "/api/v1/metadata": { "get": { "operationId": "get_metadata_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/metadata" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET metadata instances" } }, "/api/v1/metadata/{id}": { "get": { "operationId": "get_metadata_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/metadata" } } }, "description": "OK" } }, "summary": "GET metadata" }, "patch": { "operationId": "patch_metadata_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "custom": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Arbitrary metadata is supported as part of a custom object. custom has two constraints: (1) it must have a depth of one (i.e., no nested records); and (2) only strings, numbers, boolean, and null values are supported as values. Example: `{\"lab_tech\": \"Linus Pauling\", \"amplicon_scheme\": \"V3-V4\"}`", "title": "Custom" }, "date_collected": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was collected.", "title": "Date Collected" }, "date_sequenced": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was sequenced.", "title": "Date Sequenced" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An arbitrary external sample ID, e.g., an ID in a LIMS. Up to 60 characters.", "example": "LIMS-2024-00123", "title": "External Sample Id" }, "library_type": { "anyOf": [ { "description": "Allowed types of SampleMetadata.library_type. Also used to populate\nform dropdown in the front-end", "enum": [ "WGS", "Targeted/16S", "Other" ], "title": "SequencingLibraryType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample library type." }, "location_lat": { "anyOf": [ { "maximum": 90.0, "minimum": -90.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "The latitude `(-90.0-90.0)` of the sample location. By convention, we recommend using this for the location in which the physical specimen was collected.", "title": "Location Lat" }, "location_lon": { "anyOf": [ { "maximum": 180, "minimum": -180, "type": "number" }, { "type": "null" } ], "default": null, "description": "The longitude `(-180.0-180.0)` of the sample location.", "title": "Location Lon" }, "location_string": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Location String" }, "name": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "platform": { "anyOf": [ { "description": "Allowed values of SampleMetadata.platform.", "enum": [ "454 sequencing", "454 GS FLX", "454 GS FLX Titanium", "Illumina", "Illumina Genome Analyzer II", "Illumina HiSeq", "Illumina HiSeq 1500", "Illumina HiSeq 2000", "Illumina HiSeq 2500", "Illumina HiSeq 3000", "Illumina HiSeq 4000", "Illumina HiSeq X", "Illumina iSeq 100", "Illumina MiniSeq", "Illumina MiSeq", "Illumina NextSeq", "Illumina NextSeq 500", "Illumina NextSeq 550", "Illumina NovaSeq", "Illumina NovaSeq 5000", "Illumina NovaSeq 6000", "BGISEQ", "BGISEQ 50", "Element", "Element AVITI", "Ion", "Ion S5", "Ion S5 XL", "Ion PGM", "Ion Proton", "Ion Torrent", "Oxford Nanopore", "Oxford Nanopore GridION X5", "Oxford Nanopore MinION", "Oxford Nanopore PromethION", "PacBio", "PacBio RS II", "PacBio Sequel", "PacBio Sequel II System", "PacBio Revio", "PacBio Onso", "SOLiD", "Solexa Genome Analyzer", "Sanger", "Other" ], "title": "SequencingPlatform", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the name of the sequencing platform." }, "sample_type": { "anyOf": [ { "description": "Allowed values for SampleMetadata.sample_type. Used to populate values in\nthe front-end dropdown", "enum": [ "Isolate", "Metagenomic", "Other" ], "title": "SequencingSampleType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample type." }, "starred": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Whether the sample has been starred by the user within the One Codex web application.", "title": "Starred" } }, "title": "MetadataPatchSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/metadata" } } }, "description": "OK" } }, "summary": "PATCH metadata" } }, "/api/v1/mlsts": { "get": { "operationId": "get_mlsts_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/mlsts" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET mlsts instances" } }, "/api/v1/mlsts/public": { "get": { "operationId": "get_mlsts_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/mlsts" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET mlsts instances_public" } }, "/api/v1/mlsts/{id}": { "get": { "operationId": "get_mlsts_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/mlsts" } } }, "description": "OK" } }, "summary": "GET mlsts" } }, "/api/v1/mlsts/{id}/cancel": { "post": { "operationId": "post_mlsts_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/mlsts" } } }, "description": "OK" } }, "summary": "POST mlsts cancel" } }, "/api/v1/mlsts/{id}/file_details": { "get": { "operationId": "get_mlsts_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 mlsts file_details" } }, "/api/v1/mlsts/{id}/files": { "delete": { "operationId": "delete_mlsts_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE mlsts files" }, "get": { "operationId": "get_mlsts_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 mlsts files" } }, "/api/v1/mlsts/{id}/logs": { "get": { "operationId": "get_mlsts_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 mlsts logs" } }, "/api/v1/mlsts/{id}/rerun": { "post": { "operationId": "post_mlsts_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/mlsts" } } }, "description": "OK" } }, "summary": "POST mlsts rerun" } }, "/api/v1/mlsts/{id}/results": { "get": { "operationId": "get_mlsts_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "mlstResults": { "properties": { "results": { "items": { "properties": { "alleles": { "items": { "properties": { "allele": { "title": "Allele", "type": "integer" }, "gene": { "title": "Gene", "type": "string" } }, "required": [ "allele", "gene" ], "title": "_MlstAllele", "type": "object" }, "title": "Alleles", "type": "array" }, "metadata": { "items": { "additionalProperties": true, "type": "object" }, "title": "Metadata", "type": "array" }, "st": { "title": "St", "type": "integer" } }, "required": [ "alleles", "metadata", "st" ], "title": "_MlstResult", "type": "object" }, "title": "Results", "type": "array" }, "summary": { "properties": { "complete_match": { "title": "Complete Match", "type": "boolean" }, "mlst": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Mlst" }, "n_alleles_matched": { "title": "N Alleles Matched", "type": "integer" }, "n_alleles_total": { "title": "N Alleles Total", "type": "integer" } }, "required": [ "complete_match", "n_alleles_matched", "n_alleles_total" ], "title": "_MlstSummary", "type": "object" } }, "required": [ "results", "summary" ], "title": "_MlstResults", "type": "object" }, "panelResults": { "title": "Panelresults" } }, "required": [ "mlstResults", "panelResults" ], "title": "MlstResultsResponse", "type": "object" } } }, "description": "OK" } }, "summary": "GET mlsts results" } }, "/api/v1/panels": { "get": { "operationId": "get_panels_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/panels" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET panels instances" } }, "/api/v1/panels/public": { "get": { "operationId": "get_panels_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/panels" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET panels instances_public" } }, "/api/v1/panels/{id}": { "get": { "operationId": "get_panels_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/panels" } } }, "description": "OK" } }, "summary": "GET panels" } }, "/api/v1/panels/{id}/cancel": { "post": { "operationId": "post_panels_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/panels" } } }, "description": "OK" } }, "summary": "POST panels cancel" } }, "/api/v1/panels/{id}/file_details": { "get": { "operationId": "get_panels_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 panels file_details" } }, "/api/v1/panels/{id}/files": { "delete": { "operationId": "delete_panels_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE panels files" }, "get": { "operationId": "get_panels_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 panels files" } }, "/api/v1/panels/{id}/logs": { "get": { "operationId": "get_panels_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 panels logs" } }, "/api/v1/panels/{id}/rerun": { "post": { "operationId": "post_panels_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/panels" } } }, "description": "OK" } }, "summary": "POST panels rerun" } }, "/api/v1/panels/{id}/results": { "get": { "operationId": "get_panels_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "panel_name": { "title": "Panel Name", "type": "string" }, "panel_results": { "title": "Panel Results" } }, "required": [ "panel_name", "panel_results" ], "title": "PanelResultsResponse", "type": "object" } } }, "description": "OK" } }, "summary": "GET panels results" } }, "/api/v1/projects": { "get": { "operationId": "get_projects_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/projects" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET projects instances" }, "post": { "operationId": "post_projects_instances", "requestBody": { "content": { "application/json": { "schema": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "project_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Project Name" } }, "title": "ProjectPatchSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/projects" } } }, "description": "OK" } }, "summary": "POST projects instances" } }, "/api/v1/projects/public": { "get": { "operationId": "get_projects_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/projects" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET projects instances_public" } }, "/api/v1/projects/{id}": { "delete": { "operationId": "delete_projects_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } }, "summary": "DELETE projects" }, "get": { "operationId": "get_projects_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/projects" } } }, "description": "OK" } }, "summary": "GET projects" }, "patch": { "operationId": "patch_projects_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "project_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Project Name" } }, "title": "ProjectPatchSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/projects" } } }, "description": "OK" } }, "summary": "PATCH projects" } }, "/api/v1/projects/{id}/add_user": { "post": { "operationId": "post_projects_add_user", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "permissions": { "items": { "type": "string" }, "title": "Permissions", "type": "array" }, "user": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } }, "required": [ "permissions", "user" ], "title": "ProjectAddUserSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "summary": "POST projects add_user" } }, "/api/v1/projects/{id}/change_sharing": { "post": { "operationId": "post_projects_change_sharing", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "public": { "default": false, "description": "Whether the project is public.", "title": "Public", "type": "boolean" } }, "title": "ProjectChangeSharingSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/projects" } } }, "description": "OK" } }, "summary": "POST projects change_sharing" } }, "/api/v1/projects/{id}/members": { "get": { "operationId": "get_projects_members", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "properties": { "permissions": { "items": { "type": "string" }, "title": "Permissions", "type": "array" }, "user": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } }, "required": [ "permissions", "user" ], "title": "ProjectGetMembersSchema", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET projects members" } }, "/api/v1/projects/{id}/remove_user": { "post": { "operationId": "post_projects_remove_user", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { "user": { "properties": { "$ref": { "example": "/api/v1/users/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/users/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } }, "required": [ "user" ], "title": "ProjectRemoveUserSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "description": "OK" } }, "summary": "POST projects remove_user" } }, "/api/v1/reports": { "get": { "operationId": "get_reports_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/reports" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET reports instances" } }, "/api/v1/reports/public": { "get": { "operationId": "get_reports_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/reports" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET reports instances_public" } }, "/api/v1/reports/{id}": { "get": { "operationId": "get_reports_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/reports" } } }, "description": "OK" } }, "summary": "GET reports" } }, "/api/v1/reports/{id}/cancel": { "post": { "operationId": "post_reports_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/reports" } } }, "description": "OK" } }, "summary": "POST reports cancel" } }, "/api/v1/reports/{id}/file_details": { "get": { "operationId": "get_reports_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 reports file_details" } }, "/api/v1/reports/{id}/files": { "delete": { "operationId": "delete_reports_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE reports files" }, "get": { "operationId": "get_reports_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 reports files" } }, "/api/v1/reports/{id}/logs": { "get": { "operationId": "get_reports_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 reports logs" } }, "/api/v1/reports/{id}/rerun": { "post": { "operationId": "post_reports_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/reports" } } }, "description": "OK" } }, "summary": "POST reports rerun" } }, "/api/v1/reports/{id}/results": { "get": { "operationId": "get_reports_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "description": "The results of the analysis.", "type": "object" } } }, "description": "OK" } }, "summary": "GET reports results" } }, "/api/v1/samples": { "get": { "operationId": "get_samples_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/samples" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET samples instances" } }, "/api/v1/samples/cancel_upload": { "post": { "operationId": "post_samples_instances_cancel_upload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "sample_id": { "title": "Sample Id", "type": "string" } }, "required": [ "sample_id" ], "title": "SampleCancelUploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "message": { "description": "A detailed success or failure message.", "title": "Message", "type": "string" }, "success": { "description": "Whether the upload was successfully cancelled.", "title": "Success", "type": "boolean" } }, "required": [ "message", "success" ], "title": "SampleCancelUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST samples instances_cancel_upload" } }, "/api/v1/samples/confirm_upload": { "post": { "operationId": "post_samples_instances_confirm_upload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "sample_id": { "title": "Sample Id", "type": "string" }, "upload_type": { "const": "standard", "default": "standard", "title": "Upload Type", "type": "string" } }, "required": [ "sample_id" ], "title": "SampleConfirmUploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "message": { "description": "A detailed success or failure message.", "title": "Message", "type": "string" }, "sample": { "description": "A reference to the `$uri` of the uploaded sample.", "properties": { "$ref": { "example": "/api/v1/samples/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/samples/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "success": { "description": "Whether the upload was successful.", "title": "Success", "type": "boolean" } }, "required": [ "message", "sample", "success" ], "title": "SampleConfirmUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST samples instances_confirm_upload" } }, "/api/v1/samples/import": { "post": { "operationId": "post_samples_instances_import", "requestBody": { "content": { "application/json": { "schema": { "properties": { "import_type": { "const": "url", "default": "url", "title": "Import Type", "type": "string" }, "metadata": { "anyOf": [ { "properties": { "custom": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Arbitrary metadata is supported as part of a custom object. custom has two constraints: (1) it must have a depth of one (i.e., no nested records); and (2) only strings, numbers, boolean, and null values are supported as values. Example: `{\"lab_tech\": \"Linus Pauling\", \"amplicon_scheme\": \"V3-V4\"}`", "title": "Custom" }, "date_collected": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was collected.", "title": "Date Collected" }, "date_sequenced": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was sequenced.", "title": "Date Sequenced" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An arbitrary external sample ID, e.g., an ID in a LIMS. Up to 60 characters.", "example": "LIMS-2024-00123", "title": "External Sample Id" }, "library_type": { "anyOf": [ { "description": "Allowed types of SampleMetadata.library_type. Also used to populate\nform dropdown in the front-end", "enum": [ "WGS", "Targeted/16S", "Other" ], "title": "SequencingLibraryType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample library type." }, "location_lat": { "anyOf": [ { "maximum": 90.0, "minimum": -90.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "The latitude `(-90.0-90.0)` of the sample location. By convention, we recommend using this for the location in which the physical specimen was collected.", "title": "Location Lat" }, "location_lon": { "anyOf": [ { "maximum": 180, "minimum": -180, "type": "number" }, { "type": "null" } ], "default": null, "description": "The longitude `(-180.0-180.0)` of the sample location.", "title": "Location Lon" }, "location_string": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Location String" }, "name": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "platform": { "anyOf": [ { "description": "Allowed values of SampleMetadata.platform.", "enum": [ "454 sequencing", "454 GS FLX", "454 GS FLX Titanium", "Illumina", "Illumina Genome Analyzer II", "Illumina HiSeq", "Illumina HiSeq 1500", "Illumina HiSeq 2000", "Illumina HiSeq 2500", "Illumina HiSeq 3000", "Illumina HiSeq 4000", "Illumina HiSeq X", "Illumina iSeq 100", "Illumina MiniSeq", "Illumina MiSeq", "Illumina NextSeq", "Illumina NextSeq 500", "Illumina NextSeq 550", "Illumina NovaSeq", "Illumina NovaSeq 5000", "Illumina NovaSeq 6000", "BGISEQ", "BGISEQ 50", "Element", "Element AVITI", "Ion", "Ion S5", "Ion S5 XL", "Ion PGM", "Ion Proton", "Ion Torrent", "Oxford Nanopore", "Oxford Nanopore GridION X5", "Oxford Nanopore MinION", "Oxford Nanopore PromethION", "PacBio", "PacBio RS II", "PacBio Sequel", "PacBio Sequel II System", "PacBio Revio", "PacBio Onso", "SOLiD", "Solexa Genome Analyzer", "Sanger", "Other" ], "title": "SequencingPlatform", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the name of the sequencing platform." }, "sample_type": { "anyOf": [ { "description": "Allowed values for SampleMetadata.sample_type. Used to populate values in\nthe front-end dropdown", "enum": [ "Isolate", "Metagenomic", "Other" ], "title": "SequencingSampleType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample type." }, "starred": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Whether the sample has been starred by the user within the One Codex web application.", "title": "Starred" } }, "title": "InlineMetadata", "type": "object" }, { "type": "null" } ], "default": null }, "paired_uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Paired Uri" }, "project": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/projects/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "type": "null" } ], "default": null }, "tags": { "default": [], "items": { "properties": { "name": { "description": "The tag label or name. Name must be 30 characters or fewer.", "maxLength": 30, "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "InlineTag", "type": "object" }, "title": "Tags", "type": "array" }, "uri": { "title": "Uri", "type": "string" } }, "required": [ "uri" ], "title": "SampleImportSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/samples" } } }, "description": "OK" } }, "summary": "POST samples instances_import" } }, "/api/v1/samples/init_multipart_upload": { "post": { "operationId": "post_samples_instances_init_multipart_upload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "External Sample Id" }, "filename": { "pattern": "^[\\w\\.]+[\\w\\-\\.\\[\\]\\(\\)\\{\\} ]*\\.[\\w\\.]+$", "title": "Filename", "type": "string" }, "interleaved": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Interleaved" }, "metadata": { "anyOf": [ { "properties": { "custom": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Arbitrary metadata is supported as part of a custom object. custom has two constraints: (1) it must have a depth of one (i.e., no nested records); and (2) only strings, numbers, boolean, and null values are supported as values. Example: `{\"lab_tech\": \"Linus Pauling\", \"amplicon_scheme\": \"V3-V4\"}`", "title": "Custom" }, "date_collected": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was collected.", "title": "Date Collected" }, "date_sequenced": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was sequenced.", "title": "Date Sequenced" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An arbitrary external sample ID, e.g., an ID in a LIMS. Up to 60 characters.", "example": "LIMS-2024-00123", "title": "External Sample Id" }, "library_type": { "anyOf": [ { "description": "Allowed types of SampleMetadata.library_type. Also used to populate\nform dropdown in the front-end", "enum": [ "WGS", "Targeted/16S", "Other" ], "title": "SequencingLibraryType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample library type." }, "location_lat": { "anyOf": [ { "maximum": 90.0, "minimum": -90.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "The latitude `(-90.0-90.0)` of the sample location. By convention, we recommend using this for the location in which the physical specimen was collected.", "title": "Location Lat" }, "location_lon": { "anyOf": [ { "maximum": 180, "minimum": -180, "type": "number" }, { "type": "null" } ], "default": null, "description": "The longitude `(-180.0-180.0)` of the sample location.", "title": "Location Lon" }, "location_string": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Location String" }, "name": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "platform": { "anyOf": [ { "description": "Allowed values of SampleMetadata.platform.", "enum": [ "454 sequencing", "454 GS FLX", "454 GS FLX Titanium", "Illumina", "Illumina Genome Analyzer II", "Illumina HiSeq", "Illumina HiSeq 1500", "Illumina HiSeq 2000", "Illumina HiSeq 2500", "Illumina HiSeq 3000", "Illumina HiSeq 4000", "Illumina HiSeq X", "Illumina iSeq 100", "Illumina MiniSeq", "Illumina MiSeq", "Illumina NextSeq", "Illumina NextSeq 500", "Illumina NextSeq 550", "Illumina NovaSeq", "Illumina NovaSeq 5000", "Illumina NovaSeq 6000", "BGISEQ", "BGISEQ 50", "Element", "Element AVITI", "Ion", "Ion S5", "Ion S5 XL", "Ion PGM", "Ion Proton", "Ion Torrent", "Oxford Nanopore", "Oxford Nanopore GridION X5", "Oxford Nanopore MinION", "Oxford Nanopore PromethION", "PacBio", "PacBio RS II", "PacBio Sequel", "PacBio Sequel II System", "PacBio Revio", "PacBio Onso", "SOLiD", "Solexa Genome Analyzer", "Sanger", "Other" ], "title": "SequencingPlatform", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the name of the sequencing platform." }, "sample_type": { "anyOf": [ { "description": "Allowed values for SampleMetadata.sample_type. Used to populate values in\nthe front-end dropdown", "enum": [ "Isolate", "Metagenomic", "Other" ], "title": "SequencingSampleType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample type." }, "starred": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Whether the sample has been starred by the user within the One Codex web application.", "title": "Starred" } }, "title": "InlineMetadata", "type": "object" }, { "type": "null" } ], "default": null }, "paired_end_filename": { "anyOf": [ { "pattern": "^[\\w\\.]+[\\w\\-\\.\\[\\]\\(\\)\\{\\} ]*\\.[\\w\\.]+$", "type": "string" }, { "type": "null" } ], "default": null, "title": "Paired End Filename" }, "project": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/projects/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "type": "null" } ], "default": null }, "sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sample Id" }, "tags": { "default": [], "items": { "properties": { "name": { "description": "The tag label or name. Name must be 30 characters or fewer.", "maxLength": 30, "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "InlineTag", "type": "object" }, "title": "Tags", "type": "array" } }, "required": [ "filename" ], "title": "SampleInitMultipartUploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "callback_url": { "title": "Callback Url", "type": "string" }, "file_id": { "title": "File Id", "type": "string" }, "paired_end_file_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Paired End File Id" }, "s3_bucket": { "title": "S3 Bucket", "type": "string" }, "sample_id": { "title": "Sample Id", "type": "string" }, "upload_aws_access_key_id": { "title": "Upload Aws Access Key Id", "type": "string" }, "upload_aws_secret_access_key": { "title": "Upload Aws Secret Access Key", "type": "string" } }, "required": [ "callback_url", "file_id", "paired_end_file_id", "s3_bucket", "sample_id", "upload_aws_access_key_id", "upload_aws_secret_access_key" ], "title": "SampleInitMultipartUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "Start a multipart upload directly to S3." } }, "/api/v1/samples/init_upload": { "post": { "operationId": "post_samples_instances_init_upload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An optional external sample ID (see the Metadata resource) to match against pre-uploaded samples. Returns a 400 if no matching sample is found.", "title": "External Sample Id" }, "filename": { "description": "The filename of the sample to be uploaded. FASTA and FASTQ records, optionally gzipped (and ending in .gz or .gzip) are supported. Filenames should only contain alphanumeric characters, dashes, underscores, and periods.", "pattern": "^[\\w\\.]+[\\w\\-\\.\\[\\]\\(\\)\\{\\} ]*\\.[\\w\\.]+$", "title": "Filename", "type": "string" }, "interleaved": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "description": "Whether the file is interleaved (true) or not (false).", "title": "Interleaved" }, "metadata": { "anyOf": [ { "properties": { "custom": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Arbitrary metadata is supported as part of a custom object. custom has two constraints: (1) it must have a depth of one (i.e., no nested records); and (2) only strings, numbers, boolean, and null values are supported as values. Example: `{\"lab_tech\": \"Linus Pauling\", \"amplicon_scheme\": \"V3-V4\"}`", "title": "Custom" }, "date_collected": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was collected.", "title": "Date Collected" }, "date_sequenced": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was sequenced.", "title": "Date Sequenced" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An arbitrary external sample ID, e.g., an ID in a LIMS. Up to 60 characters.", "example": "LIMS-2024-00123", "title": "External Sample Id" }, "library_type": { "anyOf": [ { "description": "Allowed types of SampleMetadata.library_type. Also used to populate\nform dropdown in the front-end", "enum": [ "WGS", "Targeted/16S", "Other" ], "title": "SequencingLibraryType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample library type." }, "location_lat": { "anyOf": [ { "maximum": 90.0, "minimum": -90.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "The latitude `(-90.0-90.0)` of the sample location. By convention, we recommend using this for the location in which the physical specimen was collected.", "title": "Location Lat" }, "location_lon": { "anyOf": [ { "maximum": 180, "minimum": -180, "type": "number" }, { "type": "null" } ], "default": null, "description": "The longitude `(-180.0-180.0)` of the sample location.", "title": "Location Lon" }, "location_string": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Location String" }, "name": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "platform": { "anyOf": [ { "description": "Allowed values of SampleMetadata.platform.", "enum": [ "454 sequencing", "454 GS FLX", "454 GS FLX Titanium", "Illumina", "Illumina Genome Analyzer II", "Illumina HiSeq", "Illumina HiSeq 1500", "Illumina HiSeq 2000", "Illumina HiSeq 2500", "Illumina HiSeq 3000", "Illumina HiSeq 4000", "Illumina HiSeq X", "Illumina iSeq 100", "Illumina MiniSeq", "Illumina MiSeq", "Illumina NextSeq", "Illumina NextSeq 500", "Illumina NextSeq 550", "Illumina NovaSeq", "Illumina NovaSeq 5000", "Illumina NovaSeq 6000", "BGISEQ", "BGISEQ 50", "Element", "Element AVITI", "Ion", "Ion S5", "Ion S5 XL", "Ion PGM", "Ion Proton", "Ion Torrent", "Oxford Nanopore", "Oxford Nanopore GridION X5", "Oxford Nanopore MinION", "Oxford Nanopore PromethION", "PacBio", "PacBio RS II", "PacBio Sequel", "PacBio Sequel II System", "PacBio Revio", "PacBio Onso", "SOLiD", "Solexa Genome Analyzer", "Sanger", "Other" ], "title": "SequencingPlatform", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the name of the sequencing platform." }, "sample_type": { "anyOf": [ { "description": "Allowed values for SampleMetadata.sample_type. Used to populate values in\nthe front-end dropdown", "enum": [ "Isolate", "Metagenomic", "Other" ], "title": "SequencingSampleType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample type." }, "starred": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Whether the sample has been starred by the user within the One Codex web application.", "title": "Starred" } }, "title": "InlineMetadata", "type": "object" }, { "type": "null" } ], "default": null, "description": "An optional metadata object to be added to the sample." }, "paired_end_filename": { "anyOf": [ { "pattern": "^[\\w\\.]+[\\w\\-\\.\\[\\]\\(\\)\\{\\} ]*\\.[\\w\\.]+$", "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional filename for paired end uploads.", "title": "Paired End Filename" }, "project": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/projects/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "type": "string" } }, "title": "projects", "type": "object" }, { "type": "null" } ], "default": null, "description": "An optional project into which to upload the sample.", "title": "Project" }, "sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An optional sample ID to match against pre-uploaded samples. Returns a 400 if no matching sample is found.", "title": "Sample Id" }, "size": { "anyOf": [ { "minimum": 0, "type": "integer" }, { "type": "null" } ], "default": null, "description": "The size of the file in bytes.", "title": "Size" }, "tags": { "default": [], "description": "An array of tags to be added to the sample.", "items": { "properties": { "name": { "description": "The tag label or name. Name must be 30 characters or fewer.", "maxLength": 30, "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "InlineTag", "type": "object" }, "title": "Tags", "type": "array" }, "upload_type": { "const": "standard", "default": "standard", "description": "The type of upload to initiate. Currently only standard uploads are supported via the init_upload route.", "title": "Upload Type", "type": "string" } }, "required": [ "filename" ], "title": "SampleInitUploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "additional_fields": { "additionalProperties": true, "default": {}, "description": "Additional fields to include in the object storage POST request.", "title": "Additional Fields", "type": "object" }, "fallback_options": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "description": "Fallback options for the upload. Please contact support for help as needed.", "title": "Fallback Options" }, "paired_end_additional_fields": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "description": "Additional fields to include in the object storage POST request for the paired end file (optional).", "title": "Paired End Additional Fields" }, "paired_end_upload_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Object storage location to POST the paired end file to (optional).", "title": "Paired End Upload Url" }, "sample_id": { "description": "The sample ID. Use to confirm the upload.", "title": "Sample Id", "type": "string" }, "upload_url": { "description": "Object storage location to POST the file to.", "title": "Upload Url", "type": "string" } }, "required": [ "sample_id", "upload_url" ], "title": "SampleInitUploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST samples instances_init_upload" } }, "/api/v1/samples/organization": { "get": { "operationId": "get_samples_instances_organization", "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/samples" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET samples instances_organization" } }, "/api/v1/samples/preupload": { "post": { "operationId": "post_samples_instances_preupload", "requestBody": { "content": { "application/json": { "schema": { "properties": { "metadata": { "anyOf": [ { "properties": { "custom": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "description": "Arbitrary metadata is supported as part of a custom object. custom has two constraints: (1) it must have a depth of one (i.e., no nested records); and (2) only strings, numbers, boolean, and null values are supported as values. Example: `{\"lab_tech\": \"Linus Pauling\", \"amplicon_scheme\": \"V3-V4\"}`", "title": "Custom" }, "date_collected": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was collected.", "title": "Date Collected" }, "date_sequenced": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Timestamp for when the sample was sequenced.", "title": "Date Sequenced" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "external_sample_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "An arbitrary external sample ID, e.g., an ID in a LIMS. Up to 60 characters.", "example": "LIMS-2024-00123", "title": "External Sample Id" }, "library_type": { "anyOf": [ { "description": "Allowed types of SampleMetadata.library_type. Also used to populate\nform dropdown in the front-end", "enum": [ "WGS", "Targeted/16S", "Other" ], "title": "SequencingLibraryType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample library type." }, "location_lat": { "anyOf": [ { "maximum": 90.0, "minimum": -90.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "The latitude `(-90.0-90.0)` of the sample location. By convention, we recommend using this for the location in which the physical specimen was collected.", "title": "Location Lat" }, "location_lon": { "anyOf": [ { "maximum": 180, "minimum": -180, "type": "number" }, { "type": "null" } ], "default": null, "description": "The longitude `(-180.0-180.0)` of the sample location.", "title": "Location Lon" }, "location_string": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Location String" }, "name": { "anyOf": [ { "maxLength": 255, "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "platform": { "anyOf": [ { "description": "Allowed values of SampleMetadata.platform.", "enum": [ "454 sequencing", "454 GS FLX", "454 GS FLX Titanium", "Illumina", "Illumina Genome Analyzer II", "Illumina HiSeq", "Illumina HiSeq 1500", "Illumina HiSeq 2000", "Illumina HiSeq 2500", "Illumina HiSeq 3000", "Illumina HiSeq 4000", "Illumina HiSeq X", "Illumina iSeq 100", "Illumina MiniSeq", "Illumina MiSeq", "Illumina NextSeq", "Illumina NextSeq 500", "Illumina NextSeq 550", "Illumina NovaSeq", "Illumina NovaSeq 5000", "Illumina NovaSeq 6000", "BGISEQ", "BGISEQ 50", "Element", "Element AVITI", "Ion", "Ion S5", "Ion S5 XL", "Ion PGM", "Ion Proton", "Ion Torrent", "Oxford Nanopore", "Oxford Nanopore GridION X5", "Oxford Nanopore MinION", "Oxford Nanopore PromethION", "PacBio", "PacBio RS II", "PacBio Sequel", "PacBio Sequel II System", "PacBio Revio", "PacBio Onso", "SOLiD", "Solexa Genome Analyzer", "Sanger", "Other" ], "title": "SequencingPlatform", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the name of the sequencing platform." }, "sample_type": { "anyOf": [ { "description": "Allowed values for SampleMetadata.sample_type. Used to populate values in\nthe front-end dropdown", "enum": [ "Isolate", "Metagenomic", "Other" ], "title": "SequencingSampleType", "type": "string" }, { "type": "null" } ], "default": null, "description": "An enum with the sample type." }, "starred": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "description": "Whether the sample has been starred by the user within the One Codex web application.", "title": "Starred" } }, "title": "InlineMetadata", "type": "object" }, { "type": "null" } ], "default": null }, "project": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/projects/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "type": "null" } ], "default": null, "description": "An optional project." }, "tags": { "default": [], "items": { "properties": { "name": { "description": "The tag label or name. Name must be 30 characters or fewer.", "maxLength": 30, "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "InlineTag", "type": "object" }, "title": "Tags", "type": "array" } }, "title": "SampleInitPreuploadSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "sample_id": { "description": "The sample ID. Use to confirm the upload.", "title": "Sample Id", "type": "string" } }, "required": [ "sample_id" ], "title": "SampleInitPreuploadResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST samples instances_preupload" } }, "/api/v1/samples/public": { "get": { "operationId": "get_samples_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/samples" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET samples instances_public" } }, "/api/v1/samples/{id}": { "delete": { "operationId": "delete_samples_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE samples" }, "get": { "operationId": "get_samples_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/samples" } } }, "description": "OK" } }, "summary": "GET samples" }, "patch": { "operationId": "patch_samples_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": false, "properties": { "project": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/projects/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/projects/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "$ref": "#/components/schemas/projects" }, { "type": "null" } ], "default": null, "title": "Project" }, "tags": { "anyOf": [ { "items": { "properties": { "$ref": { "example": "/api/v1/tags/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/tags/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "type": "array" }, { "items": { "properties": { "name": { "description": "The tag label or name. Name must be 30 characters or fewer.", "maxLength": 30, "title": "Name", "type": "string" } }, "required": [ "name" ], "title": "InlineTag", "type": "object" }, "type": "array" } ], "default": [], "title": "Tags" }, "visibility": { "default": "private", "description": "Enum for the v1 API `visibility` attribute.\n\nNote: 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" } }, "title": "SampleUpdateSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/samples" } } }, "description": "OK" } }, "summary": "PATCH samples" } }, "/api/v1/samples/{id}/download_uri": { "post": { "operationId": "post_samples_download_uri", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "download_uri": { "description": "A pre-signed download link.", "title": "Download Uri", "type": "string" }, "expires_in_hours": { "description": "The number of hours for which `download_uri` is valid.", "title": "Expires In Hours", "type": "integer" } }, "required": [ "download_uri", "expires_in_hours" ], "title": "SampleDownloadUriSchema", "type": "object" } } }, "description": "OK" } }, "summary": "POST samples download_uri" } }, "/api/v1/sequencing/batches": { "get": { "operationId": "get_sequencing_instances_batches", "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/sequencing_batches" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET sequencing instances_batches" } }, "/api/v1/sequencing/batches/register": { "post": { "operationId": "post_sequencing_instances_batches_register", "requestBody": { "content": { "application/json": { "schema": { "properties": { "batch_name": { "description": "A human-readable name for the sequencing batch.", "maxLength": 100, "minLength": 1, "title": "Batch Name", "type": "string" }, "return_tracking_numbers": { "description": "One or more tracking numbers associated with the sample shipment(s) to the lab.", "items": { "type": "string" }, "maxItems": 100, "minItems": 1, "title": "Return Tracking Numbers", "type": "array", "uniqueItems": true }, "samples": { "description": "The tube barcodes, specimen type, and sequencing depth for each sample to be sequenced.", "items": { "properties": { "sequencing_depth": { "enum": [ "Standard", "Deep" ], "title": "SequencingDepth", "type": "string" }, "specimen_type": { "enum": [ "Human stool", "Microbial cell culture" ], "title": "SpecimenType", "type": "string" }, "tube_barcode": { "title": "Tube Barcode", "type": "string" } }, "required": [ "sequencing_depth", "specimen_type", "tube_barcode" ], "title": "_RegisterSampleSchema", "type": "object" }, "maxItems": 5000, "minItems": 1, "title": "Samples", "type": "array" } }, "required": [ "batch_name", "return_tracking_numbers", "samples" ], "title": "SequencingBatchRegisterSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "batch": { "$ref": "#/components/schemas/sequencing_batches", "description": "The sequencing batch object that was created." }, "samples": { "description": "The sample object associated with the tube barcode. This will be in an `awaiting_data` state until the lab has finished processing the physical sample.", "items": { "properties": { "sample": { "description": "The sample object associated with the tube barcode. Note this may be in a pending upload state if the lab has not finished processing the physical sample.", "properties": { "$ref": { "example": "/api/v1/samples/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/samples/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "tube_barcode": { "description": "The tube barcode for the sample sent to the lab.", "title": "Tube Barcode", "type": "string" } }, "required": [ "sample", "tube_barcode" ], "title": "_TubeAndSampleSchema", "type": "object" }, "title": "Samples", "type": "array" } }, "required": [ "batch", "samples" ], "title": "SequencingBatchRegisterResponse", "type": "object" } } }, "description": "OK" } }, "summary": "POST sequencing instances_batches_register" } }, "/api/v1/sequencing/batches/{id}": { "get": { "operationId": "get_sequencing_batches", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/sequencing_batches" } } }, "description": "OK" } }, "summary": "GET sequencing batches" } }, "/api/v1/sequencing/batches/{id}/samples": { "get": { "operationId": "get_sequencing_batches_samples", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "properties": { "sample": { "description": "The sample object associated with the tube barcode. Note this may be in a pending upload state if the lab has not finished processing the physical sample.", "properties": { "$ref": { "example": "/api/v1/samples/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/samples/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, "tube_barcode": { "description": "The tube barcode for the sample sent to the lab.", "title": "Tube Barcode", "type": "string" } }, "required": [ "sample", "tube_barcode" ], "title": "SequencingBatchSamplesResponse", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET sequencing batches_samples" } }, "/api/v1/tags": { "get": { "operationId": "get_tags_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/tags" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET tags instances" }, "post": { "operationId": "post_tags_instances", "requestBody": { "content": { "application/json": { "schema": { "properties": { "name": { "description": "The tag label or name. Name must be 30 characters or fewer.", "maxLength": 30, "title": "Name", "type": "string" }, "sample": { "description": "The sample to tag.", "properties": { "$ref": { "example": "/api/v1/samples/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/samples/[a-f0-9]{16}$", "type": "string" } }, "type": "object" } }, "required": [ "name", "sample" ], "title": "TagCreateSchema", "type": "object" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tags" } } }, "description": "OK" } }, "summary": "POST tags instances" } }, "/api/v1/tags/{id}": { "get": { "operationId": "get_tags_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/tags" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET tags" } }, "/api/v1/taxa": { "get": { "operationId": "get_taxa_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/taxa/0d77065796f8d173", "pattern": "^/api/v1/taxa/[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" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "parent": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/taxa/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/taxa/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "type": "null" } ] }, "rank": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rank" }, "taxon_id": { "title": "Taxon Id", "type": "string" } }, "required": [ "$uri", "created_at", "name", "parent", "rank", "taxon_id" ], "title": "taxa", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET taxa instances" } }, "/api/v1/taxa/{id}": { "get": { "operationId": "get_taxa_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "properties": { "$uri": { "example": "/api/v1/taxa/0d77065796f8d173", "pattern": "^/api/v1/taxa/[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" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "parent": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/taxa/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/taxa/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "type": "null" } ] }, "rank": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rank" }, "taxon_id": { "title": "Taxon Id", "type": "string" } }, "required": [ "$uri", "created_at", "name", "parent", "rank", "taxon_id" ], "title": "taxa", "type": "object" } } }, "description": "OK" } }, "summary": "GET taxa" } }, "/api/v1/taxa/{id}/genomes": { "get": { "operationId": "get_taxa_genomes", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "properties": { "$uri": { "example": "/api/v1/genomes/0d77065796f8d173", "pattern": "^/api/v1/genomes/[a-f0-9]{16}$", "readOnly": true, "title": "$Uri", "type": "string" }, "assemblies": { "items": { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, "title": "Assemblies", "type": "array" }, "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" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "primary_assembly": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/assemblies/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/assemblies/[a-f0-9]{16}$", "type": "string" } }, "title": "assemblies", "type": "object" }, { "type": "null" } ], "title": "Primary Assembly" }, "tags": { "items": { "properties": { "$ref": { "example": "/api/v1/tags/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/tags/[a-f0-9]{16}$", "type": "string" } }, "title": "tags", "type": "object" }, "title": "Tags", "type": "array" }, "taxon": { "properties": { "$ref": { "example": "/api/v1/taxa/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/taxa/[a-f0-9]{16}$", "type": "string" } }, "title": "taxa", "type": "object" } }, "required": [ "$uri", "assemblies", "created_at", "description", "name", "primary_assembly", "tags", "taxon" ], "title": "genomes", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET taxa genomes" } }, "/api/v1/taxa/{id}/parents": { "get": { "operationId": "get_taxa_parents", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "properties": { "$uri": { "example": "/api/v1/taxa/0d77065796f8d173", "pattern": "^/api/v1/taxa/[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" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "parent": { "anyOf": [ { "properties": { "$ref": { "example": "/api/v1/taxa/a1b2c3d4e5f67890", "format": "uri", "pattern": "^/api/v1/taxa/[a-f0-9]{16}$", "type": "string" } }, "type": "object" }, { "type": "null" } ] }, "rank": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rank" }, "taxon_id": { "title": "Taxon Id", "type": "string" } }, "required": [ "$uri", "created_at", "name", "parent", "rank", "taxon_id" ], "title": "taxa", "type": "object" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET taxa parents" } }, "/api/v1/taxa/{id}/reference_assembly": { "get": { "operationId": "get_taxa_reference_assembly", "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.\n\nNote: 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 taxa reference_assembly" } }, "/api/v1/users": { "get": { "operationId": "get_users_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/users" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET users instances" } }, "/api/v1/users/{id}": { "get": { "operationId": "get_users_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/users" } } }, "description": "OK" } }, "summary": "GET users" } }, "/api/v1/webhooks": { "get": { "operationId": "get_webhooks_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/webhooks" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET webhooks instances" } }, "/api/v1/webhooks/{id}": { "get": { "operationId": "get_webhooks_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/webhooks" } } }, "description": "OK" } }, "summary": "GET webhooks" } }, "/api/v1/workflows": { "get": { "operationId": "get_workflows_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/workflows" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET workflows instances" } }, "/api/v1/workflows/public": { "get": { "operationId": "get_workflows_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/workflows" }, "type": "array" } } }, "description": "OK" } }, "summary": "GET workflows instances_public" } }, "/api/v1/workflows/{id}": { "get": { "operationId": "get_workflows_self", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/workflows" } } }, "description": "OK" } }, "summary": "GET workflows" } }, "/api/v1/workflows/{id}/cancel": { "post": { "operationId": "post_workflows_cancel", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/workflows" } } }, "description": "OK" } }, "summary": "POST workflows cancel" } }, "/api/v1/workflows/{id}/file_details": { "get": { "operationId": "get_workflows_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 workflows file_details" } }, "/api/v1/workflows/{id}/files": { "delete": { "operationId": "delete_workflows_files", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" } }, "summary": "DELETE workflows files" }, "get": { "operationId": "get_workflows_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 workflows files" } }, "/api/v1/workflows/{id}/logs": { "get": { "operationId": "get_workflows_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 workflows logs" } }, "/api/v1/workflows/{id}/rerun": { "post": { "operationId": "post_workflows_rerun", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/workflows" } } }, "description": "OK" } }, "summary": "POST workflows rerun" } }, "/api/v1/workflows/{id}/results": { "get": { "operationId": "get_workflows_results", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "description": "The results of the analysis.", "type": "object" } } }, "description": "OK" } }, "summary": "GET workflows results" } } }, "security": [ { "apiKeyAuth": [] } ], "servers": [ { "url": "https://app.onecodex.com" } ] }