Created
August 7, 2020 04:37
-
-
Save dtkav/62072c66eeb268dadded85fba7ad18b0 to your computer and use it in GitHub Desktop.
This file contains 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