{ "swagger": "2.0", "info": { "description": "This is the API for the Estuary application.", "title": "Estuary API", "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": "0.0.0" }, "host": "api.estuary.tech", "basePath": "/", "paths": { "/admin/autoretrieve/init": { "post": { "description": "This endpoint registers a new autoretrieve server", "produces": [ "application/json" ], "tags": [ "autoretrieve" ], "summary": "Register autoretrieve server", "parameters": [ { "description": "Autoretrieve's comma-separated list of addresses", "name": "addresses", "in": "body", "required": true, "schema": { "type": "string" } }, { "description": "Autoretrieve's public key", "name": "pubKey", "in": "body", "required": true, "schema": { "type": "string" } } ], "responses": {} } }, "/admin/autoretrieve/list": { "get": { "description": "This endpoint lists all registered autoretrieve servers", "produces": [ "application/json" ], "tags": [ "autoretrieve" ], "summary": "List autoretrieve servers", "responses": {} } }, "/admin/peering/peers": { "get": { "description": "This endpoint can be used to list all peers on Peering Service", "produces": [ "application/json" ], "tags": [ "admin", "peering", "peers" ], "summary": "List all Peering peers", "responses": {} }, "post": { "description": "This endpoint can be used to add a Peer from the Peering Service", "produces": [ "application/json" ], "tags": [ "admin", "peering", "peers" ], "summary": "Add peers on Peering Service", "responses": {} }, "delete": { "description": "This endpoint can be used to remove a Peer from the Peering Service", "produces": [ "application/json" ], "tags": [ "admin", "peering", "peers" ], "summary": "Remove peers on Peering Service", "parameters": [ { "description": "Peer ids", "name": "body", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": {} } }, "/admin/peering/start": { "post": { "description": "This endpoint can be used to start the Peering Service", "produces": [ "application/json" ], "tags": [ "admin", "peering", "peers" ], "summary": "Start Peering", "responses": {} } }, "/admin/peering/status": { "get": { "description": "This endpoint can be used to check the Peering status", "produces": [ "application/json" ], "tags": [ "admin", "peering", "peers" ], "summary": "Check Peering Status", "responses": {} } }, "/admin/peering/stop": { "post": { "description": "This endpoint can be used to stop the Peering Service", "produces": [ "application/json" ], "tags": [ "admin", "peering", "peers" ], "summary": "Stop Peering", "responses": {} } }, "/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": {} } }, "/admin/users": { "get": { "description": "This endpoint is used to get all users.", "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "Get all users", "responses": {} } }, "/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": {} } }, "/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/main.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": "Path to file", "name": "path", "in": "query", "required": true } ], "responses": {} } }, "/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": "string" } } } }, "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": "coluuid", "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" } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "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": {} } }, "/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" } } } } }, "/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 }, { "type": "string", "description": "Content ID", "name": "contentid", "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/main.deleteContentFromCollectionBody" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } }, "400": { "description": "Bad Request", "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": "Filenam 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": "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" } } } } }, "/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": {} } }, "/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/util.ContentAddIpfsBody" } }, { "type": "string", "description": "Ignore Dupes", "name": "ignore-dupes", "in": "query" } ], "responses": {} } }, "/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" } } } } }, "/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": {} } }, "/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": {} } }, "/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": {} } }, "/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": {} } }, "/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": {} } }, "/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" } } } } }, "/content/importdeal": { "post": { "description": "This endpoint imports a deal into the shuttle.", "produces": [ "application/json" ], "tags": [ "content" ], "summary": "Import a deal", "parameters": [ { "description": "Import a deal", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/main.importDealBody" } } ], "responses": {} } }, "/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": "array", "items": { "type": "string" } } } } } }, "/content/read/{cont}": { "get": { "description": "This endpoint reads content from the blockstore", "produces": [ "application/json" ], "tags": [ "content" ], "summary": "Read content", "parameters": [ { "type": "string", "description": "CID", "name": "cont", "in": "path", "required": true } ], "responses": {} } }, "/content/staging-zones": { "get": { "description": "This endpoint is used to get staging zone for user.", "produces": [ "application/json" ], "tags": [ "content" ], "summary": "Get staging zone for user", "responses": {} } }, "/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 conten", "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": {} } }, "/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": {} } }, "/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": {} } }, "/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/main.estimateDealBody" } } ], "responses": {} } }, "/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": {} } }, "/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": {} } }, "/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": {} } }, "/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": {} } }, "/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": {} } }, "/deal/transfer/in-progress": { "get": { "description": "This endpoint returns the in-progress transfers", "produces": [ "application/json" ], "tags": [ "deals" ], "summary": "Transfer In Progress", "responses": {} } }, "/deal/transfer/status": { "post": { "responses": {} } }, "/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": {} } }, "/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": {} } }, "/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": {} } }, "/net/addrs": { "get": { "description": "This endpoint is used to get net addrs", "produces": [ "application/json" ], "tags": [ "net" ], "summary": "Net Addrs", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "string" } } } } } }, "/pinning/pins": { "get": { "description": "This endpoint lists all pin status objects", "produces": [ "application/json" ], "tags": [ "pinning" ], "summary": "List all pin status objects", "responses": { "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 adds a pin to the IPFS daemon.", "produces": [ "application/json" ], "tags": [ "pinning" ], "summary": "Add and pin object", "parameters": [ { "type": "string", "description": "cid", "name": "cid", "in": "path", "required": true }, { "type": "string", "description": "name", "name": "name", "in": "path", "required": true } ], "responses": {} } }, "/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": {} }, "post": { "description": "This endpoint replaces a pinned object.", "produces": [ "application/json" ], "tags": [ "pinning" ], "summary": "Replace a pinned object", "parameters": [ { "type": "string", "description": "Pin ID", "name": "pinid", "in": "path", "required": true } ], "responses": {} }, "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": {} } }, "/public/by-cid/{cid}": { "get": { "description": "This endpoint returns the content 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": {} } }, "/public/deals/failures": { "get": { "description": "This endpoint returns a list of storage failures", "produces": [ "application/json" ], "tags": [ "deals" ], "summary": "Get storage failures", "responses": {} } }, "/public/info": { "get": { "description": "This endpoint returns information about the node", "produces": [ "application/json" ], "tags": [ "public" ], "summary": "Get public node info", "responses": {} } }, "/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": {} } }, "/public/miners": { "get": { "description": "This endpoint returns all miners", "produces": [ "application/json" ], "tags": [ "public", "net" ], "summary": "Get all miners", "responses": {} } }, "/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" }, { "type": "string", "description": "Ignore Failed", "name": "ignore-failed", "in": "query" } ], "responses": {} } }, "/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" } ], "responses": {} } }, "/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" } ], "responses": {} } }, "/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": {} } }, "/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" } } } } } }, "/public/stats": { "get": { "description": "This endpoint is used to get public stats.", "produces": [ "application/json" ], "tags": [ "public" ], "summary": "Public stats", "responses": {} } }, "/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/main.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/main.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}": { "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 use to access all estuary features. This endpoint can be used to revoke the API key thats assigned to the user.", "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Revoke a User API Key.", "parameters": [ { "type": "string", "description": "Key", "name": "key", "in": "path", "required": true } ], "responses": {} } }, "/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" } } } } }, "/user/stats": { "get": { "description": "This endpoint is used to create API keys for a user.", "produces": [ "application/json" ], "tags": [ "User" ], "summary": "Create API keys for a user", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/main.userStatsResponse" } } } } } }, "definitions": { "collections.Collection": { "type": "object", "properties": { "cid": { "type": "string" }, "createdAt": { "type": "string" }, "description": { "type": "string" }, "name": { "type": "string" }, "userId": { "type": "integer" }, "uuid": { "type": "string" } } }, "main.createCollectionBody": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" } } }, "main.deleteContentFromCollectionBody": { "type": "object", "properties": { "by": { "type": "string" }, "value": { "type": "string" } } }, "main.estimateDealBody": { "type": "object", "properties": { "durationBlks": { "type": "integer" }, "replication": { "type": "integer" }, "size": { "type": "integer" }, "verified": { "type": "boolean" } } }, "main.getApiKeysResp": { "type": "object", "properties": { "expiry": { "type": "string" }, "label": { "type": "string" }, "token": { "type": "string" }, "tokenHash": { "type": "string" } } }, "main.importDealBody": { "type": "object", "properties": { "coluuid": { "type": "string" }, "dealIDs": { "type": "array", "items": { "type": "integer" } }, "dir": { "type": "string" }, "name": { "type": "string" } } }, "main.userStatsResponse": { "type": "object", "properties": { "numPins": { "type": "integer" }, "totalSize": { "type": "integer" } } }, "util.ContentAddIpfsBody": { "type": "object", "properties": { "coluuid": { "type": "string" }, "dir": { "type": "string" }, "filename": { "type": "string" }, "peers": { "type": "array", "items": { "type": "string" } }, "root": { "type": "string" } } }, "util.ContentAddResponse": { "type": "object", "properties": { "cid": { "type": "string" }, "estuaryId": { "type": "integer" }, "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" }, "root": { "type": "string" }, "type": { "type": "integer" } } }, "util.HttpError": { "type": "object", "properties": { "code": { "type": "integer" }, "details": { "type": "string" }, "reason": { "type": "string" } } } }, "securityDefinitions": { "bearerAuth": { "type": "apiKey", "name": "Authorization", "in": "header" } }, "security": [ { "bearerAuth": [] } ] }