{
    "description": "The One Codex API (v1) -- programmatic access to One Codex's suite of microbial genomics data storage, analysis, and query tools.",
    "properties": {
        "alignments": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/alignments/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/alignments",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "complete": {
                                        "description": "Sort by complete in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "error_msg": {
                                        "description": "Sort by error_msg in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "job": {
                                        "description": "Sort by job in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "sample": {
                                        "description": "Sort by sample in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "success": {
                                        "description": "Sort by success in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "tax_id": {
                                        "description": "Sort by tax_id in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/alignments\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/alignments\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/alignments\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/alignments\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "complete": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "error_msg": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 255,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 255,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "job": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "sample": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "success": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "tax_id": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "integer",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "integer",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/alignments/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/alignments\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "complete": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "created_at": {
                    "format": "date-time",
                    "readOnly": true,
                    "type": "string"
                },
                "error_msg": {
                    "maxLength": 255,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "job": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "sample": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "success": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "tax_id": {
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "analyses": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/analyses/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/analyses",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "analysis_type": {
                                        "description": "Sort by analysis_type in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "complete": {
                                        "description": "Sort by complete in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "error_msg": {
                                        "description": "Sort by error_msg in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "job": {
                                        "description": "Sort by job in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "sample": {
                                        "description": "Sort by sample in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "success": {
                                        "description": "Sort by success in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "analysis_type": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 50,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 50,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 50,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 50,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "complete": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "error_msg": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 255,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 255,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "job": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "sample": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "success": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/analyses/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "analysis_type": {
                    "maxLength": 50,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "complete": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "created_at": {
                    "format": "date-time",
                    "readOnly": true,
                    "type": "string"
                },
                "error_msg": {
                    "maxLength": 255,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "job": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "sample": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "success": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "classifications": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/classifications/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/classifications",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "complete": {
                                        "description": "Sort by complete in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "error_msg": {
                                        "description": "Sort by error_msg in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "job": {
                                        "description": "Sort by job in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "sample": {
                                        "description": "Sort by sample in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "success": {
                                        "description": "Sort by success in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/classifications\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/classifications\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/classifications\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/classifications\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "complete": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "error_msg": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 255,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 255,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "job": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "sample": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "success": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/classifications/{id}/readlevel",
                    "method": "GET",
                    "rel": "readlevel",
                    "targetSchema": {
                        "properties": {
                            "url": {
                                "format": "uri",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/classifications/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/classifications/{id}/results",
                    "method": "GET",
                    "rel": "results",
                    "targetSchema": {
                        "additionalProperties": false,
                        "properties": {
                            "n_reads": {
                                "minimum": 1,
                                "type": "integer"
                            },
                            "table": {
                                "default": [],
                                "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                        "name": {
                                            "type": "string"
                                        },
                                        "rank": {
                                            "type": "string"
                                        },
                                        "readcount": {
                                            "minimum": 1,
                                            "type": "integer"
                                        },
                                        "readcount_w_children": {
                                            "minimum": 1,
                                            "type": "integer"
                                        },
                                        "species_abundance": {
                                            "maximum": 1.0,
                                            "minimum": 0.0,
                                            "type": [
                                                "number",
                                                "null"
                                            ]
                                        },
                                        "tax_id": {
                                            "minimum": 1,
                                            "type": "integer"
                                        }
                                    },
                                    "type": "object"
                                },
                                "type": "array"
                            }
                        },
                        "type": "object"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/classifications\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "complete": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "created_at": {
                    "format": "date-time",
                    "readOnly": true,
                    "type": "string"
                },
                "error_msg": {
                    "maxLength": 255,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "job": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "sample": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "success": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "jobs": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/jobs/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/jobs",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "analysis_type": {
                                        "description": "Sort by analysis_type in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "current": {
                                        "description": "Sort by current in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "name": {
                                        "description": "Sort by name in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "public": {
                                        "description": "Sort by public in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "analysis_type": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 50,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 50,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 50,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 50,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "current": {
                                        "anyOf": [
                                            {
                                                "default": true,
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "default": true,
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "default": true,
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "default": true,
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "name": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 60,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 60,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 60,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 60,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "public": {
                                        "anyOf": [
                                            {
                                                "default": false,
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "default": false,
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "default": false,
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "default": false,
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/jobs/{id}/run",
                    "method": "POST",
                    "rel": "run",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "job_args": {
                                "additionalProperties": {
                                    "type": [
                                        "null",
                                        "string",
                                        "number",
                                        "boolean",
                                        "object",
                                        "array"
                                    ]
                                },
                                "type": "object"
                            },
                            "sample": {
                                "anyOf": [
                                    {
                                        "additionalProperties": false,
                                        "properties": {
                                            "$ref": {
                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    {
                                        "maxLength": 16,
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                ]
                            }
                        },
                        "required": [
                            "sample",
                            "job_args"
                        ],
                        "type": "object"
                    },
                    "targetSchema": {
                        "additionalProperties": false,
                        "properties": {
                            "$ref": {
                                "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/jobs/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "analysis_type": {
                    "maxLength": 50,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "created_at": {
                    "format": "date-time",
                    "readOnly": true,
                    "type": "string"
                },
                "current": {
                    "default": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "name": {
                    "maxLength": 60,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "public": {
                    "default": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "markerpanels": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/markerpanels/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/markerpanels",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "complete": {
                                        "description": "Sort by complete in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "error_msg": {
                                        "description": "Sort by error_msg in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "job": {
                                        "description": "Sort by job in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "sample": {
                                        "description": "Sort by sample in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "success": {
                                        "description": "Sort by success in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/markerpanels\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/markerpanels\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/markerpanels\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/markerpanels\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "complete": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "error_msg": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 255,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 255,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "job": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "sample": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "success": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/markerpanels/{id}/results",
                    "method": "GET",
                    "rel": "results",
                    "targetSchema": {
                        "properties": {
                            "panel_name": {
                                "type": "string"
                            },
                            "panel_results": {
                                "type": [
                                    "null",
                                    "string",
                                    "number",
                                    "boolean",
                                    "object",
                                    "array"
                                ]
                            }
                        },
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/markerpanels/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/markerpanels\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "complete": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "created_at": {
                    "format": "date-time",
                    "readOnly": true,
                    "type": "string"
                },
                "error_msg": {
                    "maxLength": 255,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "job": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/jobs\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "sample": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "success": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "metadata": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/metadata",
                    "method": "POST",
                    "rel": "create",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "date_collected": {
                                "format": "date-time",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "date_sequenced": {
                                "format": "date-time",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "description": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "external_sample_id": {
                                "maxLength": 60,
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "library_type": {
                                "enum": [
                                    "WGS",
                                    "Targeted/16S",
                                    "Other",
                                    null
                                ],
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "location_lat": {
                                "maximum": 90.0,
                                "minimum": -90.0,
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "location_lon": {
                                "maximum": 180.0,
                                "minimum": -180.0,
                                "type": [
                                    "number",
                                    "null"
                                ]
                            },
                            "location_string": {
                                "maxLength": 255,
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "name": {
                                "maxLength": 255,
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "platform": {
                                "enum": [
                                    "Illumina MiSeq",
                                    "Illumina HiSeq",
                                    "Illumina NextSeq 500",
                                    "Illumina Genome Analyzer II",
                                    "PacBio",
                                    "Oxford Nanopore MinION",
                                    "Ion Torrent",
                                    "Ion Proton",
                                    "SOLiD",
                                    "454 sequencing",
                                    "Sanger",
                                    null
                                ],
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "sample_type": {
                                "enum": [
                                    "Isolate",
                                    "Metagenomic",
                                    "Other",
                                    null
                                ],
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/metadata/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/metadata",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "date_collected": {
                                        "description": "Sort by date_collected in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "date_sequenced": {
                                        "description": "Sort by date_sequenced in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "description": {
                                        "description": "Sort by description in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "external_sample_id": {
                                        "description": "Sort by external_sample_id in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "library_type": {
                                        "description": "Sort by library_type in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "location_lat": {
                                        "description": "Sort by location_lat in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "location_lon": {
                                        "description": "Sort by location_lon in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "location_string": {
                                        "description": "Sort by location_string in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "name": {
                                        "description": "Sort by name in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "platform": {
                                        "description": "Sort by platform in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "sample": {
                                        "description": "Sort by sample in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "sample_type": {
                                        "description": "Sort by sample_type in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "date_collected": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "date_sequenced": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "description": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "external_sample_id": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 60,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 60,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 60,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 60,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "library_type": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "enum": [
                                                            "WGS",
                                                            "Targeted/16S",
                                                            "Other",
                                                            null
                                                        ],
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "enum": [
                                                                "WGS",
                                                                "Targeted/16S",
                                                                "Other",
                                                                null
                                                            ],
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "enum": [
                                                            "WGS",
                                                            "Targeted/16S",
                                                            "Other",
                                                            null
                                                        ],
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "enum": [
                                                    "WGS",
                                                    "Targeted/16S",
                                                    "Other",
                                                    null
                                                ],
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "location_lat": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maximum": 90.0,
                                                        "minimum": -90.0,
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maximum": 90.0,
                                                            "minimum": -90.0,
                                                            "type": [
                                                                "number",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maximum": 90.0,
                                                        "minimum": -90.0,
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maximum": 90.0,
                                                "minimum": -90.0,
                                                "type": [
                                                    "number",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "location_lon": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maximum": 180.0,
                                                        "minimum": -180.0,
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maximum": 180.0,
                                                            "minimum": -180.0,
                                                            "type": [
                                                                "number",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maximum": 180.0,
                                                        "minimum": -180.0,
                                                        "type": [
                                                            "number",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maximum": 180.0,
                                                "minimum": -180.0,
                                                "type": [
                                                    "number",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "location_string": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 255,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 255,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "name": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 255,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 255,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 255,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "platform": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "enum": [
                                                            "Illumina MiSeq",
                                                            "Illumina HiSeq",
                                                            "Illumina NextSeq 500",
                                                            "Illumina Genome Analyzer II",
                                                            "PacBio",
                                                            "Oxford Nanopore MinION",
                                                            "Ion Torrent",
                                                            "Ion Proton",
                                                            "SOLiD",
                                                            "454 sequencing",
                                                            "Sanger",
                                                            null
                                                        ],
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "enum": [
                                                                "Illumina MiSeq",
                                                                "Illumina HiSeq",
                                                                "Illumina NextSeq 500",
                                                                "Illumina Genome Analyzer II",
                                                                "PacBio",
                                                                "Oxford Nanopore MinION",
                                                                "Ion Torrent",
                                                                "Ion Proton",
                                                                "SOLiD",
                                                                "454 sequencing",
                                                                "Sanger",
                                                                null
                                                            ],
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "enum": [
                                                            "Illumina MiSeq",
                                                            "Illumina HiSeq",
                                                            "Illumina NextSeq 500",
                                                            "Illumina Genome Analyzer II",
                                                            "PacBio",
                                                            "Oxford Nanopore MinION",
                                                            "Ion Torrent",
                                                            "Ion Proton",
                                                            "SOLiD",
                                                            "454 sequencing",
                                                            "Sanger",
                                                            null
                                                        ],
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "enum": [
                                                    "Illumina MiSeq",
                                                    "Illumina HiSeq",
                                                    "Illumina NextSeq 500",
                                                    "Illumina Genome Analyzer II",
                                                    "PacBio",
                                                    "Oxford Nanopore MinION",
                                                    "Ion Torrent",
                                                    "Ion Proton",
                                                    "SOLiD",
                                                    "454 sequencing",
                                                    "Sanger",
                                                    null
                                                ],
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "sample": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "sample_type": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "enum": [
                                                            "Isolate",
                                                            "Metagenomic",
                                                            "Other",
                                                            null
                                                        ],
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "enum": [
                                                                "Isolate",
                                                                "Metagenomic",
                                                                "Other",
                                                                null
                                                            ],
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "enum": [
                                                            "Isolate",
                                                            "Metagenomic",
                                                            "Other",
                                                            null
                                                        ],
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "enum": [
                                                    "Isolate",
                                                    "Metagenomic",
                                                    "Other",
                                                    null
                                                ],
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/metadata/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/metadata/{id}",
                    "method": "PATCH",
                    "rel": "update",
                    "schema": {
                        "$ref": "#"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "date_collected": {
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "date_sequenced": {
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "description": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "external_sample_id": {
                    "maxLength": 60,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "library_type": {
                    "enum": [
                        "WGS",
                        "Targeted/16S",
                        "Other",
                        null
                    ],
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "location_lat": {
                    "maximum": 90.0,
                    "minimum": -90.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "location_lon": {
                    "maximum": 180.0,
                    "minimum": -180.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "location_string": {
                    "maxLength": 255,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "name": {
                    "maxLength": 255,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "platform": {
                    "enum": [
                        "Illumina MiSeq",
                        "Illumina HiSeq",
                        "Illumina NextSeq 500",
                        "Illumina Genome Analyzer II",
                        "PacBio",
                        "Oxford Nanopore MinION",
                        "Ion Torrent",
                        "Ion Proton",
                        "SOLiD",
                        "454 sequencing",
                        "Sanger",
                        null
                    ],
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sample": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "sample_type": {
                    "enum": [
                        "Isolate",
                        "Metagenomic",
                        "Other",
                        null
                    ],
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "projects": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/projects/{id}/add_user",
                    "method": "POST",
                    "rel": "add_user",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "permissions": {
                                "default": [
                                    "can_see_files",
                                    "can_add_files",
                                    "can_edit_metadata"
                                ],
                                "items": {
                                    "type": "string"
                                },
                                "maxItems": 6,
                                "minItems": 0,
                                "type": "array",
                                "_uniqueItems": true
                            },
                            "user": {
                                "anyOf": [
                                    {
                                        "additionalProperties": false,
                                        "properties": {
                                            "$ref": {
                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    {
                                        "maxLength": 16,
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                ]
                            }
                        },
                        "required": [
                            "user"
                        ],
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/projects/{id}/change_sharing",
                    "method": "POST",
                    "rel": "change_sharing",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "public": {
                                "default": false,
                                "type": "boolean"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/projects",
                    "method": "POST",
                    "rel": "create",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "description": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "name": {
                                "maxLength": 60,
                                "type": "string"
                            },
                            "project_name": {
                                "maxLength": 15,
                                "minLength": 3,
                                "pattern": "^[\\w]+$",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/projects/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/projects/{id}",
                    "method": "DELETE",
                    "rel": "destroy"
                },
                {
                    "href": "/api/v1/projects",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "description": {
                                        "description": "Sort by description in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "name": {
                                        "description": "Sort by name in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "owner": {
                                        "description": "Sort by owner in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "project_name": {
                                        "description": "Sort by project_name in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "public": {
                                        "description": "Sort by public in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "description": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "name": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 60,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 60,
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 60,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 60,
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "owner": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "permissions": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "project_name": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 15,
                                                        "minLength": 3,
                                                        "pattern": "^[\\w]+$",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 15,
                                                            "minLength": 3,
                                                            "pattern": "^[\\w]+$",
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 15,
                                                        "minLength": 3,
                                                        "pattern": "^[\\w]+$",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 15,
                                                "minLength": 3,
                                                "pattern": "^[\\w]+$",
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "public": {
                                        "anyOf": [
                                            {
                                                "default": false,
                                                "type": "boolean"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "default": false,
                                                        "type": "boolean"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "default": false,
                                                        "type": "boolean"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "default": false,
                                                            "type": "boolean"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/projects/public",
                    "method": "GET",
                    "rel": "instances_public",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "description": {
                                        "description": "Sort by description in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "name": {
                                        "description": "Sort by name in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "owner": {
                                        "description": "Sort by owner in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "project_name": {
                                        "description": "Sort by project_name in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "public": {
                                        "description": "Sort by public in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "description": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "name": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 60,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 60,
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 60,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 60,
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "owner": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "permissions": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "project_name": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 15,
                                                        "minLength": 3,
                                                        "pattern": "^[\\w]+$",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 15,
                                                            "minLength": 3,
                                                            "pattern": "^[\\w]+$",
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 15,
                                                        "minLength": 3,
                                                        "pattern": "^[\\w]+$",
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 15,
                                                "minLength": 3,
                                                "pattern": "^[\\w]+$",
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "public": {
                                        "anyOf": [
                                            {
                                                "default": false,
                                                "type": "boolean"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "default": false,
                                                        "type": "boolean"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "default": false,
                                                        "type": "boolean"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "default": false,
                                                            "type": "boolean"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/projects/{id}/members",
                    "method": "GET",
                    "rel": "members",
                    "targetSchema": {
                        "default": [],
                        "items": {
                            "additionalProperties": false,
                            "properties": {
                                "permissions": {
                                    "default": [
                                        "can_see_files",
                                        "can_add_files",
                                        "can_edit_metadata"
                                    ],
                                    "items": {
                                        "type": "string"
                                    },
                                    "maxItems": 6,
                                    "minItems": 0,
                                    "type": "array",
                                    "_uniqueItems": true
                                },
                                "user": {
                                    "additionalProperties": false,
                                    "properties": {
                                        "$ref": {
                                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/projects/{id}/remove_user",
                    "method": "POST",
                    "rel": "remove_user",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "user": {
                                "anyOf": [
                                    {
                                        "additionalProperties": false,
                                        "properties": {
                                            "$ref": {
                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    {
                                        "maxLength": 16,
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                ]
                            }
                        },
                        "required": [
                            "user"
                        ],
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/projects/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/projects/{id}",
                    "method": "PATCH",
                    "rel": "update",
                    "schema": {
                        "$ref": "#"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "description": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "name": {
                    "maxLength": 60,
                    "type": "string"
                },
                "owner": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "readOnly": true,
                    "type": "object"
                },
                "permissions": {
                    "default": [
                        "can_see_files",
                        "can_add_files",
                        "can_edit_metadata"
                    ],
                    "items": {
                        "type": "string"
                    },
                    "maxItems": 6,
                    "minItems": 0,
                    "readOnly": true,
                    "type": "array",
                    "_uniqueItems": true
                },
                "project_name": {
                    "maxLength": 15,
                    "minLength": 3,
                    "pattern": "^[\\w]+$",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "public": {
                    "default": false,
                    "readOnly": true,
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "samples": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/samples/{id}/change_project",
                    "method": "POST",
                    "rel": "change_project",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "project": {
                                "anyOf": [
                                    {
                                        "additionalProperties": false,
                                        "properties": {
                                            "$ref": {
                                                "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    {
                                        "maxLength": 16,
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                ]
                            }
                        },
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/samples/{id}/change_sharing",
                    "method": "POST",
                    "rel": "change_sharing",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "indexed": {
                                "default": false,
                                "type": "boolean"
                            },
                            "public": {
                                "default": false,
                                "type": "boolean"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/samples/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/samples/{id}",
                    "method": "DELETE",
                    "rel": "destroy"
                },
                {
                    "href": "/api/v1/samples/{id}/download_uri",
                    "method": "POST",
                    "rel": "download_uri",
                    "targetSchema": {
                        "properties": {
                            "download_uri": {
                                "type": "string"
                            },
                            "expires_in_hours": {
                                "type": "integer"
                            }
                        },
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/samples",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "filename": {
                                        "description": "Sort by filename in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "indexed": {
                                        "description": "Sort by indexed in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "metadata": {
                                        "description": "Sort by metadata in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "owner": {
                                        "description": "Sort by owner in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "primary_classification": {
                                        "description": "Sort by primary_classification in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "project": {
                                        "description": "Sort by project in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "public": {
                                        "description": "Sort by public in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "size": {
                                        "description": "Sort by size in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "starred": {
                                        "description": "Sort by starred in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "filename": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "indexed": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "owner": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "primary_classification": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "project": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "public": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "size": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "integer",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "integer",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "starred": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "tags": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$containsany": {
                                                        "items": {
                                                            "additionalProperties": false,
                                                            "properties": {
                                                                "$ref": {
                                                                    "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$containsany"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$containsall": {
                                                        "items": {
                                                            "additionalProperties": false,
                                                            "properties": {
                                                                "$ref": {
                                                                    "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$containsall"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/samples/projects",
                    "method": "GET",
                    "rel": "instances_project",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "filename": {
                                        "description": "Sort by filename in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "indexed": {
                                        "description": "Sort by indexed in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "metadata": {
                                        "description": "Sort by metadata in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "owner": {
                                        "description": "Sort by owner in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "primary_classification": {
                                        "description": "Sort by primary_classification in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "project": {
                                        "description": "Sort by project in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "public": {
                                        "description": "Sort by public in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "size": {
                                        "description": "Sort by size in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "starred": {
                                        "description": "Sort by starred in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "filename": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "indexed": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "owner": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "primary_classification": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "project": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "public": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "size": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "integer",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "integer",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "starred": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "tags": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$containsany": {
                                                        "items": {
                                                            "additionalProperties": false,
                                                            "properties": {
                                                                "$ref": {
                                                                    "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$containsany"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$containsall": {
                                                        "items": {
                                                            "additionalProperties": false,
                                                            "properties": {
                                                                "$ref": {
                                                                    "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$containsall"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/samples/public",
                    "method": "GET",
                    "rel": "instances_public",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "created_at": {
                                        "description": "Sort by created_at in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "filename": {
                                        "description": "Sort by filename in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "indexed": {
                                        "description": "Sort by indexed in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "metadata": {
                                        "description": "Sort by metadata in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "owner": {
                                        "description": "Sort by owner in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "primary_classification": {
                                        "description": "Sort by primary_classification in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "project": {
                                        "description": "Sort by project in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "public": {
                                        "description": "Sort by public in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "size": {
                                        "description": "Sort by size in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "starred": {
                                        "description": "Sort by starred in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "created_at": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$between": {
                                                        "items": {
                                                            "format": "date-time",
                                                            "type": "string"
                                                        },
                                                        "maxItems": 2,
                                                        "minItems": 2,
                                                        "type": "array"
                                                    }
                                                },
                                                "required": [
                                                    "$between"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "format": "date-time",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "format": "date-time",
                                                "type": "string"
                                            }
                                        ]
                                    },
                                    "filename": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "indexed": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "metadata": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "owner": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "primary_classification": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "project": {
                                        "anyOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "additionalProperties": false,
                                                        "properties": {
                                                            "$ref": {
                                                                "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    {
                                                        "maxLength": 16,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "anyOf": [
                                                                {
                                                                    "additionalProperties": false,
                                                                    "properties": {
                                                                        "$ref": {
                                                                            "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                                                                            "type": "string"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                {
                                                                    "maxLength": 16,
                                                                    "type": [
                                                                        "string",
                                                                        "null"
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "public": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "size": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$gte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$gte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lt": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lt"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$lte": {
                                                        "type": "number"
                                                    }
                                                },
                                                "required": [
                                                    "$lte"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "integer",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "integer",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "type": [
                                                    "integer",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    },
                                    "starred": {
                                        "anyOf": [
                                            {
                                                "type": [
                                                    "boolean",
                                                    "null"
                                                ]
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "type": [
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "type": [
                                                                "boolean",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "tags": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$containsany": {
                                                        "items": {
                                                            "additionalProperties": false,
                                                            "properties": {
                                                                "$ref": {
                                                                    "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$containsany"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "anyOf": [
                                                            {
                                                                "additionalProperties": false,
                                                                "properties": {
                                                                    "$ref": {
                                                                        "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            },
                                                            {
                                                                "maxLength": 16,
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$containsall": {
                                                        "items": {
                                                            "additionalProperties": false,
                                                            "properties": {
                                                                "$ref": {
                                                                    "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "type": "object"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$containsall"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/samples/init_multipart_upload",
                    "method": "GET",
                    "rel": "readInitMultipartUpload",
                    "targetSchema": {
                        "properties": {
                            "callback_url": {
                                "type": "string"
                            },
                            "file_id": {
                                "type": "string"
                            },
                            "s3_bucket": {
                                "type": "string"
                            },
                            "upload_aws_access_key_id": {
                                "type": "string"
                            },
                            "upload_aws_secret_access_key": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/samples/presign_upload",
                    "method": "GET",
                    "rel": "readPresignUpload",
                    "targetSchema": {
                        "properties": {
                            "callback_url": {
                                "type": "string"
                            },
                            "signing_url": {
                                "type": "string"
                            },
                            "url": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                {
                    "href": "/api/v1/samples/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/samples/{id}",
                    "method": "PATCH",
                    "rel": "update",
                    "schema": {
                        "$ref": "#"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "created_at": {
                    "format": "date-time",
                    "readOnly": true,
                    "type": "string"
                },
                "filename": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "indexed": {
                    "readOnly": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "metadata": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/metadata\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "readOnly": true,
                    "type": "object"
                },
                "owner": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "readOnly": true,
                    "type": "object"
                },
                "primary_classification": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/analyses\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "readOnly": true,
                    "type": "object"
                },
                "project": {
                    "additionalProperties": false,
                    "properties": {
                        "$ref": {
                            "pattern": "^\\/api\\/v1\\/projects\\/[^/]+$",
                            "type": "string"
                        }
                    },
                    "readOnly": true,
                    "type": "object"
                },
                "public": {
                    "readOnly": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "size": {
                    "readOnly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "starred": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "tags": {
                    "default": [],
                    "items": {
                        "additionalProperties": false,
                        "properties": {
                            "$ref": {
                                "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "tags": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/tags",
                    "method": "POST",
                    "rel": "create",
                    "schema": {
                        "additionalProperties": false,
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "sample": {
                                "anyOf": [
                                    {
                                        "additionalProperties": false,
                                        "properties": {
                                            "$ref": {
                                                "pattern": "^\\/api\\/v1\\/samples\\/[^/]+$",
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    {
                                        "maxLength": 16,
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                ]
                            }
                        },
                        "required": [
                            "sample",
                            "name"
                        ],
                        "type": "object"
                    },
                    "targetSchema": {
                        "$ref": "#"
                    }
                },
                {
                    "href": "/api/v1/tags/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/tags",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "name": {
                                        "description": "Sort by name in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "name": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 30,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 30,
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 30,
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 30,
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/tags/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/tags\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "name": {
                    "maxLength": 30,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "users": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "links": [
                {
                    "href": "/api/v1/users/schema",
                    "method": "GET",
                    "rel": "describedBy"
                },
                {
                    "href": "/api/v1/users",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "additionalProperties": true,
                        "properties": {
                            "page": {
                                "default": 1,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "per_page": {
                                "default": 20,
                                "maximum": 1000,
                                "minimum": 1,
                                "type": "integer"
                            },
                            "sort": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "description": "Sort by $uri in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    },
                                    "username": {
                                        "description": "Sort by username in descending order if 'true', ascending order if 'false'.",
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            },
                            "where": {
                                "additionalProperties": false,
                                "properties": {
                                    "$uri": {
                                        "anyOf": [
                                            {
                                                "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                "type": "string"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            }
                                        ]
                                    },
                                    "username": {
                                        "anyOf": [
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$startswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$startswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$contains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$contains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$ne": {
                                                        "maxLength": 15,
                                                        "minLength": 3,
                                                        "pattern": "^[\\w]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$ne"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$iendswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$iendswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$icontains": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$icontains"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$endswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$endswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$istartswith": {
                                                        "minLength": 1,
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$istartswith"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$in": {
                                                        "items": {
                                                            "maxLength": 15,
                                                            "minLength": 3,
                                                            "pattern": "^[\\w]+$",
                                                            "type": "string"
                                                        },
                                                        "minItems": 0,
                                                        "type": "array",
                                                        "_uniqueItems": true
                                                    }
                                                },
                                                "required": [
                                                    "$in"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "additionalProperties": false,
                                                "properties": {
                                                    "$eq": {
                                                        "maxLength": 15,
                                                        "minLength": 3,
                                                        "pattern": "^[\\w]+$",
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "$eq"
                                                ],
                                                "type": "object"
                                            },
                                            {
                                                "maxLength": 15,
                                                "minLength": 3,
                                                "pattern": "^[\\w]+$",
                                                "type": "string"
                                            }
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    "targetSchema": {
                        "items": {
                            "$ref": "#"
                        },
                        "type": "array"
                    }
                },
                {
                    "href": "/api/v1/users/{id}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#"
                    }
                }
            ],
            "properties": {
                "$uri": {
                    "pattern": "^\\/api\\/v1\\/users\\/[^/]+$",
                    "readOnly": true,
                    "type": "string"
                },
                "username": {
                    "maxLength": 15,
                    "minLength": 3,
                    "pattern": "^[\\w]+$",
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "title": "One Codex API (v1)",
    "version_info": {
        "api_version": "v1",
        "cli_version": "0.2.0"
    }
}