{"openapi":"3.0.0","info":{"title":"Reshape Biotech API","description":"\nThis API enables access to analysis data from plates imaged in the Reshape platform.\n\n### Rate Limits\n\nAll API requests are rate limited to **1000 requests per minute**.\n\nThe [/v2/exports](#v2/post_v2_exports) POST endpoint has a stricter limit of **10 requests per minute**. When the limit is exceeded, the API will return a `429` (Too Many Requests) status code.\n\nWe reserve the right to adjust these rate limits if they negatively impact overall product performance.\n\n## Concepts\n\nThe API is organized around a few core concepts that describe the relationship between experimental design and results.\nThis section will help you understand the core concepts of the API.\n\n### Organizations and groups\n\n- **Organizations** are collections of groups. Your access token is scoped to the entire organization.\n- **Groups** are subdivisions of organizations. All resources are scoped to a group.\n\n\n### Plates and wells\n\n**Plates** and **Wells** describe the \"blueprints\" for the properties and contents of plates and wells.\n- **Plates** are collections of **Wells**. Their properties (like plate type, e.g. \"SBS 6 well\") will determine how many wells they can contain (and their positions)\n- **Wells** describe the properties and contents of a well on a **Plate**.\n\n\n**Processed plates** and **Processed wells** represent realized instances of the **Plates** and **Wells** after they have been photographed and analyzed by the Reshape platform.\n- **Processed plates** are collections of **Processed wells**.\n- **Analyses** are collections of data points belonging to a **Processed well**. These data points could contain specific measurements, observations, or experimental results.\n\n\n### Well contents\nYou can describe the properties and contents of a well via the **Well** resource. We have three different types of contents:\n- **Organisms** are living entities that can be found in a well.\n- **Treatments** are chemical substances that can be found in a well.\n- **Media** are substances that can be found in a well.\n\nA well can contain:\n- multiple organisms and treatments (although a specific organism/treatment can only appear once per well)\n- a single media per well\n\n**Organisms** can be created per group, and can be referenced via their **identifier** property. See [/v2/groups/{groupId}/organisms](#v2/get_v2_groups__groupId__organisms) for more information.\n\nAdditionally, there is a set of common **Organisms** that are not tied to any group. They can be searched using [/v2/organisms](#v2/get_v2_organisms) These can also be referenced via their **identifier** property.\n\n**Treatments** are created per group, and can be referenced via their **id** property. See [/v2/groups/{groupId}/treatments](#v2/get_v2_groups__groupId__treatments) for more information.\n\n**Media** are created per group, and can be referenced via their **id** property. See [/v2/groups/{groupId}/media](#v2/get_v2_groups__groupId__media) for more information.\n\n\n### Linking plates\nA core idea of this API is to provide a way to link the actual experimental results with the source \"blueprints\" of the plates and wells.\n\nThis is done by linking a **Plate** to a **Processed plate** using [/v2/groups/{groupId}/plates/{plateId}/links/{processedPlateId}](#/v2/post_v2_groups__groupId__plates__plateId__links__processedPlateId_)\n\n---\n\n<details>\n<summary>\nHere is a diagram that shows the relationship between all resources:\n</summary>\n![alt text](/static/v2_overview.svg)\n</details>\n","version":"1.0.33"},"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"GroupV2Input":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"]},"PlateV2Input":{"type":"object","properties":{"id":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"anyOf":[{"type":"string"},{"type":"null"}]},"experiment_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"null"}]},"created_at":{},"updated_at":{"anyOf":[{},{"type":"null"}]}},"required":["id","plate_type","plate_label","experiment_id","created_at","updated_at"]},"WellV2Input":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"plate_id":{"type":"string"},"position":{"type":"string","pattern":"^[A-P][1-9][0-9]*$"},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{},"updated_at":{"anyOf":[{},{"type":"null"}]}},"required":["id","plate_id","position","control_type","note","created_at","updated_at"]},"ProcessedPlateV2Input":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"job_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"device":{"type":"object","properties":{"id":{"type":"string"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"hardware_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","firmware_version","hardware_version"]},"position":{"type":"string"},"status":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"temperatures":{"type":"array","items":{"type":"object","properties":{"timestamp":{},"temperature":{"type":"number"}},"required":["timestamp","temperature"]}},"project":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"null"}]},"created_at":{},"updated_at":{"anyOf":[{},{"type":"null"}]}},"required":["id","job_id","email","device","position","status","plate_type","temperatures","project","created_at","updated_at"]},"ProcessedWellV2Input":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"position":{"type":"string"},"excluded":{"description":"Whether the processed well is excluded.","type":"boolean"},"created_at":{},"updated_at":{"anyOf":[{},{"type":"null"}]}},"required":["id","position","excluded","created_at","updated_at"]},"AnalysisV2Input":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"string"}]},"time_index":{"type":"number"},"camera_preset":{"type":"string"},"name":{"type":"string"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"value":{},"tntc":{"type":"boolean"},"unit":{"type":"string"},"description":{"type":"string"}},"required":["name","value"]}]}},"created_at":{},"updated_at":{"anyOf":[{},{"type":"null"}]}},"required":["id","time_index","camera_preset","name","data","created_at","updated_at"]},"TreatmentV2Input":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}}}},"required":["reference","properties"]},"FullTreatmentV2Input":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}}}},"required":["reference","properties"]},"MediaV2Input":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"ph":{"anyOf":[{"type":"number"},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}}}},"required":["reference","properties"]},"FullMediaV2Input":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"ph":{"anyOf":[{"type":"number"},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}}}},"required":["reference","properties"]},"OrganismV2Input":{"type":"object","properties":{"reference":{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["cfu_per_ml","od"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}}}},"required":["reference","properties"]},"FullOrganismV2Input":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"]},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","const":"domain"},"domain":{"type":"string"}},"required":["level","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"kingdom"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"phylum"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"class"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"order"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"family"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"genus"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"species"},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"]},{"type":"object","properties":{"level":{"type":"string","const":"strain_custom"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"]}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["cfu_per_ml","od"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}}}},"required":["reference","properties"]},"GroupV2":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"PlateV2":{"type":"object","properties":{"id":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"anyOf":[{"type":"string"},{"type":"null"}]},"experiment_id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["id","plate_type","plate_label","experiment_id","created_at","updated_at"],"additionalProperties":false},"WellV2":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"plate_id":{"type":"string"},"position":{"type":"string","pattern":"^[A-P][1-9][0-9]*$"},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["id","plate_id","position","control_type","note","created_at","updated_at"],"additionalProperties":false},"ProcessedPlateV2":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"job_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"device":{"type":"object","properties":{"id":{"type":"string"},"firmware_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"hardware_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","firmware_version","hardware_version"],"additionalProperties":false},"position":{"type":"string"},"status":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"temperatures":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"temperature":{"type":"number"}},"required":["timestamp","temperature"],"additionalProperties":false}},"project":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["id","job_id","email","device","position","status","plate_type","temperatures","project","created_at","updated_at"],"additionalProperties":false},"ProcessedWellV2":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"position":{"type":"string"},"excluded":{"description":"Whether the processed well is excluded.","type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["id","position","excluded","created_at","updated_at"],"additionalProperties":false},"AnalysisV2":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"string"}]},"time_index":{"type":"number"},"camera_preset":{"type":"string"},"name":{"type":"string"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"value":{},"tntc":{"type":"boolean"},"unit":{"type":"string"},"description":{"type":"string"}},"required":["name","value"],"additionalProperties":false}]}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["id","time_index","camera_preset","name","data","created_at","updated_at"],"additionalProperties":false},"TreatmentV2":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false},"FullTreatmentV2":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false},"MediaV2":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"ph":{"anyOf":[{"type":"number"},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false},"FullMediaV2":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["g_per_l"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"ph":{"anyOf":[{"type":"number"},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false},"OrganismV2":{"type":"object","properties":{"reference":{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["cfu_per_ml","od"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false},"FullOrganismV2":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","const":"domain"},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"kingdom"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"phylum"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"class"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"order"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"family"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"genus"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"species"},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","const":"strain_custom"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_base":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_exponent":{"anyOf":[{"type":"number"},{"type":"null"}]},"target_concentration_unit":{"anyOf":[{"type":"string","enum":["cfu_per_ml","od"]},{"type":"null"}]},"volume":{"anyOf":[{"type":"number"},{"type":"null"}]},"volume_unit":{"anyOf":[{"type":"string","enum":["ul","ml"]},{"type":"null"}]},"control_type":{"anyOf":[{"type":"string","enum":["positive","negative","none"]},{"type":"null"}]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}},"paths":{"/openapi.json":{"get":{"description":"Retrieve the OpenAPI schema for the API.","security":[],"responses":{"200":{"description":"Default Response"}}}},"/":{"get":{"description":"Retrieve the liveness and readiness status of the API.","security":[],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","enum":["OK"]}},"required":["api"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/live":{"get":{"description":"Retrieve the liveness and readiness status of the API.","security":[],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","enum":["OK"]}},"required":["api"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/ready":{"get":{"description":"Retrieve the liveness and readiness status of the API.","security":[],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"api":{"type":"string","enum":["OK"]}},"required":["api"],"additionalProperties":false}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups":{"get":{"tags":["v2"],"description":"Retrieves all groups accessible to the authenticated organization.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}":{"get":{"tags":["v2"],"description":"Retrieves a specific group by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/v2/exports":{"get":{"tags":["v2"],"description":"Retrieves all the past and ongoing exports for the organization.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"export_type":{"type":"string","enum":["analysis","media"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"failed_at":{"nullable":true,"type":"string","format":"date-time"},"succeeded_at":{"nullable":true,"type":"string","format":"date-time"},"url":{"nullable":true,"type":"string"},"expires_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["export_type","id","name","created_at","failed_at","succeeded_at","url","expires_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Creates a new export for the organization. The export will be processed asynchronously and the response will contain the export id.\n          You will need to poll for the export to be ready using the [/v2/exports/{exportId}](#/v2/get_v2_exports__exportId_) endpoint.\n          IMPORTANT: The download URL will only be valid for a limited time (7 days).","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"export_type":{"type":"string","enum":["media"]},"name":{"type":"string"},"job_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"perspective":{"type":"string","enum":["tray","plate","well"]},"format":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"size":{"default":"original","type":"string","enum":["original","resized"]},"range":{"default":"all_timepoints","type":"string","enum":["all_timepoints","endpoint"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["video"]}},"required":["type"]}]}},"required":["export_type","name","job_id","perspective","format"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/exports/{exportId}":{"get":{"tags":["v2"],"description":"Retrieves an export by its id. The export will be processed asynchronously and the response will contain the export details, which will contain a URL to download the export.\n        Note that the endpoint might return 404 if polled too soon after the export was requested - eventually the export will be ready and the endpoint will return the export details.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"exportId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"export_type":{"type":"string","enum":["analysis","media"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"failed_at":{"nullable":true,"type":"string","format":"date-time"},"succeeded_at":{"nullable":true,"type":"string","format":"date-time"},"url":{"nullable":true,"type":"string"},"expires_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["export_type","id","name","created_at","failed_at","succeeded_at","url","expires_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates":{"get":{"tags":["v2"],"description":"Retrieves all plates for a group, with optional filtering by timestamp, label, and experiment.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"created_after","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"updated_after","required":false},{"schema":{"type":"string"},"in":"query","name":"plate_label","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"query","name":"experiment_id","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"nullable":true,"type":"string"},"experiment_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_type","plate_label","experiment_id","created_at","updated_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Creates a new plate within a group.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"nullable":true,"type":"string"}},"required":["plate_type","plate_label"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"nullable":true,"type":"string"},"experiment_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_type","plate_label","experiment_id","created_at","updated_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}":{"get":{"tags":["v2"],"description":"Retrieves a specific plate by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"nullable":true,"type":"string"},"experiment_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_type","plate_label","experiment_id","created_at","updated_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates an existing plate.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"plate_label":{"nullable":true,"type":"string"}},"required":["plate_label"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"nullable":true,"type":"string"},"experiment_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_type","plate_label","experiment_id","created_at","updated_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Deletes a plate.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/links":{"get":{"tags":["v2"],"description":"Retrieves all processed plate IDs linked to this plate.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/links/{processedPlateId}":{"post":{"tags":["v2"],"description":"Creates a link between a plate and a processed plate.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"boolean"}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"get":{"tags":["v2"],"description":"Checks if a link exists between a plate and a processed plate.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"boolean"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Removes a link between a plate and a processed plate.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells":{"get":{"tags":["v2"],"description":"Retrieves all wells for a specific plate.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"plate_id":{"type":"string"},"position":{"type":"string","pattern":"^[A-P][1-9][0-9]*$"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"note":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_id","position","control_type","note","created_at","updated_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Creates a new well within a plate.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"position":{"type":"string","pattern":"^[A-P][1-9][0-9]*$"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"note":{"nullable":true,"type":"string"},"media":{"nullable":true,"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]},"treatments":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}},"organisms":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}},"samples":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}}}},"required":["reference","properties"]}}},"required":["position","control_type","note","media","treatments","organisms","samples"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"plate_id":{"type":"string"},"position":{"type":"string","pattern":"^[A-P][1-9][0-9]*$"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"note":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_id","position","control_type","note","created_at","updated_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}":{"get":{"tags":["v2"],"description":"Retrieves a specific well by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"plate_id":{"type":"string"},"position":{"type":"string","pattern":"^[A-P][1-9][0-9]*$"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"note":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_id","position","control_type","note","created_at","updated_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates an existing well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"note":{"nullable":true,"type":"string"},"media":{"nullable":true,"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]},"treatments":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}},"organisms":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}},"samples":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}}}},"required":["reference","properties"]}}},"required":["control_type","note","media","treatments","organisms","samples"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"plate_id":{"type":"string"},"position":{"type":"string","pattern":"^[A-P][1-9][0-9]*$"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"note":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_id","position","control_type","note","created_at","updated_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}},"delete":{"tags":["v2"],"description":"Deletes a well from a plate.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"boolean"}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/treatments":{"get":{"tags":["v2"],"description":"Retrieves all treatments assigned to a well.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Assigns a treatment to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/treatments/{treatmentId}":{"get":{"tags":["v2"],"description":"Retrieves a specific treatment assigned to a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"treatmentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates the properties of a treatment assigned to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["properties"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"treatmentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Removes a treatment from a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"treatmentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/organisms":{"get":{"tags":["v2"],"description":"Retrieves all organisms assigned to a well.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Assigns an organism to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/organisms/{organismIdentifier}":{"get":{"tags":["v2"],"description":"Retrieves a specific organism assigned to a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}}}},"put":{"tags":["v2"],"description":"Updates the properties of an organism assigned to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}},"delete":{"tags":["v2"],"description":"Removes an organism from a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/media":{"get":{"tags":["v2"],"description":"Retrieves all growth media assigned to a well.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Assigns growth media to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/media/{mediaId}":{"get":{"tags":["v2"],"description":"Retrieves a specific growth media assigned to a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"mediaId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates the properties of growth media assigned to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["properties"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"mediaId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Removes growth media from a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"mediaId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/samples":{"get":{"tags":["v2"],"description":"Retrieves all samples assigned to a well.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Assigns a sample to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}}}},"required":["reference","properties"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/plates/{plateId}/wells/{wellId}/contents/samples/{sampleId}":{"get":{"tags":["v2"],"description":"Retrieves a specific sample assigned to a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates the properties of a sample assigned to a well.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}}}},"required":["properties"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false}},"required":["reference","properties"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Removes a sample from a well.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"wellId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/processed-plates":{"get":{"tags":["v2"],"description":"Retrieves all processed plates for a group, with optional filtering by timestamp and job ID.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"created_after","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"updated_after","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"query","name":"job_id","required":false},{"schema":{"type":"string","enum":["Pending","Started","Finished","Stopped","Failed"]},"in":"query","name":"status","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"job_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"device":{"type":"object","properties":{"id":{"type":"string"},"firmware_version":{"nullable":true,"type":"string"},"hardware_version":{"nullable":true,"type":"string"}},"required":["id","firmware_version","hardware_version"],"additionalProperties":false},"position":{"type":"string"},"status":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"temperatures":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"temperature":{"type":"number"}},"required":["timestamp","temperature"],"additionalProperties":false}},"project":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","job_id","email","device","position","status","plate_type","temperatures","project","created_at","updated_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}/processed-plates/{processedPlateId}":{"get":{"tags":["v2"],"description":"Retrieves a specific processed plate by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"job_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"device":{"type":"object","properties":{"id":{"type":"string"},"firmware_version":{"nullable":true,"type":"string"},"hardware_version":{"nullable":true,"type":"string"}},"required":["id","firmware_version","hardware_version"],"additionalProperties":false},"position":{"type":"string"},"status":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"temperatures":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"temperature":{"type":"number"}},"required":["timestamp","temperature"],"additionalProperties":false}},"project":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","job_id","email","device","position","status","plate_type","temperatures","project","created_at","updated_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/processed-plates/{processedPlateId}/link":{"get":{"tags":["v2"],"description":"Retrieves the plate ID linked to this processed plate, if any.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"plateId":{"nullable":true,"type":"string"}},"required":["plateId"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/processed-plates/{processedPlateId}/processed-wells":{"get":{"tags":["v2"],"description":"Retrieves all processed wells for a specific processed plate.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"position":{"type":"string"},"excluded":{"description":"Whether the processed well is excluded.","type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","position","excluded","created_at","updated_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}/processed-plates/{processedPlateId}/processed-wells/{processedWellId}":{"get":{"tags":["v2"],"description":"Retrieves a specific processed well by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedWellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"position":{"type":"string"},"excluded":{"description":"Whether the processed well is excluded.","type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","position","excluded","created_at","updated_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/processed-plates/{processedPlateId}/processed-wells/{processedWellId}/analyses":{"get":{"tags":["v2"],"description":"Retrieves all analysis results for a specific processed well.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedWellId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"string"}]},"time_index":{"type":"number"},"camera_preset":{"type":"string"},"name":{"type":"string"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"value":{},"tntc":{"type":"boolean"},"unit":{"type":"string"},"description":{"type":"string"}},"required":["name","value"],"additionalProperties":false}]}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","time_index","camera_preset","name","data","created_at","updated_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}/processed-plates/{processedPlateId}/processed-wells/{processedWellId}/analyses/{analysisId}":{"get":{"tags":["v2"],"description":"Retrieves a specific analysis result by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedWellId","required":true},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"string"}]},"in":"path","name":"analysisId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"string"}]},"time_index":{"type":"number"},"camera_preset":{"type":"string"},"name":{"type":"string"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"value":{},"tntc":{"type":"boolean"},"unit":{"type":"string"},"description":{"type":"string"}},"required":["name","value"],"additionalProperties":false}]}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","time_index","camera_preset","name","data","created_at","updated_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/processed-plates/{processedPlateId}/analyses":{"get":{"tags":["v2"],"description":"Get all analysis results for a processed plate (batch endpoint)","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"processedPlateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},{"type":"string"}]},"time_index":{"type":"number"},"camera_preset":{"type":"string"},"name":{"type":"string"},"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"value":{},"tntc":{"type":"boolean"},"unit":{"type":"string"},"description":{"type":"string"}},"required":["name","value"],"additionalProperties":false}]}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"},"processed_well":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"position":{"type":"string"}},"required":["id","position"],"additionalProperties":false}},"required":["id","time_index","camera_preset","name","data","created_at","updated_at","processed_well"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/organisms":{"get":{"tags":["v2"],"description":"Searches the public organism database by name or taxonomic level.","parameters":[{"schema":{"type":"string","minLength":2},"in":"query","name":"query","required":true},{"schema":{"type":"string","enum":["domain","kingdom","phylum","class","order","family","genus","species"]},"in":"query","name":"level","required":true},{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/organisms/{organismIdentifier}":{"get":{"tags":["v2"],"description":"Retrieves an organism by its identifier.","parameters":[{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/organisms":{"get":{"tags":["v2"],"description":"Retrieves all custom organisms for a group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Creates a new custom organism within a group.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/organisms/{organismIdentifier}/genotypes":{"get":{"tags":["v2"],"description":"Retrieves active genotypes for a custom organism.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"strain_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"type":"string"},"source":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","strain_id","name","description","source","created_at","updated_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["v2"],"description":"Creates a genotype for a custom organism.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":250},"description":{"default":"","type":"string","maxLength":10000},"source":{"nullable":true,"type":"string","maxLength":2000}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"strain_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"type":"string"},"source":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","strain_id","name","description","source","created_at","updated_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/genotypes/{genotypeId}":{"get":{"tags":["v2"],"description":"Retrieves a genotype.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"genotypeId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"strain_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"type":"string"},"source":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","strain_id","name","description","source","created_at","updated_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates an active genotype.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":250},"description":{"default":"","type":"string","maxLength":10000},"source":{"nullable":true,"type":"string","maxLength":2000}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"genotypeId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"strain_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"type":"string"},"source":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","strain_id","name","description","source","created_at","updated_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Deletes a genotype.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"genotypeId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/organisms/{organismIdentifier}":{"get":{"tags":["v2"],"description":"Retrieves a specific custom organism by its identifier.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates an existing custom organism.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Deletes a custom organism.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string"},"in":"path","name":"organismIdentifier","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/treatments":{"get":{"tags":["v2"],"description":"Retrieves all treatments for a group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["v2"],"description":"Creates a new treatment within a group.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/treatments/{treatmentId}":{"get":{"tags":["v2"],"description":"Retrieves a specific treatment by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"treatmentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates an existing treatment.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"treatmentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Deletes a treatment.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"treatmentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/samples":{"get":{"tags":["v2"],"description":"Retrieves all samples for a group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["v2"],"description":"Creates a new sample within a group.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/samples/{sampleId}":{"get":{"tags":["v2"],"description":"Retrieves a specific sample by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates an existing sample.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Deletes a sample.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"sampleId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/media":{"get":{"tags":["v2"],"description":"Retrieves all growth media (e.g., agar, water) for a group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Creates a new growth media within a group.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/media/{mediaId}":{"get":{"tags":["v2"],"description":"Retrieves a specific growth media by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"mediaId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Updates an existing growth media.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"mediaId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Deletes a growth media.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"mediaId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/jobs":{"get":{"tags":["v2"],"description":"Retrieves all the past and ongoing jobs for the group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string"},"in":"query","name":"name","required":false},{"schema":{"type":"string","enum":["Pending","Started","Finished","Stopped","Failed"]},"in":"query","name":"status","required":false},{"schema":{"type":"string","enum":["NotConfigured","Processing","Finished","Failed"]},"in":"query","name":"analysis_status","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"analysis_updated_after","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"created_after","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"created_before","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"query","name":"project_id","required":false},{"schema":{"type":"string"},"in":"query","name":"bot_id","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"query","name":"tag_id","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"query","name":"experiment_id","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"status":{"type":"string","enum":["Pending","Started","Finished","Stopped","Failed"]},"analysis_status":{"type":"string","enum":["NotConfigured","Processing","Finished","Failed"]},"analysis_updated_at":{"nullable":true,"type":"string","format":"date-time"},"project_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"bot_id":{"type":"string"},"started_at":{"nullable":true,"type":"string","format":"date-time"},"ended_at":{"nullable":true,"type":"string","format":"date-time"},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["id","name","color"],"additionalProperties":false}}},"required":["id","name","status","analysis_status","analysis_updated_at","project_id","bot_id","started_at","ended_at","tags"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}/jobs/{jobId}":{"get":{"tags":["v2"],"description":"Retrieves a job by its id.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"status":{"type":"string","enum":["Pending","Started","Finished","Stopped","Failed"]},"analysis_status":{"type":"string","enum":["NotConfigured","Processing","Finished","Failed"]},"analysis_updated_at":{"nullable":true,"type":"string","format":"date-time"},"project_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"bot_id":{"type":"string"},"started_at":{"nullable":true,"type":"string","format":"date-time"},"ended_at":{"nullable":true,"type":"string","format":"date-time"},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["id","name","color"],"additionalProperties":false}}},"required":["id","name","status","analysis_status","analysis_updated_at","project_id","bot_id","started_at","ended_at","tags"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/jobs/{jobId}/tags":{"put":{"tags":["v2"],"description":"Replaces all tag assignments for a job. Pass an empty array to remove all tags.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tag_ids":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}},"required":["tag_ids"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"status":{"type":"string","enum":["Pending","Started","Finished","Stopped","Failed"]},"analysis_status":{"type":"string","enum":["NotConfigured","Processing","Finished","Failed"]},"analysis_updated_at":{"nullable":true,"type":"string","format":"date-time"},"project_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"bot_id":{"type":"string"},"started_at":{"nullable":true,"type":"string","format":"date-time"},"ended_at":{"nullable":true,"type":"string","format":"date-time"},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["id","name","color"],"additionalProperties":false}}},"required":["id","name","status","analysis_status","analysis_updated_at","project_id","bot_id","started_at","ended_at","tags"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/projects":{"get":{"tags":["v2"],"description":"Retrieves all projects for the group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string"},"in":"query","name":"name","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"}},"required":["id","name","description","created_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}/projects/{projectId}":{"get":{"tags":["v2"],"description":"Retrieves a project by its id.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"projectId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"created_at":{"type":"string","format":"date-time"}},"required":["id","name","description","created_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/tags":{"get":{"tags":["v2"],"description":"Retrieves all tags for the authenticated organization.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"created_at":{"type":"string","format":"date-time"}},"required":["id","name","color","created_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Creates a new tag for the authenticated organization. Tag names must be unique within an organization.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["name"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"created_at":{"type":"string","format":"date-time"}},"required":["id","name","color","created_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/tags/{tagId}":{"get":{"tags":["v2"],"description":"Retrieves a specific tag by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"tagId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"created_at":{"type":"string","format":"date-time"}},"required":["id","name","color","created_at"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/experiments":{"get":{"tags":["v2"],"description":"Retrieves all experiments for a group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"replicates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"target_temperatures":{"nullable":true,"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"plate_type":{"nullable":true,"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"},"assay_analyses":{"type":"array","items":{"type":"object","properties":{"assay_analysis_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"run_config_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"domain":{"nullable":true,"type":"string"}},"required":["assay_analysis_id","name","run_config_id","domain"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["id","name","color"],"additionalProperties":false}},"plate_templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","plate_type","author","created_at","updated_at"],"additionalProperties":false}}},"required":["id","name","description","replicates","target_temperatures","plate_type","author","created_at","updated_at","assay_analyses","tags","plate_templates"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}},"post":{"tags":["v2"],"description":"Creates an experiment, optionally with initial assay analyses, tags, and plate templates.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":500},"description":{"nullable":true,"type":"string"},"replicates":{"default":1,"type":"integer","minimum":1,"maximum":9007199254740991},"target_temperatures":{"nullable":true,"type":"array","items":{"type":"integer","minimum":10,"maximum":40}},"plate_type":{"nullable":true,"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"assay_analysis_ids":{"default":[],"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"tag_ids":{"default":[],"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"plate_template_ids":{"default":[],"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}},"required":["name"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"replicates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"target_temperatures":{"nullable":true,"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"plate_type":{"nullable":true,"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"},"assay_analyses":{"type":"array","items":{"type":"object","properties":{"assay_analysis_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"run_config_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"domain":{"nullable":true,"type":"string"}},"required":["assay_analysis_id","name","run_config_id","domain"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["id","name","color"],"additionalProperties":false}},"plate_templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","plate_type","author","created_at","updated_at"],"additionalProperties":false}}},"required":["id","name","description","replicates","target_temperatures","plate_type","author","created_at","updated_at","assay_analyses","tags","plate_templates"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/experiments/{experimentId}":{"get":{"tags":["v2"],"description":"Retrieves an experiment by its ID.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"replicates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"target_temperatures":{"nullable":true,"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"plate_type":{"nullable":true,"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"},"assay_analyses":{"type":"array","items":{"type":"object","properties":{"assay_analysis_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"run_config_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"domain":{"nullable":true,"type":"string"}},"required":["assay_analysis_id","name","run_config_id","domain"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["id","name","color"],"additionalProperties":false}},"plate_templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","plate_type","author","created_at","updated_at"],"additionalProperties":false}}},"required":["id","name","description","replicates","target_temperatures","plate_type","author","created_at","updated_at","assay_analyses","tags","plate_templates"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["v2"],"description":"Replaces an experiment, including assay-analysis, tag, and plate-template assignments.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":500},"description":{"nullable":true,"type":"string"},"replicates":{"type":"integer","minimum":1,"maximum":9007199254740991},"target_temperatures":{"nullable":true,"type":"array","items":{"type":"integer","minimum":10,"maximum":40}},"plate_type":{"nullable":true,"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"assay_analysis_ids":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"tag_ids":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"plate_template_ids":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}},"required":["name","description","replicates","target_temperatures","plate_type","assay_analysis_ids","tag_ids","plate_template_ids"]}}},"required":true},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"replicates":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"target_temperatures":{"nullable":true,"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"plate_type":{"nullable":true,"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"},"assay_analyses":{"type":"array","items":{"type":"object","properties":{"assay_analysis_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"run_config_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"domain":{"nullable":true,"type":"string"}},"required":["assay_analysis_id","name","run_config_id","domain"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"}},"required":["id","name","color"],"additionalProperties":false}},"plate_templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","plate_type","author","created_at","updated_at"],"additionalProperties":false}}},"required":["id","name","description","replicates","target_temperatures","plate_type","author","created_at","updated_at","assay_analyses","tags","plate_templates"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Deletes an experiment and removes its parameter and plate assignments.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/experiments/{experimentId}/plates/{plateId}":{"put":{"tags":["v2"],"description":"Assigns a physical plate to an experiment.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"plate_label":{"nullable":true,"type":"string"},"experiment_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","plate_type","plate_label","experiment_id","created_at","updated_at"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["v2"],"description":"Removes a physical plate from an experiment.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateId","required":true}],"responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/v2/groups/{groupId}/experiments/{experimentId}/organisms":{"get":{"tags":["v2"],"description":"Retrieves all organism parameters for an experiment.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}}}},"put":{"tags":["v2"],"description":"Replaces all organism parameters for an experiment.","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/experiments/{experimentId}/treatments":{"get":{"tags":["v2"],"description":"Retrieves all treatment parameters for an experiment.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}}}},"put":{"tags":["v2"],"description":"Replaces all treatment parameters for an experiment.","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/experiments/{experimentId}/media":{"get":{"tags":["v2"],"description":"Retrieves all media parameters for an experiment.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}}}},"put":{"tags":["v2"],"description":"Replaces all media parameters for an experiment.","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}}}},"required":["reference","properties"]}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/experiments/{experimentId}/samples":{"get":{"tags":["v2"],"description":"Retrieves all sample parameters for an experiment.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}}}},"put":{"tags":["v2"],"description":"Replaces all sample parameters for an experiment.","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["id"]},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}}}},"required":["reference","properties"]}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"experimentId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["reference","properties","id"],"additionalProperties":false}}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"This API key is read-only"},"statusCode":{"type":"integer","example":403}},"required":["error","message","statusCode"]}}}}}}},"/v2/groups/{groupId}/assay-analyses":{"get":{"tags":["v2"],"description":"Retrieves non-draft, non-archived assay analyses assignable to a group.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"run_config_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"domain":{"nullable":true,"type":"string"}},"required":["id","name","description","run_config_id","domain"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}/plate-templates":{"get":{"tags":["v2"],"description":"Retrieves plate templates for a group, optionally filtered by experiment.","parameters":[{"schema":{"default":1,"type":"number","minimum":1},"in":"query","name":"page","required":false},{"schema":{"default":50,"type":"number","minimum":1,"maximum":100},"in":"query","name":"size","required":false},{"schema":{"type":"string"},"in":"query","name":"name","required":false},{"schema":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"in":"query","name":"plate_type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"query","name":"experiment_id","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"}},"required":["id","name","description","plate_type","author","created_at","updated_at"],"additionalProperties":false}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"size":{"type":"number"},"next_url":{"type":"string"},"previous_url":{"type":"string"}},"required":["page","size"],"additionalProperties":false}},"required":["data","pagination"],"additionalProperties":false}}}}}}},"/v2/groups/{groupId}/plate-templates/{plateTemplateId}":{"get":{"tags":["v2"],"description":"Retrieves a plate template and its complete well matrix.","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"groupId","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"in":"path","name":"plateTemplateId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"},"description":{"nullable":true,"type":"string"},"plate_type":{"type":"string","enum":["OmniTray","Petri Dish","SBS 6 well","SBS 12 well","SBS 24 well","SBS 48 well","SBS 96 well","SBS 384 well","OmniTray 6 well","OmniTray 24 well","OmniTray 48 well","OmniTray 96 well"]},"author":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"nullable":true,"type":"string","format":"date-time"},"wells":{"type":"array","items":{"type":"array","items":{"type":"object","properties":{"well_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"row":{"type":"integer","minimum":0,"maximum":9007199254740991},"col":{"type":"integer","minimum":0,"maximum":9007199254740991},"note":{"nullable":true,"type":"string"},"organisms":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["variable"]},"placeholder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["type","placeholder","properties"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["set"]},"reference":{"allOf":[{"type":"object","properties":{"identifier":{"type":"string"}},"required":["identifier"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"level":{"type":"string","enum":["domain"]},"domain":{"type":"string"}},"required":["level","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["kingdom"]},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["phylum"]},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["class"]},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["order"]},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["family"]},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["genus"]},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["species"]},"species":{"type":"string"},"genus":{"type":"string"},"family":{"type":"string"},"order":{"type":"string"},"class":{"type":"string"},"phylum":{"type":"string"},"kingdom":{"type":"string"},"domain":{"type":"string"}},"required":["level","species","genus","family","order","class","phylum","kingdom","domain"],"additionalProperties":false},{"type":"object","properties":{"level":{"type":"string","enum":["strain_custom"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["level","id","name"],"additionalProperties":false}]}]},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["cfu_per_ml","od"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["type","reference","properties"],"additionalProperties":false}]}},"treatments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["variable"]},"placeholder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["type","placeholder","properties"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["set"]},"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["ppm","ug_per_l","mg_per_l","g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["type","reference","properties"],"additionalProperties":false}]}},"samples":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["variable"]},"placeholder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false}},"required":["type","placeholder","properties"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["set"]},"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"dilution_factor_base":{"nullable":true,"type":"number"},"dilution_factor_exponent":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"mass":{"nullable":true,"type":"number"},"mass_unit":{"nullable":true,"type":"string","enum":["mg","g"]}},"additionalProperties":false}},"required":["type","reference","properties"],"additionalProperties":false}]}},"media":{"nullable":true,"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["variable"]},"placeholder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["type","placeholder","properties"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["set"]},"reference":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"properties":{"type":"object","properties":{"target_concentration_coef":{"nullable":true,"type":"number"},"target_concentration_base":{"nullable":true,"type":"number"},"target_concentration_exponent":{"nullable":true,"type":"number"},"target_concentration_unit":{"nullable":true,"type":"string","enum":["g_per_l"]},"volume":{"nullable":true,"type":"number"},"volume_unit":{"nullable":true,"type":"string","enum":["ul","ml"]},"ph":{"nullable":true,"type":"number"},"control_type":{"nullable":true,"type":"string","enum":["positive","negative","none"]}},"additionalProperties":false}},"required":["type","reference","properties"],"additionalProperties":false}]}},"required":["well_id","row","col","note","organisms","treatments","samples","media"],"additionalProperties":false}}}},"required":["id","name","description","plate_type","author","created_at","updated_at","wells"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}}},"security":[{"Bearer":[]}]}