// Package docs GENERATED BY SWAG; DO NOT EDIT
// This file was generated by swaggo/swag
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "termsOfService": "http://estuary.tech",
        "contact": {
            "name": "API Support",
            "url": "https://docs.estuary.tech/feedback"
        },
        "license": {
            "name": "Apache 2.0 Apache-2.0 OR MIT",
            "url": "https://github.com/application-research/estuary/blob/master/LICENSE.md"
        },
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/admin/autoretrieve/init": {
            "post": {
                "description": "This endpoint registers a new autoretrieve server",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "autoretrieve"
                ],
                "summary": "Register autoretrieve server",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Autoretrieve's comma-separated list of addresses",
                        "name": "addresses",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Autoretrieve's public key",
                        "name": "pubKey",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/autoretrieve/list": {
            "get": {
                "description": "This endpoint lists all registered autoretrieve servers",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "autoretrieve"
                ],
                "summary": "List autoretrieve servers",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/invites": {
            "get": {
                "description": "This endpoint is used to list all estuary invites.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get Estuary invites",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/invites/{code}": {
            "post": {
                "description": "This endpoint is used to create an estuary invite.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Create an Estuary invite",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Invite code to be created",
                        "name": "code",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/miners/": {
            "get": {
                "description": "This endpoint returns all miners. Note: value may be cached",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin",
                    "net"
                ],
                "summary": "Get all miners",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.minerResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/peering/peers": {
            "get": {
                "description": "This endpoint can be used to list all peers on Peering Service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "List all Peering peers",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "post": {
                "description": "This endpoint can be used to add a Peer from the Peering Service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "Add peers on Peering Service",
                "parameters": [
                    {
                        "description": "Peering Peer array",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/peering.PeeringPeer"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "delete": {
                "description": "This endpoint can be used to remove a Peer from the Peering Service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "Remove peers on Peering Service",
                "parameters": [
                    {
                        "description": "Peer ids",
                        "name": "peerIds",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/peering/start": {
            "post": {
                "description": "This endpoint can be used to start the Peering Service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "Start Peering",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/peering/status": {
            "get": {
                "description": "This endpoint can be used to check the Peering status",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "Check Peering Status",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/peering/stop": {
            "post": {
                "description": "This endpoint can be used to stop the Peering Service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "Stop Peering",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/system/config": {
            "get": {
                "description": "This endpoint is used to get system configs.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "Get systems(estuary/shuttle) config",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/admin/users": {
            "get": {
                "description": "This endpoint is used to get all users.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "admin"
                ],
                "summary": "Get all users",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/autoretrieve/heartbeat": {
            "post": {
                "description": "This endpoint updates the lastConnection field for autoretrieve",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "autoretrieve"
                ],
                "summary": "Marks autoretrieve server as up",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Autoretrieve's auth token",
                        "name": "token",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/collections/": {
            "get": {
                "description": "This endpoint is used to list all collections. Whenever a user logs on estuary, it will list all collections that the user has access to. This endpoint provides a way to list all collections to the user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "collections"
                ],
                "summary": "List all collections",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/collections.Collection"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "post": {
                "description": "This endpoint is used to create a new collection. A collection is a representaion of a group of objects added on the estuary. This endpoint can be used to create a new collection.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "collections"
                ],
                "summary": "Create a new collection",
                "parameters": [
                    {
                        "description": "Collection name and description",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.createCollectionBody"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/collections.Collection"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/collections/fs/add": {
            "post": {
                "description": "This endpoint adds a file to a collection",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "collections"
                ],
                "summary": "Add a file to a collection",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Collection ID",
                        "name": "coluuid",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Content",
                        "name": "content",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Directory inside collection",
                        "name": "dir",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Overwrite file if already exists in path",
                        "name": "overwrite",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/collections/{coluuid}": {
            "get": {
                "description": "This endpoint is used to get contents in a collection. If no colpath query param is passed",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "collections"
                ],
                "summary": "Get contents in a collection",
                "parameters": [
                    {
                        "type": "string",
                        "description": "coluuid",
                        "name": "coluuid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Directory",
                        "name": "dir",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/collections.CollectionListResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "post": {
                "description": "This endpoint adds already-pinned contents (that have ContentIDs) to a collection.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "collections"
                ],
                "summary": "Add contents to a collection",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Collection UUID",
                        "name": "coluuid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Content IDs to add to collection",
                        "name": "contentIDs",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "type": "string",
                        "description": "Directory",
                        "name": "dir",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Overwrite conflicting files",
                        "name": "overwrite",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "delete": {
                "description": "This endpoint is used to delete an existing collection.",
                "tags": [
                    "collections"
                ],
                "summary": "Deletes a collection",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Collection ID",
                        "name": "coluuid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/collections/{coluuid}/commit": {
            "post": {
                "description": "This endpoint is used to save the contents in a collection, producing a top-level CID that references all the current CIDs in the collection.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "collections"
                ],
                "summary": "Produce a CID of the collection contents",
                "parameters": [
                    {
                        "type": "string",
                        "description": "coluuid",
                        "name": "coluuid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/collections/{coluuid}/contents": {
            "delete": {
                "description": "This endpoint is used to delete an existing content from an existing collection. If two or more files with the same contentid exist in the collection, delete the one in the specified path",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "collections"
                ],
                "summary": "Deletes a content from a collection",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Collection ID",
                        "name": "coluuid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Variable to use when filtering for files (must be either 'path' or 'content_id')",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.deleteContentFromCollectionBody"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/add": {
            "post": {
                "description": "This endpoint is used to upload new content.",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Add new content",
                "parameters": [
                    {
                        "type": "file",
                        "description": "File to upload",
                        "name": "data",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Filename to use for upload",
                        "name": "filename",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "Collection UUID",
                        "name": "coluuid",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Replication value",
                        "name": "replication",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Ignore Dupes true/false",
                        "name": "ignore-dupes",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Overwrite files with the same path on same collection",
                        "name": "overwrite",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Lazy Provide true/false",
                        "name": "lazy-provide",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Directory",
                        "name": "dir",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/util.ContentAddResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/add-car": {
            "post": {
                "description": "This endpoint is used to add a car object to the network. The object can be a file or a directory.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Add Car object",
                "parameters": [
                    {
                        "description": "Car",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Ignore Dupes",
                        "name": "ignore-dupes",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filename",
                        "name": "filename",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/util.ContentAddResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/add-ipfs": {
            "post": {
                "description": "This endpoint is used to add an IPFS object to the network. The object can be a file or a directory.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Add IPFS object",
                "parameters": [
                    {
                        "description": "IPFS Body",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/pinner.IpfsPin"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Ignore Dupes",
                        "name": "ignore-dupes",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Overwrite conflicting files in collections",
                        "name": "overwrite",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/aggregated/{content}": {
            "get": {
                "description": "This endpoint returns aggregated content stats",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get aggregated content stats",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Content ID",
                        "name": "content",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/all-deals": {
            "get": {
                "description": "This endpoint is used to get all deals for a user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get all deals for a user",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Begin",
                        "name": "begin",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Duration",
                        "name": "duration",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "All",
                        "name": "all",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/bw-usage/{content}": {
            "get": {
                "description": "This endpoint returns content bandwidth",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get content bandwidth",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Content ID",
                        "name": "content",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/contents": {
            "get": {
                "description": "This endpoint is used to get user contents",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get user contents",
                "parameters": [
                    {
                        "type": "string",
                        "description": "limit",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "offset",
                        "name": "offset",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/create": {
            "post": {
                "description": "This endpoint adds a new content",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Add a new content",
                "parameters": [
                    {
                        "description": "Content",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/util.ContentCreateBody"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Ignore Dupes",
                        "name": "ignore-dupes",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/deals": {
            "get": {
                "description": "This endpoint lists all content with deals",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Content with deals",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/ensure-replication/{datacid}": {
            "get": {
                "description": "This endpoint ensures that the content is replicated to the specified number of providers",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Ensure Replication",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Data CID",
                        "name": "datacid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/failures/{content}": {
            "get": {
                "description": "This endpoint returns all failures for a content",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "List all failures for a content",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Content ID",
                        "name": "content",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/list": {
            "get": {
                "description": "This endpoint lists all content",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "List all pinned content",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/staging-zones": {
            "get": {
                "description": "This endpoint is used to get staging zone for user, excluding its contents.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get staging zone for user, excluding its contents",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/staging-zones/{staging_zone}": {
            "get": {
                "description": "This endpoint is used to get a staging zone, excluding its contents.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get staging zone without its contents field populated",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Staging Zone Content ID",
                        "name": "staging_zone",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/staging-zones/{staging_zone}/contents": {
            "get": {
                "description": "This endpoint is used to get the contents for a staging zone",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get contents for a staging zone",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Staging Zone Content ID",
                        "name": "staging_zone",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "limit",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "offset",
                        "name": "offset",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/stats": {
            "get": {
                "description": "This endpoint is used to get content statistics. Every content stored in the network (estuary) is tracked by a unique ID which can be used to get information about the content. This endpoint will allow the consumer to get the collected stats of a content",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Get content statistics",
                "parameters": [
                    {
                        "type": "string",
                        "description": "limit",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "offset",
                        "name": "offset",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/status/{id}": {
            "get": {
                "description": "This endpoint returns the status of a content",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Content Status",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/content/{id}": {
            "get": {
                "description": "This endpoint returns a content by its ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "content"
                ],
                "summary": "Content",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/estimate": {
            "post": {
                "description": "This endpoint estimates the cost of a deal",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Estimate the cost of a deal",
                "parameters": [
                    {
                        "description": "The size of the deal in bytes, the replication factor, and the duration of the deal in blocks",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.estimateDealBody"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/info/{dealid}": {
            "get": {
                "description": "This endpoint returns the deal info for a deal",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Get Deal Info",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Deal ID",
                        "name": "dealid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/proposal/{propcid}": {
            "get": {
                "description": "This endpoint returns the proposal for a deal",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Get Proposal",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Proposal CID",
                        "name": "propcid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/query/{miner}": {
            "get": {
                "description": "This endpoint returns the ask for a given CID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Query Ask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "CID",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/status-by-proposal/{propcid}": {
            "get": {
                "description": "Get Deal Status by PropCid",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Get Deal Status by PropCid",
                "parameters": [
                    {
                        "type": "string",
                        "description": "PropCid",
                        "name": "propcid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/status/{miner}/{propcid}": {
            "get": {
                "description": "This endpoint returns the status of a deal",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Deal Status",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Miner",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Proposal CID",
                        "name": "propcid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/transfer/in-progress": {
            "get": {
                "description": "This endpoint returns the in-progress transfers",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Transfer In Progress",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deal/transfer/status": {
            "post": {
                "description": "This endpoint returns the status of a transfer",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Transfer Status",
                "parameters": [
                    {
                        "description": "Channel ID",
                        "name": "chanid",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/api.ChannelIDParam"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deals/failures": {
            "get": {
                "description": "This endpoint returns a list of storage failures for user",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Get storage failures for user",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deals/make/{miner}": {
            "post": {
                "description": "This endpoint makes a deal for a given content and miner",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Make Deal",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Miner",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Deal Request",
                        "name": "dealRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/deals/status/{deal}": {
            "get": {
                "description": "This endpoint returns the status of a deal",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Get Deal Status",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Deal ID",
                        "name": "deal",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/get/{cid}": {
            "get": {
                "description": "This endpoint returns the content associated with a CID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public"
                ],
                "summary": "Get Full Content by Cid",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Cid",
                        "name": "cid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "307": {
                        "description": "Temporary Redirect",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/miner/claim": {
            "post": {
                "description": "This endpoint lets a user claim a miner",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "miner"
                ],
                "summary": "Claim Miner",
                "parameters": [
                    {
                        "description": "Claim Miner Body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/miner.ClaimMinerBody"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.claimResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/miner/claim/{miner}": {
            "get": {
                "description": "This endpoint lets a user get the message in order to claim a miner",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "miner"
                ],
                "summary": "Get Claim Miner Message",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Miner claim message",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.claimMsgResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/miner/set-info/{miner}": {
            "put": {
                "description": "This endpoint lets a user set miner info.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "miner"
                ],
                "summary": "Set Miner Info",
                "parameters": [
                    {
                        "description": "Miner set info params",
                        "name": "params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/miner.MinerSetInfoParams"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Miner to set info for",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.emptyResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/miner/suspend/{miner}": {
            "post": {
                "description": "This endpoint lets a user suspend a miner.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "miner"
                ],
                "summary": "Suspend Miner",
                "parameters": [
                    {
                        "description": "Suspend Miner Body",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/miner.SuspendMinerBody"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Miner to suspend",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.emptyResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/miner/unsuspend/{miner}": {
            "put": {
                "description": "This endpoint lets a user unsuspend a miner.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "miner"
                ],
                "summary": "Unuspend Miner",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Miner to unsuspend",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.emptyResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/pinning/pins": {
            "get": {
                "description": "This endpoint lists all pin status objects",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "pinning"
                ],
                "summary": "List all pin status objects",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/pinner.IpfsListPinStatusResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "post": {
                "description": "This endpoint adds a pin to the IPFS daemon.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "pinning"
                ],
                "summary": "Add and pin object",
                "parameters": [
                    {
                        "description": "Pin Body {cid:cid, name:name}",
                        "name": "pin",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/pinner.IpfsPin"
                        }
                    },
                    {
                        "type": "string",
                        "description": "Ignore Dupes",
                        "name": "ignore-dupes",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Overwrite conflicting files in collections",
                        "name": "overwrite",
                        "in": "query"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/pinner.IpfsPinStatusResponse"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/pinning/pins/{pinid}": {
            "get": {
                "description": "This endpoint returns a pin status object.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "pinning"
                ],
                "summary": "Get a pin status object",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cid",
                        "name": "pinid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/pinner.IpfsPinStatusResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "post": {
                "description": "This endpoint replaces a pinned object.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "pinning"
                ],
                "summary": "Replace a pinned object",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Pin ID to be replaced",
                        "name": "pinid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "New pin",
                        "name": "pin",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/pinner.IpfsPin"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/pinner.IpfsPinStatusResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "delete": {
                "description": "This endpoint deletes a pinned object.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "pinning"
                ],
                "summary": "Delete a pinned object",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Pin ID",
                        "name": "pinid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted"
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/by-cid/{cid}": {
            "get": {
                "description": "This endpoint returns the content record associated with a CID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public"
                ],
                "summary": "Get Content by Cid",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Cid",
                        "name": "cid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/deals/failures": {
            "get": {
                "description": "This endpoint returns a list of storage failures",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Get storage failures",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/info": {
            "get": {
                "description": "This endpoint returns information about the node",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public"
                ],
                "summary": "Get public node info",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.publicNodeInfo"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/metrics/deals-on-chain": {
            "get": {
                "description": "This endpoint is used to get deal metrics",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public",
                    "metrics"
                ],
                "summary": "Get deal metrics",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/miners/deals/{miner}": {
            "get": {
                "description": "This endpoint returns all miners deals",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public",
                    "miner"
                ],
                "summary": "Get all miners deals",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Filter by miner",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Ignore Failed",
                        "name": "ignore-failed",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/miners/failures/{miner}": {
            "get": {
                "description": "This endpoint returns all miners",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public",
                    "net"
                ],
                "summary": "Get all miners",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Filter by miner",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/miners/stats/{miner}": {
            "get": {
                "description": "This endpoint returns miner stats",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public",
                    "miner"
                ],
                "summary": "Get miner stats",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Filter by miner",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/miners/storage/query/{miner}": {
            "get": {
                "description": "This endpoint returns the ask for a given CID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "deals"
                ],
                "summary": "Query Ask",
                "parameters": [
                    {
                        "type": "string",
                        "description": "CID",
                        "name": "miner",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/net/addrs": {
            "get": {
                "description": "This endpoint is used to get net addrs",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public",
                    "net"
                ],
                "summary": "Net Addrs",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/public/net/peers": {
            "get": {
                "description": "This endpoint is used to get net peers",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public",
                    "net"
                ],
                "summary": "Net Peers",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/public/stats": {
            "get": {
                "description": "This endpoint is used to get public stats.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "public"
                ],
                "summary": "Public stats",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/user/api-keys": {
            "get": {
                "description": "This endpoint is used to get API keys for a user. In estuary, each user can be given multiple API keys (tokens). This endpoint can be used to retrieve all available API keys for a given user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Get API keys for a user",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/api.getApiKeysResp"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            },
            "post": {
                "description": "This endpoint is used to create API keys for a user. In estuary, each user is given an API key to access all features.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Create API keys for a user",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Expiration - Expiration - Valid time units are ns, us (or µs),  ms,  s,  m,  h.  for  example  300h",
                        "name": "expiry",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Permissions -- currently unused",
                        "name": "perms",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/api.getApiKeysResp"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/user/api-keys/{key_or_hash}": {
            "delete": {
                "description": "This endpoint is used to revoke a user API key. In estuary, every user is assigned with an API key, this API key is generated and issued for each user and is primarily used to access all estuary features. This endpoint can be used to revoke the API key that's assigned to the user. Revoked API keys are completely deleted and are not recoverable.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Revoke a User API Key.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Key or Hash",
                        "name": "key_or_hash",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/user/export": {
            "get": {
                "description": "This endpoint is used to get API keys for a user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Export user data",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/user/stats": {
            "get": {
                "description": "This endpoint is used to get stats for the current user.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Get stats for the current user",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        },
        "/viewer": {
            "get": {
                "description": "This endpoint fetches viewer details such as username, permissions, address, owned miners, user settings etc.",
                "produces": [
                    "application/json"
                ],
                "summary": "Fetch viewer details",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/util.ViewerResponse"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/util.HttpError"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "address.Address": {
            "type": "object"
        },
        "api.ChannelIDParam": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "initiator": {
                    "type": "string"
                },
                "responder": {
                    "type": "string"
                }
            }
        },
        "api.claimMsgResponse": {
            "type": "object",
            "properties": {
                "hexmsg": {
                    "type": "string"
                }
            }
        },
        "api.claimResponse": {
            "type": "object",
            "properties": {
                "success": {
                    "type": "boolean"
                }
            }
        },
        "api.createCollectionBody": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "api.deleteContentFromCollectionBody": {
            "type": "object",
            "properties": {
                "by": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "api.emptyResp": {
            "type": "object"
        },
        "api.estimateDealBody": {
            "type": "object",
            "properties": {
                "durationBlks": {
                    "type": "integer"
                },
                "replication": {
                    "type": "integer"
                },
                "size": {
                    "type": "integer"
                },
                "verified": {
                    "type": "boolean"
                }
            }
        },
        "api.getApiKeysResp": {
            "type": "object",
            "properties": {
                "expiry": {
                    "type": "string"
                },
                "isSession": {
                    "type": "boolean"
                },
                "label": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                },
                "tokenHash": {
                    "type": "string"
                }
            }
        },
        "api.minerResp": {
            "type": "object",
            "properties": {
                "addr": {
                    "$ref": "#/definitions/address.Address"
                },
                "chain_info": {
                    "$ref": "#/definitions/miner.MinerChainInfo"
                },
                "name": {
                    "type": "string"
                },
                "suspended": {
                    "type": "boolean"
                },
                "suspendedReason": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "api.publicNodeInfo": {
            "type": "object",
            "properties": {
                "primaryAddress": {
                    "$ref": "#/definitions/address.Address"
                }
            }
        },
        "cid.Cid": {
            "type": "object"
        },
        "collections.CidType": {
            "type": "string",
            "enum": [
                "directory",
                "file"
            ],
            "x-enum-varnames": [
                "CidTypeDir",
                "CidTypeFile"
            ]
        },
        "collections.Collection": {
            "type": "object",
            "properties": {
                "cid": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "userId": {
                    "type": "integer"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "collections.CollectionListResponse": {
            "type": "object",
            "properties": {
                "cid": {
                    "$ref": "#/definitions/util.DbCID"
                },
                "coluuid": {
                    "type": "string"
                },
                "contId": {
                    "type": "integer"
                },
                "dir": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "size": {
                    "type": "integer"
                },
                "type": {
                    "$ref": "#/definitions/collections.CidType"
                },
                "updatedAt": {
                    "type": "string"
                }
            }
        },
        "miner.ClaimMinerBody": {
            "type": "object",
            "properties": {
                "claim": {
                    "type": "string"
                },
                "miner": {
                    "$ref": "#/definitions/address.Address"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "miner.MinerChainInfo": {
            "type": "object",
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "owner": {
                    "$ref": "#/definitions/address.Address"
                },
                "peerId": {
                    "type": "string"
                },
                "worker": {
                    "$ref": "#/definitions/address.Address"
                }
            }
        },
        "miner.MinerSetInfoParams": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "miner.SuspendMinerBody": {
            "type": "object",
            "properties": {
                "reason": {
                    "type": "string"
                }
            }
        },
        "peering.PeeringPeer": {
            "type": "object",
            "properties": {
                "Addrs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "Connected": {
                    "type": "boolean"
                },
                "ID": {
                    "type": "string"
                }
            }
        },
        "pinner.IpfsListPinStatusResponse": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/pinner.IpfsPinStatusResponse"
                    }
                }
            }
        },
        "pinner.IpfsPin": {
            "type": "object",
            "properties": {
                "cid": {
                    "type": "string"
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": true
                },
                "name": {
                    "type": "string"
                },
                "origins": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "pinner.IpfsPinStatusResponse": {
            "type": "object",
            "properties": {
                "content": {
                    "$ref": "#/definitions/util.Content"
                },
                "created": {
                    "type": "string"
                },
                "delegates": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "info": {
                    "type": "object",
                    "additionalProperties": true
                },
                "pin": {
                    "$ref": "#/definitions/pinner.IpfsPin"
                },
                "requestid": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/status.PinningStatus"
                }
            }
        },
        "status.PinningStatus": {
            "type": "string",
            "enum": [
                "pinning",
                "pinned",
                "failed",
                "queued",
                "offloaded"
            ],
            "x-enum-varnames": [
                "PinningStatusPinning",
                "PinningStatusPinned",
                "PinningStatusFailed",
                "PinningStatusQueued",
                "PinningStatusOffloaded"
            ]
        },
        "util.Content": {
            "type": "object",
            "properties": {
                "active": {
                    "type": "boolean"
                },
                "aggregate": {
                    "type": "boolean"
                },
                "aggregatedIn": {
                    "description": "TODO: shift most of the 'state' booleans in here into a single state\nfield, should make reasoning about things much simpler",
                    "type": "integer"
                },
                "cid": {
                    "$ref": "#/definitions/util.DbCID"
                },
                "createdAt": {
                    "type": "string"
                },
                "dagSplit": {
                    "description": "If set, this content is part of a split dag.\nIn such a case, the 'root' content should be advertised on the dht, but\nnot have deals made for it, and the children should have deals made for\nthem (unlike with aggregates)",
                    "type": "boolean"
                },
                "dealStatus": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "failed": {
                    "type": "boolean"
                },
                "id": {
                    "type": "integer"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "offloaded": {
                    "type": "boolean"
                },
                "origins": {
                    "type": "string"
                },
                "pinMeta": {
                    "type": "string"
                },
                "pinning": {
                    "type": "boolean"
                },
                "pinningStatus": {
                    "type": "string"
                },
                "replace": {
                    "type": "boolean"
                },
                "replication": {
                    "type": "integer"
                },
                "size": {
                    "type": "integer"
                },
                "splitFrom": {
                    "type": "integer"
                },
                "type": {
                    "$ref": "#/definitions/util.ContentType"
                },
                "updatedAt": {
                    "type": "string"
                },
                "userId": {
                    "type": "integer"
                }
            }
        },
        "util.ContentAddResponse": {
            "type": "object",
            "properties": {
                "cid": {
                    "type": "string"
                },
                "estuaryId": {
                    "type": "integer"
                },
                "estuary_retrieval_url": {
                    "type": "string"
                },
                "providers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "retrieval_url": {
                    "type": "string"
                }
            }
        },
        "util.ContentCreateBody": {
            "type": "object",
            "properties": {
                "coluuid": {
                    "type": "string"
                },
                "dir": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "overwrite": {
                    "type": "boolean"
                },
                "root": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/util.ContentType"
                }
            }
        },
        "util.ContentType": {
            "type": "integer",
            "enum": [
                0,
                1,
                2
            ],
            "x-enum-varnames": [
                "Unknown",
                "File",
                "Directory"
            ]
        },
        "util.DbCID": {
            "type": "object",
            "properties": {
                "cid": {
                    "$ref": "#/definitions/cid.Cid"
                }
            }
        },
        "util.HttpError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "details": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "util.UserSettings": {
            "type": "object",
            "properties": {
                "contentAddingDisabled": {
                    "type": "boolean"
                },
                "dealDuration": {
                    "type": "integer"
                },
                "dealMakingDisabled": {
                    "type": "boolean"
                },
                "fileStagingThreshold": {
                    "type": "integer"
                },
                "flags": {
                    "type": "integer"
                },
                "replication": {
                    "type": "integer"
                },
                "uploadEndpoints": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "verified": {
                    "type": "boolean"
                }
            }
        },
        "util.ViewerResponse": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "auth_expiry": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "miners": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "perms": {
                    "type": "integer"
                },
                "settings": {
                    "$ref": "#/definitions/util.UserSettings"
                },
                "username": {
                    "type": "string"
                }
            }
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "0.0.0",
	Host:             "api.estuary.tech",
	BasePath:         "/",
	Schemes:          []string{},
	Title:            "Estuary API",
	Description:      "This is the API for the Estuary application.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
