Created
August 7, 2020 04:37
-
-
Save dtkav/62072c66eeb268dadded85fba7ad18b0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "openapi": "3.0.1", | |
| "info": { | |
| "title": "Benchling API", | |
| "version": "2.0.0", | |
| "license": { | |
| "name": "Apache 2.0", | |
| "url": "http://www.apache.org/licenses/LICENSE-2.0.html" | |
| } | |
| }, | |
| "externalDocs": { | |
| "description": "Additional API Documentation", | |
| "url": "https://docs.benchling.com" | |
| }, | |
| "servers": [ | |
| { | |
| "url": "/api/v2" | |
| } | |
| ], | |
| "paths": { | |
| "/requests": { | |
| "get": { | |
| "tags": [ | |
| "requests" | |
| ], | |
| "description": "List requests", | |
| "operationId": "listRequests", | |
| "parameters": [ | |
| { | |
| "name": "schemaId", | |
| "in": "query", | |
| "schema": { | |
| "type": "string" | |
| }, | |
| "required": true | |
| }, | |
| { | |
| "name": "requestStatus", | |
| "in": "query", | |
| "schema": { | |
| "type": "string", | |
| "enum": [ | |
| "REQUESTED", | |
| "SCHEDULED", | |
| "IN_PROGRESS", | |
| "COMPLETED", | |
| "CANCELLED" | |
| ] | |
| } | |
| }, | |
| { | |
| "name": "minCreatedTime", | |
| "description": "minimum create time (unix seconds)", | |
| "in": "query", | |
| "schema": { | |
| "type": "integer" | |
| } | |
| }, | |
| { | |
| "name": "maxCreatedTime", | |
| "description": "maximum create time (unix seconds)", | |
| "in": "query", | |
| "schema": { | |
| "type": "integer" | |
| } | |
| }, | |
| { | |
| "name": "nextToken", | |
| "in": "query", | |
| "schema": { | |
| "type": "string" | |
| } | |
| }, | |
| { | |
| "name": "pageSize", | |
| "in": "query", | |
| "schema": { | |
| "type": "integer", | |
| "default": 50, | |
| "maximum": 100, | |
| "minimum": 0 | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/RequestsResponseBody" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/requests/{request_id}": { | |
| "get": { | |
| "tags": [ | |
| "requests" | |
| ], | |
| "description": "Get a request by ID", | |
| "operationId": "getRequest", | |
| "parameters": [ | |
| { | |
| "name": "request_id", | |
| "in": "path", | |
| "schema": { | |
| "type": "string" | |
| }, | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Request" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/containers/{container_id}": { | |
| "get": { | |
| "tags": [ | |
| "containers" | |
| ], | |
| "description": "get a container by id", | |
| "operationId": "getContainer", | |
| "parameters": [ | |
| { | |
| "in": "path", | |
| "name": "container_id", | |
| "schema": { | |
| "type": "string" | |
| }, | |
| "required": true | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Container" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/location-schemas/{schema_id}": { | |
| "get": { | |
| "tags": [ | |
| "schemas" | |
| ], | |
| "summary": "Get a location schema by ID", | |
| "operationId": "getLocationSchema", | |
| "parameters": [ | |
| { | |
| "name": "schema_id", | |
| "in": "path", | |
| "description": "ID of schema to get", | |
| "required": true, | |
| "schema": { | |
| "type": "string" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Schema" | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request" | |
| }, | |
| "404": { | |
| "description": "Not Found", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NotFoundError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/box-schemas/{schema_id}": { | |
| "get": { | |
| "tags": [ | |
| "schemas" | |
| ], | |
| "summary": "Get a box schema by ID", | |
| "operationId": "getBoxSchema", | |
| "parameters": [ | |
| { | |
| "name": "schema_id", | |
| "in": "path", | |
| "description": "ID of schema to get", | |
| "required": true, | |
| "schema": { | |
| "type": "string" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/BoxSchema" | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request" | |
| }, | |
| "404": { | |
| "description": "Not Found", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NotFoundError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/plate-schemas/{schema_id}": { | |
| "get": { | |
| "tags": [ | |
| "schemas" | |
| ], | |
| "summary": "Get a plate schema by ID", | |
| "operationId": "getPlateSchema", | |
| "parameters": [ | |
| { | |
| "name": "schema_id", | |
| "in": "path", | |
| "description": "ID of schema to get", | |
| "required": true, | |
| "schema": { | |
| "type": "string" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/PlateSchema" | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request" | |
| }, | |
| "404": { | |
| "description": "Not Found", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NotFoundError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/container-schemas/{schema_id}": { | |
| "get": { | |
| "tags": [ | |
| "schemas" | |
| ], | |
| "summary": "Get a container schema by ID", | |
| "operationId": "getContainerSchema", | |
| "parameters": [ | |
| { | |
| "name": "schema_id", | |
| "in": "path", | |
| "description": "ID of schema to get", | |
| "required": true, | |
| "schema": { | |
| "type": "string" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Schema" | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request" | |
| }, | |
| "404": { | |
| "description": "Not Found", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NotFoundError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/batch-schemas/{schema_id}": { | |
| "get": { | |
| "tags": [ | |
| "schemas" | |
| ], | |
| "summary": "Get a batch schema by ID", | |
| "operationId": "getBatchSchema", | |
| "parameters": [ | |
| { | |
| "name": "schema_id", | |
| "in": "path", | |
| "description": "ID of schema to get", | |
| "required": true, | |
| "schema": { | |
| "type": "string" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/BatchSchema" | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request" | |
| }, | |
| "404": { | |
| "description": "Not Found", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NotFoundError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/entity-schemas/{schema_id}": { | |
| "get": { | |
| "tags": [ | |
| "schemas" | |
| ], | |
| "summary": "Get an entity schema by ID", | |
| "operationId": "getEntitySchema", | |
| "parameters": [ | |
| { | |
| "name": "schema_id", | |
| "in": "path", | |
| "description": "ID of schema to get", | |
| "required": true, | |
| "schema": { | |
| "type": "string" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "OK", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/TagSchema" | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "Bad Request" | |
| }, | |
| "404": { | |
| "description": "Not Found", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NotFoundError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "components": { | |
| "schemas": { | |
| "Schema": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "fieldDefinitions": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/components/schemas/SchemaField" | |
| } | |
| }, | |
| "type": { | |
| "type": "string" | |
| }, | |
| "prefix": { | |
| "type": "string" | |
| }, | |
| "registryId": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "SchemaField": { | |
| "type": "object", | |
| "properties": { | |
| "isRequired": { | |
| "type": "boolean" | |
| }, | |
| "name": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "BoxSchema": { | |
| "allOf": [ | |
| { | |
| "$ref": "#/components/schemas/Schema" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "height": { | |
| "type": "number" | |
| }, | |
| "width": { | |
| "type": "number" | |
| }, | |
| "containerSchema": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "PlateSchema": { | |
| "allOf": [ | |
| { | |
| "$ref": "#/components/schemas/BoxSchema" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "plateType": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "BatchSchema": { | |
| "allOf": [ | |
| { | |
| "$ref": "#/components/schemas/Schema" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "entitySchemaId": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "TagSchema": { | |
| "allOf": [ | |
| { | |
| "$ref": "#/components/schemas/Schema" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "constraint": { | |
| "type": "object", | |
| "properties": { | |
| "fieldDefinitionNames": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "hasUniqueResidues": { | |
| "type": "boolean" | |
| } | |
| } | |
| }, | |
| "containableType": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "NotFoundError": { | |
| "type": "object", | |
| "properties": { | |
| "error": { | |
| "type": "object", | |
| "properties": { | |
| "invalidId": { | |
| "type": "string" | |
| }, | |
| "message": { | |
| "type": "string" | |
| }, | |
| "type": { | |
| "type": "string" | |
| }, | |
| "userMessage": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "Batch": { | |
| "type": "object" | |
| }, | |
| "Sequence": { | |
| "type": "object" | |
| }, | |
| "Protein": { | |
| "type": "object" | |
| }, | |
| "CustomEntity": { | |
| "type": "object" | |
| }, | |
| "Fields": { | |
| "type": "array", | |
| "items": { | |
| "type": "object" | |
| } | |
| }, | |
| "UserSummary": { | |
| "type": "object" | |
| }, | |
| "TeamSummary": { | |
| "type": "object" | |
| }, | |
| "Measurement": { | |
| "type": "object", | |
| "properties": { | |
| "value": { | |
| "type": "number", | |
| "nullable": true | |
| }, | |
| "units": { | |
| "type": "string", | |
| "nullable": true | |
| } | |
| }, | |
| "required": [ | |
| "value", | |
| "units" | |
| ] | |
| }, | |
| "ArchiveRecord": { | |
| "type": "object", | |
| "properties": { | |
| "reason": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "reason" | |
| ] | |
| }, | |
| "CheckoutRecord": { | |
| "type": "object", | |
| "properties": { | |
| "status": { | |
| "type": "string", | |
| "enum": [ | |
| "AVAILABLE", | |
| "RESERVED", | |
| "CHECKED_OUT" | |
| ] | |
| }, | |
| "assignee": { | |
| "oneOf": [ | |
| { | |
| "$ref": "#/components/schemas/UserSummary" | |
| }, | |
| { | |
| "$ref": "#/components/schemas/TeamSummary" | |
| } | |
| ], | |
| "nullable": true | |
| }, | |
| "comment": { | |
| "type": "string" | |
| }, | |
| "modifiedAt": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "status", | |
| "assignee", | |
| "comment", | |
| "modifiedAt" | |
| ] | |
| }, | |
| "ContainerContent": { | |
| "type": "object", | |
| "properties": { | |
| "batch": { | |
| "allOf": [ | |
| { | |
| "$ref": "#/components/schemas/Batch" | |
| } | |
| ], | |
| "nullable": true | |
| }, | |
| "entity": { | |
| "oneOf": [ | |
| { | |
| "$ref": "#/components/schemas/Sequence" | |
| }, | |
| { | |
| "$ref": "#/components/schemas/Protein" | |
| }, | |
| { | |
| "$ref": "#/components/schemas/CustomEntity" | |
| } | |
| ], | |
| "nullable": true | |
| }, | |
| "concentration": { | |
| "$ref": "#/components/schemas/Measurement" | |
| } | |
| }, | |
| "required": [ | |
| "batch", | |
| "entity", | |
| "concentration" | |
| ] | |
| }, | |
| "Container": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "archiveRecord": { | |
| "nullable": true, | |
| "allOf": [ | |
| { | |
| "$ref": "#/components/schemas/ArchiveRecord" | |
| } | |
| ] | |
| }, | |
| "barcode": { | |
| "type": "string" | |
| }, | |
| "checkoutRecord": { | |
| "$ref": "#/components/schemas/CheckoutRecord" | |
| }, | |
| "contents": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/components/schemas/ContainerContent" | |
| } | |
| }, | |
| "createdAt": { | |
| "type": "string" | |
| }, | |
| "creator": { | |
| "$ref": "#/components/schemas/UserSummary" | |
| }, | |
| "fields": { | |
| "$ref": "#/components/schemas/Fields" | |
| }, | |
| "modifiedAt": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "parentStorageId": { | |
| "type": "string" | |
| }, | |
| "parentStorageSchema": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| }, | |
| "projectId": { | |
| "type": "string", | |
| "nullable": true | |
| } | |
| }, | |
| "required": [ | |
| "id", | |
| "name", | |
| "projectId" | |
| ] | |
| }, | |
| "projectId": { | |
| "type": "string", | |
| "nullable": true | |
| }, | |
| "schema": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "id", | |
| "name" | |
| ] | |
| }, | |
| "volume": { | |
| "$ref": "#/components/schemas/Measurement" | |
| }, | |
| "webURL": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "id", | |
| "archiveRecord", | |
| "barcode", | |
| "checkoutRecord", | |
| "createdAt", | |
| "creator", | |
| "fields", | |
| "modifiedAt", | |
| "name", | |
| "parentStorageId", | |
| "parentStorageSchema", | |
| "projectId", | |
| "schema", | |
| "volume" | |
| ] | |
| }, | |
| "Request": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "assignees": { | |
| "type": "array", | |
| "items": { | |
| "oneOf": [ | |
| { | |
| "$ref": "#/components/schemas/UserSummary" | |
| }, | |
| { | |
| "$ref": "#/components/schemas/TeamSummary" | |
| } | |
| ], | |
| "nullable": true | |
| } | |
| }, | |
| "createdAt": { | |
| "type": "string", | |
| "format": "date-time" | |
| }, | |
| "creator": { | |
| "$ref": "#/components/schemas/UserSummary" | |
| }, | |
| "displayId": { | |
| "type": "string" | |
| }, | |
| "fields": { | |
| "type": "object" | |
| }, | |
| "needBy": { | |
| "type": "string", | |
| "format": "date" | |
| }, | |
| "projectId": { | |
| "type": "string" | |
| }, | |
| "requestStatus": { | |
| "type": "string", | |
| "enum": [ | |
| "REQUESTED", | |
| "SCHEDULED", | |
| "IN_PROGRESS", | |
| "COMPLETED", | |
| "CANCELLED" | |
| ] | |
| }, | |
| "requestor": { | |
| "$ref": "#/components/schemas/UserSummary" | |
| }, | |
| "samples": { | |
| "$ref": "#/components/schemas/Samples" | |
| }, | |
| "sampleGroups": { | |
| "$ref": "#/components/schemas/SampleGroups" | |
| }, | |
| "schema": { | |
| "$ref": "#/components/schemas/SchemaSummary" | |
| }, | |
| "webURL": { | |
| "type": "string", | |
| "format": "uri" | |
| } | |
| } | |
| }, | |
| "RequestsResponseBody": { | |
| "type": "object", | |
| "properties": { | |
| "nextToken": { | |
| "type": "string" | |
| }, | |
| "requests": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/components/schemas/Request" | |
| } | |
| } | |
| } | |
| }, | |
| "SchemaSummary": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "name": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "Samples": { | |
| "type": "array", | |
| "items": { | |
| "type": "object" | |
| } | |
| }, | |
| "SampleGroups": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/components/schemas/SampleGroup" | |
| } | |
| }, | |
| "SampleGroup": { | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "type": "string" | |
| }, | |
| "samples": { | |
| "type": "object" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment