basePath: / definitions: address.Address: type: object api.ChannelIDParam: properties: id: type: integer initiator: type: string responder: type: string type: object api.claimMsgResponse: properties: hexmsg: type: string type: object api.claimResponse: properties: success: type: boolean type: object api.createCollectionBody: properties: description: type: string name: type: string type: object api.deleteContentFromCollectionBody: properties: by: type: string value: type: string type: object api.emptyResp: type: object api.estimateDealBody: properties: durationBlks: type: integer replication: type: integer size: type: integer verified: type: boolean type: object api.getApiKeysResp: properties: expiry: type: string label: type: string token: type: string tokenHash: type: string type: object api.publicNodeInfo: properties: primaryAddress: $ref: '#/definitions/address.Address' type: object cid.Cid: type: object collections.CidType: enum: - directory - file type: string x-enum-varnames: - CidTypeDir - CidTypeFile collections.Collection: properties: cid: type: string createdAt: type: string description: type: string name: type: string userId: type: integer uuid: type: string type: object collections.CollectionListResponse: 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 type: object main.importDealBody: properties: coluuid: type: string dealIDs: items: type: integer type: array dir: type: string name: type: string type: object miner.ClaimMinerBody: properties: claim: type: string miner: $ref: '#/definitions/address.Address' name: type: string type: object miner.MinerSetInfoParams: properties: name: type: string type: object miner.SuspendMinerBody: properties: reason: type: string type: object types.IpfsListPinStatusResponse: properties: count: type: integer results: items: $ref: '#/definitions/types.IpfsPinStatusResponse' type: array type: object types.IpfsPin: properties: cid: type: string meta: additionalProperties: true type: object name: type: string origins: items: type: string type: array type: object types.IpfsPinStatusResponse: properties: created: type: string delegates: items: type: string type: array info: additionalProperties: true type: object pin: $ref: '#/definitions/types.IpfsPin' requestid: type: string status: $ref: '#/definitions/types.PinningStatus' type: object types.PinningStatus: enum: - pinning - pinned - failed - queued - offloaded type: string x-enum-varnames: - PinningStatusPinning - PinningStatusPinned - PinningStatusFailed - PinningStatusQueued - PinningStatusOffloaded util.ContentAddResponse: properties: cid: type: string estuary_retrieval_url: type: string estuaryId: type: integer providers: items: type: string type: array retrieval_url: type: string type: object util.ContentCreateBody: properties: coluuid: type: string dir: type: string location: type: string name: type: string root: type: string type: $ref: '#/definitions/util.ContentType' type: object util.ContentType: enum: - 0 - 1 - 2 type: integer x-enum-varnames: - Unknown - File - Directory util.DbCID: properties: cid: $ref: '#/definitions/cid.Cid' type: object util.HttpError: properties: code: type: integer details: type: string reason: type: string type: object util.UserSettings: properties: contentAddingDisabled: type: boolean dealDuration: type: integer dealMakingDisabled: type: boolean fileStagingThreshold: type: integer flags: type: integer replication: type: integer uploadEndpoints: items: type: string type: array verified: type: boolean type: object util.ViewerResponse: properties: address: type: string auth_expiry: type: string id: type: integer miners: items: type: string type: array perms: type: integer settings: $ref: '#/definitions/util.UserSettings' username: type: string type: object host: api.estuary.tech info: contact: name: API Support url: https://docs.estuary.tech/feedback description: This is the API for the Estuary application. license: name: Apache 2.0 Apache-2.0 OR MIT url: https://github.com/application-research/estuary/blob/master/LICENSE.md termsOfService: http://estuary.tech title: Estuary API version: 0.0.0 paths: /admin/autoretrieve/init: post: description: This endpoint registers a new autoretrieve server parameters: - description: Autoretrieve's comma-separated list of addresses in: formData name: addresses required: true type: string - description: Autoretrieve's public key in: formData name: pubKey required: true type: string produces: - application/json 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' summary: Register autoretrieve server tags: - autoretrieve /admin/autoretrieve/list: get: description: This endpoint lists all registered autoretrieve servers produces: - application/json 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' summary: List autoretrieve servers tags: - autoretrieve /admin/invites: get: description: This endpoint is used to list all estuary invites. produces: - application/json 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' summary: Get Estuary invites tags: - content /admin/invites/{code}: post: description: This endpoint is used to create an estuary invite. parameters: - description: Invite code to be created in: path name: code type: string produces: - application/json 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' summary: Create an Estuary invite tags: - content /admin/peering/peers: delete: description: This endpoint can be used to remove a Peer from the Peering Service parameters: - description: Peer ids in: body name: peerIds required: true schema: items: type: boolean type: array produces: - application/json 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' summary: Remove peers on Peering Service tags: - admin get: description: This endpoint can be used to list all peers on Peering Service produces: - application/json 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' summary: List all Peering peers tags: - admin post: description: This endpoint can be used to add a Peer from the Peering Service produces: - application/json 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' summary: Add peers on Peering Service tags: - admin /admin/peering/start: post: description: This endpoint can be used to start the Peering Service produces: - application/json 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' summary: Start Peering tags: - admin /admin/peering/status: get: description: This endpoint can be used to check the Peering status produces: - application/json 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' summary: Check Peering Status tags: - admin /admin/peering/stop: post: description: This endpoint can be used to stop the Peering Service produces: - application/json 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' summary: Stop Peering tags: - admin /admin/system/config: get: description: This endpoint is used to get system configs. produces: - application/json 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' summary: Get systems(estuary/shuttle) config tags: - admin /admin/users: get: description: This endpoint is used to get all users. produces: - application/json 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' summary: Get all users tags: - admin /autoretrieve/heartbeat: post: description: This endpoint updates the lastConnection field for autoretrieve parameters: - description: Autoretrieve's auth token in: header name: token required: true type: string produces: - application/json 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' summary: Marks autoretrieve server as up tags: - autoretrieve /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 responses: "200": description: OK schema: items: $ref: '#/definitions/collections.Collection' type: array "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' summary: List all collections tags: - collections 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. parameters: - description: Collection name and description in: body name: body required: true schema: $ref: '#/definitions/api.createCollectionBody' produces: - application/json 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' summary: Create a new collection tags: - collections /collections/{coluuid}: delete: description: This endpoint is used to delete an existing collection. parameters: - description: Collection ID in: path name: coluuid required: true 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' summary: Deletes a collection tags: - collections get: description: This endpoint is used to get contents in a collection. If no colpath query param is passed parameters: - description: coluuid in: path name: coluuid required: true type: string - description: Directory in: query name: dir type: string produces: - application/json responses: "200": description: OK schema: items: $ref: '#/definitions/collections.CollectionListResponse' type: array "400": description: Bad Request schema: $ref: '#/definitions/util.HttpError' "500": description: Internal Server Error schema: $ref: '#/definitions/util.HttpError' summary: Get contents in a collection tags: - collections post: consumes: - application/json description: This endpoint adds already-pinned contents (that have ContentIDs) to a collection. parameters: - description: Collection UUID in: path name: coluuid required: true type: string - description: Content IDs to add to collection in: body name: contentIDs required: true schema: items: type: integer type: array - description: Directory in: query name: dir type: string produces: - application/json 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' summary: Add contents to a collection tags: - collections /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. parameters: - description: coluuid in: path name: coluuid required: true type: string produces: - application/json 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' summary: Produce a CID of the collection contents tags: - collections /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 parameters: - description: Collection ID in: path name: coluuid required: true type: string - description: Variable to use when filtering for files (must be either 'path' or 'content_id') in: body name: body required: true schema: $ref: '#/definitions/api.deleteContentFromCollectionBody' produces: - application/json 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' summary: Deletes a content from a collection tags: - collections /collections/fs/add: post: description: This endpoint adds a file to a collection parameters: - description: Collection ID in: query name: coluuid required: true type: string - description: Content in: query name: content required: true type: string - description: Path to file in: query name: path required: true type: string produces: - application/json 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' summary: Add a file to a collection tags: - collections /content/{id}: get: description: This endpoint returns a content by its ID parameters: - description: Content ID in: path name: id required: true type: integer produces: - application/json 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' summary: Content tags: - content /content/add: post: description: This endpoint uploads a file. produces: - application/json 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' summary: Upload a file tags: - content /content/add-car: post: description: This endpoint uploads content via a car file produces: - application/json 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' summary: Upload content via a car file tags: - content /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. parameters: - description: IPFS Body in: body name: body required: true schema: $ref: '#/definitions/types.IpfsPin' - description: Ignore Dupes in: query name: ignore-dupes type: string produces: - application/json 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' summary: Add IPFS object tags: - content /content/aggregated/{content}: get: description: This endpoint returns aggregated content stats parameters: - description: Content ID in: path name: content required: true type: string produces: - application/json 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' summary: Get aggregated content stats tags: - content /content/all-deals: get: description: This endpoint is used to get all deals for a user parameters: - description: Begin in: query name: begin required: true type: string - description: Duration in: query name: duration required: true type: string - description: All in: query name: all required: true type: string produces: - application/json 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' summary: Get all deals for a user tags: - content /content/bw-usage/{content}: get: description: This endpoint returns content bandwidth parameters: - description: Content ID in: path name: content required: true type: string produces: - application/json 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' summary: Get content bandwidth tags: - content /content/contents: get: description: This endpoint is used to get user contents parameters: - description: limit in: query name: limit required: true type: string - description: offset in: query name: offset required: true type: string produces: - application/json 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' summary: Get user contents tags: - content /content/create: post: description: This endpoint adds a new content parameters: - description: Content in: body name: req required: true schema: $ref: '#/definitions/util.ContentCreateBody' - description: Ignore Dupes in: query name: ignore-dupes type: string produces: - application/json 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' summary: Add a new content tags: - content /content/deals: get: description: This endpoint lists all content with deals parameters: - description: Limit in: query name: limit type: integer - description: Offset in: query name: offset type: integer produces: - application/json 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' summary: Content with deals tags: - content /content/ensure-replication/{datacid}: get: description: This endpoint ensures that the content is replicated to the specified number of providers parameters: - description: Data CID in: path name: datacid required: true type: string produces: - application/json 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' summary: Ensure Replication tags: - content /content/failures/{content}: get: description: This endpoint returns all failures for a content parameters: - description: Content ID in: path name: content required: true type: string produces: - application/json 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' summary: List all failures for a content tags: - content /content/importdeal: post: description: This endpoint imports a deal into the shuttle. parameters: - description: Import a deal in: body name: body required: true schema: $ref: '#/definitions/main.importDealBody' produces: - application/json 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' summary: Import a deal tags: - content /content/list: get: description: This endpoint lists all content produces: - application/json 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' summary: List all pinned content tags: - content /content/read/{cont}: get: description: This endpoint reads content from the blockstore parameters: - description: CID in: path name: cont required: true type: string produces: - application/json 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' summary: Read content tags: - content /content/staging-zones: get: description: This endpoint is used to get staging zone for user, excluding its contents. produces: - application/json 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' summary: Get staging zone for user, excluding its contents tags: - content /content/staging-zones/{staging_zone}: get: description: This endpoint is used to get a staging zone, excluding its contents. parameters: - description: Staging Zone Content ID in: path name: staging_zone required: true type: integer produces: - application/json 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' summary: Get staging zone without its contents field populated tags: - content /content/staging-zones/{staging_zone}/contents: get: description: This endpoint is used to get the contents for a staging zone parameters: - description: Staging Zone Content ID in: path name: staging_zone required: true type: integer - description: limit in: query name: limit required: true type: string - description: offset in: query name: offset required: true type: string produces: - application/json 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' summary: Get contents for a staging zone tags: - content /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 parameters: - description: limit in: query name: limit required: true type: string - description: offset in: query name: offset required: true type: string produces: - application/json 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' summary: Get content statistics tags: - content /content/status/{id}: get: description: This endpoint returns the status of a content parameters: - description: Content ID in: path name: id required: true type: integer produces: - application/json 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' summary: Content Status tags: - content /deal/estimate: post: description: This endpoint estimates 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 in: body name: body required: true schema: $ref: '#/definitions/api.estimateDealBody' produces: - application/json 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' summary: Estimate the cost of a deal tags: - deals /deal/info/{dealid}: get: description: This endpoint returns the deal info for a deal parameters: - description: Deal ID in: path name: dealid required: true type: integer produces: - application/json 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' summary: Get Deal Info tags: - deals /deal/proposal/{propcid}: get: description: This endpoint returns the proposal for a deal parameters: - description: Proposal CID in: path name: propcid required: true type: string produces: - application/json 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' summary: Get Proposal tags: - deals /deal/query/{miner}: get: description: This endpoint returns the ask for a given CID parameters: - description: CID in: path name: miner required: true type: string produces: - application/json 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' summary: Query Ask tags: - deals /deal/status-by-proposal/{propcid}: get: description: Get Deal Status by PropCid parameters: - description: PropCid in: path name: propcid required: true type: string produces: - application/json 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' summary: Get Deal Status by PropCid tags: - deals /deal/status/{miner}/{propcid}: get: description: This endpoint returns the status of a deal parameters: - description: Miner in: path name: miner required: true type: string - description: Proposal CID in: path name: propcid required: true type: string produces: - application/json 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' summary: Deal Status tags: - deals /deal/transfer/in-progress: get: description: This endpoint returns the in-progress transfers produces: - application/json 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' summary: Transfer In Progress tags: - deals /deal/transfer/status: post: description: This endpoint returns the status of a transfer parameters: - description: Channel ID in: body name: chanid required: true schema: $ref: '#/definitions/api.ChannelIDParam' produces: - application/json 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' summary: Transfer Status tags: - deals /deals/failures: get: description: This endpoint returns a list of storage failures for user produces: - application/json 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' summary: Get storage failures for user tags: - deals /deals/make/{miner}: post: description: This endpoint makes a deal for a given content and miner parameters: - description: Miner in: path name: miner required: true type: string - description: Deal Request in: body name: dealRequest required: true schema: type: string produces: - application/json 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' summary: Make Deal tags: - deals /deals/status/{deal}: get: description: This endpoint returns the status of a deal parameters: - description: Deal ID in: path name: deal required: true type: integer produces: - application/json 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' summary: Get Deal Status tags: - deals /get/{cid}: get: description: This endpoint returns the content associated with a CID parameters: - description: Cid in: path name: cid required: true type: string produces: - application/json 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' summary: Get Full Content by Cid tags: - public /miner/claim: post: description: This endpoint lets a user claim a miner parameters: - description: Claim Miner Body in: body name: req required: true schema: $ref: '#/definitions/miner.ClaimMinerBody' produces: - application/json 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' summary: Claim Miner tags: - miner /miner/claim/{miner}: get: description: This endpoint lets a user get the message in order to claim a miner parameters: - description: Miner claim message in: path name: miner required: true type: string produces: - application/json 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' summary: Get Claim Miner Message tags: - miner /miner/set-info/{miner}: put: description: This endpoint lets a user set miner info. parameters: - description: Miner set info params in: body name: params required: true schema: $ref: '#/definitions/miner.MinerSetInfoParams' - description: Miner to set info for in: path name: miner required: true type: string produces: - application/json 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' summary: Set Miner Info tags: - miner /miner/suspend/{miner}: post: description: This endpoint lets a user suspend a miner. parameters: - description: Suspend Miner Body in: body name: req required: true schema: $ref: '#/definitions/miner.SuspendMinerBody' - description: Miner to suspend in: path name: miner required: true type: string produces: - application/json 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' summary: Suspend Miner tags: - miner /miner/unsuspend/{miner}: put: description: This endpoint lets a user unsuspend a miner. parameters: - description: Miner to unsuspend in: path name: miner required: true type: string produces: - application/json 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' summary: Unuspend Miner tags: - miner /net/addrs: get: description: This endpoint is used to get net addrs produces: - application/json 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' summary: Net Addrs tags: - net /pinning/pins: get: description: This endpoint lists all pin status objects produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/types.IpfsListPinStatusResponse' "400": description: Bad Request schema: $ref: '#/definitions/util.HttpError' "500": description: Internal Server Error schema: $ref: '#/definitions/util.HttpError' summary: List all pin status objects tags: - pinning post: consumes: - application/json description: This endpoint adds a pin to the IPFS daemon. parameters: - description: Pin Body {cid:cid, name:name} in: body name: pin required: true schema: $ref: '#/definitions/types.IpfsPin' produces: - application/json responses: "202": description: Accepted schema: $ref: '#/definitions/types.IpfsPinStatusResponse' "500": description: Internal Server Error schema: $ref: '#/definitions/util.HttpError' summary: Add and pin object tags: - pinning /pinning/pins/{pinid}: delete: description: This endpoint deletes a pinned object. parameters: - description: Pin ID in: path name: pinid required: true type: string produces: - application/json responses: "202": description: Accepted "500": description: Internal Server Error schema: $ref: '#/definitions/util.HttpError' summary: Delete a pinned object tags: - pinning get: description: This endpoint returns a pin status object. parameters: - description: cid in: path name: pinid required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/types.IpfsPinStatusResponse' "404": description: Not Found schema: $ref: '#/definitions/util.HttpError' "500": description: Internal Server Error schema: $ref: '#/definitions/util.HttpError' summary: Get a pin status object tags: - pinning post: consumes: - application/json description: This endpoint replaces a pinned object. parameters: - description: Pin ID to be replaced in: path name: pinid required: true type: string - description: New pin in: body name: pin required: true schema: $ref: '#/definitions/types.IpfsPin' produces: - application/json responses: "202": description: Accepted schema: $ref: '#/definitions/types.IpfsPinStatusResponse' "404": description: Not Found schema: $ref: '#/definitions/util.HttpError' "500": description: Internal Server Error schema: $ref: '#/definitions/util.HttpError' summary: Replace a pinned object tags: - pinning /public/by-cid/{cid}: get: description: This endpoint returns the content record associated with a CID parameters: - description: Cid in: path name: cid required: true type: string produces: - application/json 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' summary: Get Content by Cid tags: - public /public/deals/failures: get: description: This endpoint returns a list of storage failures produces: - application/json 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' summary: Get storage failures tags: - deals /public/info: get: description: This endpoint returns information about the node produces: - application/json 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' summary: Get public node info tags: - public /public/metrics/deals-on-chain: get: description: This endpoint is used to get deal metrics produces: - application/json 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' summary: Get deal metrics tags: - public - metrics /public/miners: get: description: This endpoint returns all miners produces: - application/json 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' summary: Get all miners tags: - public - net /public/miners/deals/{miner}: get: description: This endpoint returns all miners deals parameters: - description: Filter by miner in: path name: miner required: true type: string - description: Ignore Failed in: query name: ignore-failed type: string produces: - application/json 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' summary: Get all miners deals tags: - public - miner /public/miners/failures/{miner}: get: description: This endpoint returns all miners parameters: - description: Filter by miner in: path name: miner required: true type: string produces: - application/json 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' summary: Get all miners tags: - public - net /public/miners/stats/{miner}: get: description: This endpoint returns miner stats parameters: - description: Filter by miner in: path name: miner required: true type: string produces: - application/json 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' summary: Get miner stats tags: - public - miner /public/miners/storage/query/{miner}: get: description: This endpoint returns the ask for a given CID parameters: - description: CID in: path name: miner required: true type: string produces: - application/json 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' summary: Query Ask tags: - deals /public/net/addrs: get: description: This endpoint is used to get net addrs produces: - application/json responses: "200": description: OK schema: items: type: string type: array summary: Net Addrs tags: - public - net /public/net/peers: get: description: This endpoint is used to get net peers produces: - application/json responses: "200": description: OK schema: items: type: string type: array "400": description: Bad Request schema: $ref: '#/definitions/util.HttpError' "500": description: Internal Server Error schema: $ref: '#/definitions/util.HttpError' summary: Net Peers tags: - public - net /public/stats: get: description: This endpoint is used to get public stats. produces: - application/json 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' summary: Public stats tags: - public /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 responses: "200": description: OK schema: items: $ref: '#/definitions/api.getApiKeysResp' type: array "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' summary: Get API keys for a user tags: - User 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. parameters: - description: Expiration - Expiration - Valid time units are ns, us (or µs), ms, s, m, h. for example 300h in: query name: expiry type: string - description: Permissions -- currently unused in: query name: perms type: string produces: - application/json 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' summary: Create API keys for a user tags: - User /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. parameters: - description: Key or Hash in: path name: key_or_hash required: true type: string produces: - application/json 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' summary: Revoke a User API Key. tags: - User /user/export: get: description: This endpoint is used to get API keys for a user. produces: - application/json 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' summary: Export user data tags: - User /user/stats: get: description: This endpoint is used to get stats for the current user. produces: - application/json 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' summary: Get stats for the current user tags: - User /viewer: get: description: This endpoint fetches viewer details such as username, permissions, address, owned miners, user settings etc. produces: - application/json 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' summary: Fetch viewer details swagger: "2.0" securityDefinitions: bearerAuth: type: apiKey name: Authorization in: header security: - bearerAuth: []