ipfs-api-0.1.0.0: gen/Network/IPFS/API.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
-- | AUTOGENERATED
module Network.IPFS.API where
import Data.Aeson (Value)
import Data.ByteString (ByteString)
import qualified Data.ByteString.Lazy as L (ByteString)
import Data.Text (Text)
import Network.IPFS.API.Types
import Servant.API
-- | Add a file or directory to ipfs.
--
-- Response example:
--
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Bytes": "<int64>"
-- > "Size": "<string>"
-- > }
type ApiV0Add =
"api" :> "v0" :> "add"
:> ReqBody '[MultipartFormData] L.ByteString
-- Add directory paths recursively. Default: false.
:> QueryParam "recursive" Bool
-- Write minimal output.
:> QueryParam "quiet" Bool
-- Write only final hash.
:> QueryParam "quieter" Bool
-- Write no output.
:> QueryParam "silent" Bool
-- Stream progress data.
:> QueryParam "progress" Bool
-- Use trickle-dag format for dag generation.
:> QueryParam "trickle" Bool
-- Only chunk and hash - do not write to disk.
:> QueryParam "only-hash" Bool
-- Wrap files with a directory object.
:> QueryParam "wrap-with-directory" Bool
-- Include files that are hidden. Only takes effect on recursive add.
:> QueryParam "hidden" Bool
-- Chunking algorithm, size-[bytes] or rabin-[min]-[avg]-[max]. Default:
-- size-262144.
:> QueryParam "chunker" Text
-- Pin this object when adding. Default: true.
:> QueryParam "pin" Bool
-- Use raw blocks for leaf nodes. (experimental).
:> QueryParam "raw-leaves" Bool
-- Add the file using filestore. Implies raw-leaves. (experimental).
:> QueryParam "nocopy" Bool
-- Check the filestore for pre-existing blocks. (experimental).
:> QueryParam "fscache" Bool
-- CID version. Defaults to 0 unless an option that depends on CIDv1 is passed.
-- (experimental).
:> QueryParam "cid-version" Int
-- Hash function to use. Implies CIDv1 if not sha2-256. (experimental). Default:
-- sha2-256.
:> QueryParam "hash" Text
:> Post '[JSON] Value
-- | Show the current ledger for a peer.
--
-- Response example:
--
-- > {
-- > "Peer": "<string>"
-- > "Value": "<float64>"
-- > "Sent": "<uint64>"
-- > "Recv": "<uint64>"
-- > "Exchanged": "<uint64>"
-- > }
type ApiV0BitswapLedger =
"api" :> "v0" :> "bitswap" :> "ledger"
-- The PeerID (B58) of the ledger to inspect.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Trigger reprovider.
type ApiV0BitswapReprovide =
"api" :> "v0" :> "bitswap" :> "reprovide"
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Show some diagnostic information on the bitswap agent.
--
-- Response example:
--
-- > {
-- > "ProvideBufLen": "<int>"
-- > "Wantlist": [
-- > "<string>"
-- > ]
-- > "Peers": [
-- > "<string>"
-- > ]
-- > "BlocksReceived": "<uint64>"
-- > "DataReceived": "<uint64>"
-- > "BlocksSent": "<uint64>"
-- > "DataSent": "<uint64>"
-- > "DupBlksReceived": "<uint64>"
-- > "DupDataReceived": "<uint64>"
-- > }
type ApiV0BitswapStat =
"api" :> "v0" :> "bitswap" :> "stat"
:> Post '[JSON] Value
-- | Remove a given block from your wantlist.
type ApiV0BitswapUnwant =
"api" :> "v0" :> "bitswap" :> "unwant"
-- Key(s) to remove from your wantlist.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Show blocks currently on the wantlist.
--
-- Response example:
--
-- > {
-- > "Keys": [
-- > "<string>"
-- > ]
-- > }
type ApiV0BitswapWantlist =
"api" :> "v0" :> "bitswap" :> "wantlist"
-- Specify which peer to show wantlist for. Default: self.
:> QueryParam "peer" Text
:> Post '[JSON] Value
-- | Get a raw IPFS block.
type ApiV0BlockGet =
"api" :> "v0" :> "block" :> "get"
-- The base58 multihash of an existing block to get.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Store input as an IPFS block.
--
-- Response example:
--
-- > {
-- > "Key": "<string>"
-- > "Size": "<int>"
-- > }
type ApiV0BlockPut =
"api" :> "v0" :> "block" :> "put"
:> ReqBody '[MultipartFormData] L.ByteString
-- cid format for blocks to be created with.
:> QueryParam "format" Text
-- multihash hash function. Default: sha2-256.
:> QueryParam "mhtype" Text
-- multihash hash length. Default: -1.
:> QueryParam "mhlen" Int
:> Post '[JSON] Value
-- | Remove IPFS block(s).
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Error": "<string>"
-- > }
type ApiV0BlockRm =
"api" :> "v0" :> "block" :> "rm"
-- Bash58 encoded multihash of block(s) to remove.
:> QueryParam' '[Required, Strict] "arg" Text
-- Ignore nonexistent blocks.
:> QueryParam "force" Bool
-- Write minimal output.
:> QueryParam "quiet" Bool
:> Post '[JSON] Value
-- | Print information of a raw IPFS block.
--
-- Response example:
--
-- > {
-- > "Key": "<string>"
-- > "Size": "<int>"
-- > }
type ApiV0BlockStat =
"api" :> "v0" :> "block" :> "stat"
-- The base58 multihash of an existing block to stat.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Add default peers to the bootstrap list.
--
-- Response example:
--
-- > {
-- > "Peers": [
-- > "<string>"
-- > ]
-- > }
type ApiV0BootstrapAddDefault =
"api" :> "v0" :> "bootstrap" :> "add" :> "default"
:> Post '[JSON] Value
-- | Show peers in the bootstrap list.
--
-- Response example:
--
-- > {
-- > "Peers": [
-- > "<string>"
-- > ]
-- > }
type ApiV0BootstrapList =
"api" :> "v0" :> "bootstrap" :> "list"
:> Post '[JSON] Value
-- | Remove all peers from the bootstrap list.
--
-- Response example:
--
-- > {
-- > "Peers": [
-- > "<string>"
-- > ]
-- > }
type ApiV0BootstrapRmAll =
"api" :> "v0" :> "bootstrap" :> "rm" :> "all"
:> Post '[JSON] Value
-- | Show IPFS object data.
type ApiV0Cat =
"api" :> "v0" :> "cat"
-- The path to the IPFS object(s) to be outputted.
:> QueryParam' '[Required, Strict] "arg" Text
-- Byte offset to begin reading from.
:> QueryParam "offset" Int
-- Maximum number of bytes to read.
:> QueryParam "length" Int
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | List all available commands.
--
-- Response example:
--
-- > {
-- > "Name": "<string>"
-- > "Subcommands": [
-- > {
-- > "Name": "<string>"
-- > "Subcommands": [
-- > {
-- > "Name": "<string>"
-- > "Subcommands": [
-- > ...
-- > ]
-- > "Options": [
-- > ...
-- > ]
-- > "showOpts": "<bool>"
-- > }
-- > ]
-- > "Options": [
-- > {
-- > "Names": [
-- > ...
-- > ]
-- > }
-- > ]
-- > "showOpts": "<bool>"
-- > }
-- > ]
-- > "Options": [
-- > {
-- > "Names": [
-- > "<string>"
-- > ]
-- > }
-- > ]
-- > "showOpts": "<bool>"
-- > }
type ApiV0Commands =
"api" :> "v0" :> "commands"
-- Show command flags.
:> QueryParam "flags" Bool
:> Post '[JSON] Value
-- | Open the config file for editing in $EDITOR.
type ApiV0ConfigEdit =
"api" :> "v0" :> "config" :> "edit"
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Apply profile to config.
type ApiV0ConfigProfileApply =
"api" :> "v0" :> "config" :> "profile" :> "apply"
-- The profile to apply to the config.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Replace the config with <file>.
type ApiV0ConfigReplace =
"api" :> "v0" :> "config" :> "replace"
:> ReqBody '[MultipartFormData] L.ByteString
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Output config file contents.
type ApiV0ConfigShow =
"api" :> "v0" :> "config" :> "show"
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Get a dag node from ipfs.
type ApiV0DagGet =
"api" :> "v0" :> "dag" :> "get"
-- The object to get
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Add a dag node to ipfs.
--
-- Response example:
--
-- > {
-- > "Cid": "<string>"
-- > }
type ApiV0DagPut =
"api" :> "v0" :> "dag" :> "put"
:> ReqBody '[MultipartFormData] L.ByteString
-- Format that the object will be added as. Default: cbor.
:> QueryParam "format" Text
-- Format that the input object will be. Default: json.
:> QueryParam "input-enc" Text
-- Pin this object when adding.
:> QueryParam "pin" Bool
-- Hash function to use. Default: .
:> QueryParam "hash" Text
:> Post '[JSON] Value
-- | Resolve ipld block
--
-- Response example:
--
-- > {
-- > "Cid": "<string>"
-- > "RemPath": "<string>"
-- > }
type ApiV0DagResolve =
"api" :> "v0" :> "dag" :> "resolve"
-- The path to resolve
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Query the DHT for all of the multiaddresses associated with a Peer ID.
--
-- Response example:
--
-- > {
-- > "ID": "<string>"
-- > "Type": "<int>"
-- > "Responses": [
-- > {
-- > "ID": "<string>"
-- > "Addrs": [
-- > "<object>"
-- > ]
-- > }
-- > ]
-- > "Extra": "<string>"
-- > }
type ApiV0DhtFindpeer =
"api" :> "v0" :> "dht" :> "findpeer"
-- The ID of the peer to search for.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print extra information.
:> QueryParam "verbose" Bool
:> Post '[JSON] Value
-- | Find peers in the DHT that can provide a specific value, given a key.
--
-- Response example:
--
-- > {
-- > "ID": "<string>"
-- > "Type": "<int>"
-- > "Responses": [
-- > {
-- > "ID": "<string>"
-- > "Addrs": [
-- > "<object>"
-- > ]
-- > }
-- > ]
-- > "Extra": "<string>"
-- > }
type ApiV0DhtFindprovs =
"api" :> "v0" :> "dht" :> "findprovs"
-- The key to find providers for.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print extra information.
:> QueryParam "verbose" Bool
-- The number of providers to find. Default: 20.
:> QueryParam "num-providers" Int
:> Post '[JSON] Value
-- | Given a key, query the DHT for its best value.
--
-- Response example:
--
-- > {
-- > "ID": "<string>"
-- > "Type": "<int>"
-- > "Responses": [
-- > {
-- > "ID": "<string>"
-- > "Addrs": [
-- > "<object>"
-- > ]
-- > }
-- > ]
-- > "Extra": "<string>"
-- > }
type ApiV0DhtGet =
"api" :> "v0" :> "dht" :> "get"
-- The key to find a value for.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print extra information.
:> QueryParam "verbose" Bool
:> Post '[JSON] Value
-- | Announce to the network that you are providing given values.
--
-- Response example:
--
-- > {
-- > "ID": "<string>"
-- > "Type": "<int>"
-- > "Responses": [
-- > {
-- > "ID": "<string>"
-- > "Addrs": [
-- > "<object>"
-- > ]
-- > }
-- > ]
-- > "Extra": "<string>"
-- > }
type ApiV0DhtProvide =
"api" :> "v0" :> "dht" :> "provide"
-- The key[s] to send provide records for.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print extra information.
:> QueryParam "verbose" Bool
-- Recursively provide entire graph.
:> QueryParam "recursive" Bool
:> Post '[JSON] Value
-- | Write a key/value pair to the DHT.
--
-- Response example:
--
-- > {
-- > "ID": "<string>"
-- > "Type": "<int>"
-- > "Responses": [
-- > {
-- > "ID": "<string>"
-- > "Addrs": [
-- > "<object>"
-- > ]
-- > }
-- > ]
-- > "Extra": "<string>"
-- > }
type ApiV0DhtPut =
"api" :> "v0" :> "dht" :> "put"
-- The key to store the value at.
:> QueryParam' '[Required, Strict] "arg" Text
-- The value to store.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print extra information.
:> QueryParam "verbose" Bool
:> Post '[JSON] Value
-- | Find the closest Peer IDs to a given Peer ID by querying the DHT.
--
-- Response example:
--
-- > {
-- > "ID": "<string>"
-- > "Type": "<int>"
-- > "Responses": [
-- > {
-- > "ID": "<string>"
-- > "Addrs": [
-- > "<object>"
-- > ]
-- > }
-- > ]
-- > "Extra": "<string>"
-- > }
type ApiV0DhtQuery =
"api" :> "v0" :> "dht" :> "query"
-- The peerID to run the query against.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print extra information.
:> QueryParam "verbose" Bool
:> Post '[JSON] Value
-- | Clear inactive requests from the log.
type ApiV0DiagCmdsClear =
"api" :> "v0" :> "diag" :> "cmds" :> "clear"
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Set how long to keep inactive requests in the log.
type ApiV0DiagCmdsSetTime =
"api" :> "v0" :> "diag" :> "cmds" :> "set-time"
-- Time to keep inactive requests in log.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Print system diagnostic information.
type ApiV0DiagSys =
"api" :> "v0" :> "diag" :> "sys"
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Resolve DNS links.
--
-- Response example:
--
-- > {
-- > "Path": "<string>"
-- > }
type ApiV0Dns =
"api" :> "v0" :> "dns"
-- The domain-name name to resolve.
:> QueryParam' '[Required, Strict] "arg" Text
-- Resolve until the result is not a DNS link.
:> QueryParam "recursive" Bool
:> Post '[JSON] Value
-- | List directory contents for Unix filesystem objects.
--
-- Response example:
--
-- > {
-- > "Arguments": {
-- > "<string>": "<string>"
-- > }
-- > "Objects": {
-- > "<string>": {
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > "Type": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > "Type": "<string>"
-- > }
-- > ]
-- > }
-- > }
-- > }
type ApiV0FileLs =
"api" :> "v0" :> "file" :> "ls"
-- The path to the IPFS object(s) to list links from.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Change the cid version or hash function of the root node of a given path.
type ApiV0FilesChcid =
"api" :> "v0" :> "files" :> "chcid"
-- Path to change. Default: '/'.
:> QueryParam' '[Required, Strict] "arg" Text
-- Cid version to use. (experimental).
:> QueryParam "cid-version" Int
-- Hash function to use. Will set Cid version to 1 if used. (experimental).
:> QueryParam "hash" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Copy files into mfs.
type ApiV0FilesCp =
"api" :> "v0" :> "files" :> "cp"
-- Source object to copy.
:> QueryParam' '[Required, Strict] "arg" Text
-- Destination to copy object to.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Flush a given path's data to disk.
type ApiV0FilesFlush =
"api" :> "v0" :> "files" :> "flush"
-- Path to flush. Default: '/'.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | List directories in the local mutable namespace.
--
-- Response example:
--
-- > {
-- > "Entries": [
-- > {
-- > "Name": "<string>"
-- > "Type": "<int>"
-- > "Size": "<int64>"
-- > "Hash": "<string>"
-- > }
-- > ]
-- > }
type ApiV0FilesLs =
"api" :> "v0" :> "files" :> "ls"
-- Path to show listing for. Defaults to '/'.
:> QueryParam' '[Required, Strict] "arg" Text
-- Use long listing format.
:> QueryParam "l" Bool
:> Post '[JSON] Value
-- | Make directories.
type ApiV0FilesMkdir =
"api" :> "v0" :> "files" :> "mkdir"
-- Path to dir to make.
:> QueryParam' '[Required, Strict] "arg" Text
-- No error if existing, make parent directories as needed.
:> QueryParam "parents" Bool
-- Cid version to use. (experimental).
:> QueryParam "cid-version" Int
-- Hash function to use. Will set Cid version to 1 if used. (experimental).
:> QueryParam "hash" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Move files.
type ApiV0FilesMv =
"api" :> "v0" :> "files" :> "mv"
-- Source file to move.
:> QueryParam' '[Required, Strict] "arg" Text
-- Destination path for file to be moved to.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Read a file in a given mfs.
type ApiV0FilesRead =
"api" :> "v0" :> "files" :> "read"
-- Path to file to be read.
:> QueryParam' '[Required, Strict] "arg" Text
-- Byte offset to begin reading from.
:> QueryParam "offset" Int
-- Maximum number of bytes to read.
:> QueryParam "count" Int
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Remove a file.
type ApiV0FilesRm =
"api" :> "v0" :> "files" :> "rm"
-- File to remove.
:> QueryParam' '[Required, Strict] "arg" Text
-- Recursively remove directories.
:> QueryParam "recursive" Bool
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Display file status.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > "CumulativeSize": "<uint64>"
-- > "Blocks": "<int>"
-- > "Type": "<string>"
-- > "WithLocality": "<bool>"
-- > "Local": "<bool>"
-- > "SizeLocal": "<uint64>"
-- > }
type ApiV0FilesStat =
"api" :> "v0" :> "files" :> "stat"
-- Path to node to stat.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print statistics in given format. Allowed tokens: <hash> <size> <cumulsize>
-- <type> <childs>. Conflicts with other format options. Default: <hash> Size:
-- <size> CumulativeSize: <cumulsize> ChildBlocks: <childs> Type: <type>.
:> QueryParam "format" Text
-- Print only hash. Implies '--format=<hash>'. Conflicts with other format options.
:> QueryParam "hash" Bool
-- Print only size. Implies '--format=<cumulsize>'. Conflicts with other format
-- options.
:> QueryParam "size" Bool
-- Compute the amount of the dag that is local, and if possible the total size.
:> QueryParam "with-local" Bool
:> Post '[JSON] Value
-- | Write to a mutable file in a given filesystem.
type ApiV0FilesWrite =
"api" :> "v0" :> "files" :> "write"
-- Path to write to.
:> QueryParam' '[Required, Strict] "arg" Text
:> ReqBody '[MultipartFormData] L.ByteString
-- Byte offset to begin writing at.
:> QueryParam "offset" Int
-- Create the file if it does not exist.
:> QueryParam "create" Bool
-- Truncate the file to size zero before writing.
:> QueryParam "truncate" Bool
-- Maximum number of bytes to read.
:> QueryParam "count" Int
-- Use raw blocks for newly created leaf nodes. (experimental).
:> QueryParam "raw-leaves" Bool
-- Cid version to use. (experimental).
:> QueryParam "cid-version" Int
-- Hash function to use. Will set Cid version to 1 if used. (experimental).
:> QueryParam "hash" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | List blocks that are both in the filestore and standard block storage.
--
-- Response example:
--
-- > {
-- > "Ref": "<string>"
-- > "Err": "<string>"
-- > }
type ApiV0FilestoreDups =
"api" :> "v0" :> "filestore" :> "dups"
:> Post '[JSON] Value
-- | List objects in filestore.
--
-- Response example:
--
-- > {
-- > "Status": "<int32>"
-- > "ErrorMsg": "<string>"
-- > "Key": "<string>"
-- > "FilePath": "<string>"
-- > "Offset": "<uint64>"
-- > "Size": "<uint64>"
-- > }
type ApiV0FilestoreLs =
"api" :> "v0" :> "filestore" :> "ls"
-- Cid of objects to list.
:> QueryParam' '[Required, Strict] "arg" Text
-- sort the results based on the path of the backing file.
:> QueryParam "file-order" Bool
:> Post '[JSON] Value
-- | Verify objects in filestore.
--
-- Response example:
--
-- > {
-- > "Status": "<int32>"
-- > "ErrorMsg": "<string>"
-- > "Key": "<string>"
-- > "FilePath": "<string>"
-- > "Offset": "<uint64>"
-- > "Size": "<uint64>"
-- > }
type ApiV0FilestoreVerify =
"api" :> "v0" :> "filestore" :> "verify"
-- Cid of objects to verify.
:> QueryParam' '[Required, Strict] "arg" Text
-- verify the objects based on the order of the backing file.
:> QueryParam "file-order" Bool
:> Post '[JSON] Value
-- | Download IPFS objects.
type ApiV0Get =
"api" :> "v0" :> "get"
-- The path to the IPFS object(s) to be outputted.
:> QueryParam' '[Required, Strict] "arg" Text
-- The path where the output should be stored.
:> QueryParam "output" Text
-- Output a TAR archive.
:> QueryParam "archive" Bool
-- Compress the output with GZIP compression.
:> QueryParam "compress" Bool
-- The level of compression (1-9).
:> QueryParam "compression-level" Int
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Show ipfs node id info.
--
-- Response example:
--
-- > {
-- > "ID": "<string>"
-- > "PublicKey": "<string>"
-- > "Addresses": [
-- > "<string>"
-- > ]
-- > "AgentVersion": "<string>"
-- > "ProtocolVersion": "<string>"
-- > }
type ApiV0Id =
"api" :> "v0" :> "id"
-- Peer.ID of node to look up.
:> QueryParam' '[Required, Strict] "arg" Text
-- Optional output format.
:> QueryParam "format" Text
:> Post '[JSON] Value
-- | Create a new keypair
--
-- Response example:
--
-- > {
-- > "Name": "<string>"
-- > "Id": "<string>"
-- > }
type ApiV0KeyGen =
"api" :> "v0" :> "key" :> "gen"
-- name of key to create
:> QueryParam' '[Required, Strict] "arg" Text
-- type of the key to create [rsa, ed25519].
:> QueryParam "type" Text
-- size of the key to generate.
:> QueryParam "size" Int
:> Post '[JSON] Value
-- | List all local keypairs
--
-- Response example:
--
-- > {
-- > "Keys": [
-- > {
-- > "Name": "<string>"
-- > "Id": "<string>"
-- > }
-- > ]
-- > }
type ApiV0KeyList =
"api" :> "v0" :> "key" :> "list"
-- Show extra information about keys.
:> QueryParam "l" Bool
:> Post '[JSON] Value
-- | Rename a keypair
--
-- Response example:
--
-- > {
-- > "Was": "<string>"
-- > "Now": "<string>"
-- > "Id": "<string>"
-- > "Overwrite": "<bool>"
-- > }
type ApiV0KeyRename =
"api" :> "v0" :> "key" :> "rename"
-- name of key to rename
:> QueryParam' '[Required, Strict] "arg" Text
-- new name of the key
:> QueryParam' '[Required, Strict] "arg" Text
-- Allow to overwrite an existing key.
:> QueryParam "force" Bool
:> Post '[JSON] Value
-- | Remove a keypair
--
-- Response example:
--
-- > {
-- > "Keys": [
-- > {
-- > "Name": "<string>"
-- > "Id": "<string>"
-- > }
-- > ]
-- > }
type ApiV0KeyRm =
"api" :> "v0" :> "key" :> "rm"
-- names of keys to remove
:> QueryParam' '[Required, Strict] "arg" Text
-- Show extra information about keys.
:> QueryParam "l" Bool
:> Post '[JSON] Value
-- | Change the logging level.
--
-- Response example:
--
-- > {
-- > "Message": "<string>"
-- > }
type ApiV0LogLevel =
"api" :> "v0" :> "log" :> "level"
-- The subsystem logging identifier. Use 'all' for all subsystems.
:> QueryParam' '[Required, Strict] "arg" Text
-- The log level, with 'debug' the most verbose and 'critical' the least verbose.
-- One of: debug, info, warning, error, critical.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | List the logging subsystems.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0LogLs =
"api" :> "v0" :> "log" :> "ls"
:> Post '[JSON] Value
-- | Read the event log.
type ApiV0LogTail =
"api" :> "v0" :> "log" :> "tail"
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | List directory contents for Unix filesystem objects.
--
-- Response example:
--
-- > {
-- > "Objects": [
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > "Type": "<int32>"
-- > }
-- > ]
-- > }
-- > ]
-- > }
type ApiV0Ls =
"api" :> "v0" :> "ls"
-- The path to the IPFS object(s) to list links from.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print table headers (Hash, Size, Name).
:> QueryParam "headers" Bool
-- Resolve linked objects to find out their types. Default: true.
:> QueryParam "resolve-type" Bool
:> Post '[JSON] Value
-- | Mounts IPFS to the filesystem (read-only).
--
-- Response example:
--
-- > {
-- > "IPFS": "<string>"
-- > "IPNS": "<string>"
-- > "FuseAllowOther": "<bool>"
-- > }
type ApiV0Mount =
"api" :> "v0" :> "mount"
-- The path where IPFS should be mounted.
:> QueryParam "ipfs-path" Text
-- The path where IPNS should be mounted.
:> QueryParam "ipns-path" Text
:> Post '[JSON] Value
-- | Publish IPNS names.
--
-- Response example:
--
-- > {
-- > "Name": "<string>"
-- > "Value": "<string>"
-- > }
type ApiV0NamePublish =
"api" :> "v0" :> "name" :> "publish"
-- ipfs path of the object to be published.
:> QueryParam' '[Required, Strict] "arg" Text
-- Resolve given path before publishing. Default: true.
:> QueryParam "resolve" Bool
-- Time duration that the record will be valid for. Default: 24h. This accepts
-- durations such as "300s", "1.5h" or "2h45m". Valid time units are "ns", "us" (or
-- "µs"), "ms", "s", "m", "h".
:> QueryParam "lifetime" Text
-- Time duration this record should be cached for (caution: experimental).
:> QueryParam "ttl" Text
-- Name of the key to be used or a valid PeerID, as listed by 'ipfs key list -l'.
-- Default: Default: self..
:> QueryParam "key" Text
:> Post '[JSON] Value
-- | Cancel a name subscription
--
-- Response example:
--
-- > {
-- > "Canceled": "<bool>"
-- > }
type ApiV0NamePubsubCancel =
"api" :> "v0" :> "name" :> "pubsub" :> "cancel"
-- Name to cancel the subscription for.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Query the state of IPNS pubsub
--
-- Response example:
--
-- > {
-- > "Enabled": "<bool>"
-- > }
type ApiV0NamePubsubState =
"api" :> "v0" :> "name" :> "pubsub" :> "state"
:> Post '[JSON] Value
-- | Show current name subscriptions
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0NamePubsubSubs =
"api" :> "v0" :> "name" :> "pubsub" :> "subs"
:> Post '[JSON] Value
-- | Resolve IPNS names.
--
-- Response example:
--
-- > {
-- > "Path": "<string>"
-- > }
type ApiV0NameResolve =
"api" :> "v0" :> "name" :> "resolve"
-- The IPNS name to resolve. Defaults to your node's peerID.
:> QueryParam' '[Required, Strict] "arg" Text
-- Resolve until the result is not an IPNS name.
:> QueryParam "recursive" Bool
-- Do not use cached entries.
:> QueryParam "nocache" Bool
-- Number of records to request for DHT resolution.
:> QueryParam "dht-record-count" Word
-- Max time to collect values during DHT resolution eg "30s". Pass 0 for no
-- timeout.
:> QueryParam "dht-timeout" Text
:> Post '[JSON] Value
-- | Output the raw bytes of an IPFS object.
type ApiV0ObjectData =
"api" :> "v0" :> "object" :> "data"
-- Key of the object to retrieve, in base58-encoded multihash format.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Display the diff between two ipfs objects.
--
-- Response example:
--
-- > {
-- > "Changes": [
-- > {
-- > "Type": "<int>"
-- > "Path": "<string>"
-- > "Before": "<string>"
-- > "After": "<string>"
-- > }
-- > ]
-- > }
type ApiV0ObjectDiff =
"api" :> "v0" :> "object" :> "diff"
-- Object to diff against.
:> QueryParam' '[Required, Strict] "arg" Text
-- Object to diff.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print extra information.
:> QueryParam "verbose" Bool
:> Post '[JSON] Value
-- | Get and serialize the DAG node named by <key>.
--
-- Response example:
--
-- > {
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > "Data": "<string>"
-- > }
type ApiV0ObjectGet =
"api" :> "v0" :> "object" :> "get"
-- Key of the object to retrieve, in base58-encoded multihash format.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Output the links pointed to by the specified object.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > }
type ApiV0ObjectLinks =
"api" :> "v0" :> "object" :> "links"
-- Key of the object to retrieve, in base58-encoded multihash format.
:> QueryParam' '[Required, Strict] "arg" Text
-- Print table headers (Hash, Size, Name).
:> QueryParam "headers" Bool
:> Post '[JSON] Value
-- | Create a new object from an ipfs template.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > }
type ApiV0ObjectNew =
"api" :> "v0" :> "object" :> "new"
-- Template to use. Optional.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Add a link to a given object.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > }
type ApiV0ObjectPatchAddLink =
"api" :> "v0" :> "object" :> "patch" :> "add-link"
-- The hash of the node to modify.
:> QueryParam' '[Required, Strict] "arg" Text
-- Name of link to create.
:> QueryParam' '[Required, Strict] "arg" Text
-- IPFS object to add link to.
:> QueryParam' '[Required, Strict] "arg" Text
-- Create intermediary nodes.
:> QueryParam "create" Bool
:> Post '[JSON] Value
-- | Append data to the data segment of a dag node.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > }
type ApiV0ObjectPatchAppendData =
"api" :> "v0" :> "object" :> "patch" :> "append-data"
-- The hash of the node to modify.
:> QueryParam' '[Required, Strict] "arg" Text
:> ReqBody '[MultipartFormData] L.ByteString
:> Post '[JSON] Value
-- | Remove a link from an object.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > }
type ApiV0ObjectPatchRmLink =
"api" :> "v0" :> "object" :> "patch" :> "rm-link"
-- The hash of the node to modify.
:> QueryParam' '[Required, Strict] "arg" Text
-- Name of the link to remove.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Set the data field of an IPFS object.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > }
type ApiV0ObjectPatchSetData =
"api" :> "v0" :> "object" :> "patch" :> "set-data"
-- The hash of the node to modify.
:> QueryParam' '[Required, Strict] "arg" Text
:> ReqBody '[MultipartFormData] L.ByteString
:> Post '[JSON] Value
-- | Store input as a DAG object, print its key.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "Links": [
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Size": "<uint64>"
-- > }
-- > ]
-- > }
type ApiV0ObjectPut =
"api" :> "v0" :> "object" :> "put"
:> ReqBody '[MultipartFormData] L.ByteString
-- Encoding type of input data. One of: {"protobuf", "json"}. Default: json.
:> QueryParam "inputenc" Text
-- Encoding type of the data field, either "text" or "base64". Default: text.
:> QueryParam "datafieldenc" Text
-- Pin this object when adding.
:> QueryParam "pin" Bool
-- Write minimal output.
:> QueryParam "quiet" Bool
:> Post '[JSON] Value
-- | Get stats for the DAG node named by <key>.
--
-- Response example:
--
-- > {
-- > "Hash": "<string>"
-- > "NumLinks": "<int>"
-- > "BlockSize": "<int>"
-- > "LinksSize": "<int>"
-- > "DataSize": "<int>"
-- > "CumulativeSize": "<int>"
-- > }
type ApiV0ObjectStat =
"api" :> "v0" :> "object" :> "stat"
-- Key of the object to retrieve, in base58-encoded multihash format.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Close active p2p listener.
type ApiV0P2pListenerClose =
"api" :> "v0" :> "p2p" :> "listener" :> "close"
-- P2P listener protocol
:> QueryParam' '[Required, Strict] "arg" Text
-- Close all listeners.
:> QueryParam "all" Bool
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | List active p2p listeners.
--
-- Response example:
--
-- > {
-- > "Listeners": [
-- > {
-- > "Protocol": "<string>"
-- > "Address": "<string>"
-- > }
-- > ]
-- > }
type ApiV0P2pListenerLs =
"api" :> "v0" :> "p2p" :> "listener" :> "ls"
-- Print table headers (HandlerID, Protocol, Local, Remote).
:> QueryParam "headers" Bool
:> Post '[JSON] Value
-- | Forward p2p connections to a network multiaddr.
type ApiV0P2pListenerOpen =
"api" :> "v0" :> "p2p" :> "listener" :> "open"
-- Protocol identifier.
:> QueryParam' '[Required, Strict] "arg" Text
-- Request handling application address.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Close active p2p stream.
type ApiV0P2pStreamClose =
"api" :> "v0" :> "p2p" :> "stream" :> "close"
-- Stream HandlerID
:> QueryParam' '[Required, Strict] "arg" Text
-- Close all streams.
:> QueryParam "all" Bool
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Dial to a p2p listener.
type ApiV0P2pStreamDial =
"api" :> "v0" :> "p2p" :> "stream" :> "dial"
-- Remote peer to connect to
:> QueryParam' '[Required, Strict] "arg" Text
-- Protocol identifier.
:> QueryParam' '[Required, Strict] "arg" Text
-- Address to listen for connection/s (default: /ip4/127.0.0.1/tcp/0).
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | List active p2p streams.
--
-- Response example:
--
-- > {
-- > "Streams": [
-- > {
-- > "HandlerID": "<string>"
-- > "Protocol": "<string>"
-- > "LocalPeer": "<string>"
-- > "LocalAddress": "<string>"
-- > "RemotePeer": "<string>"
-- > "RemoteAddress": "<string>"
-- > }
-- > ]
-- > }
type ApiV0P2pStreamLs =
"api" :> "v0" :> "p2p" :> "stream" :> "ls"
-- Print table headers (HagndlerID, Protocol, Local, Remote).
:> QueryParam "headers" Bool
:> Post '[JSON] Value
-- | Pin objects to local storage.
--
-- Response example:
--
-- > {
-- > "Pins": [
-- > "<string>"
-- > ]
-- > "Progress": "<int>"
-- > }
type ApiV0PinAdd =
"api" :> "v0" :> "pin" :> "add"
-- Path to object(s) to be pinned.
:> QueryParam' '[Required, Strict] "arg" Text
-- Recursively pin the object linked to by the specified object(s). Default: true.
:> QueryParam "recursive" Bool
-- Show progress.
:> QueryParam "progress" Bool
:> Post '[JSON] Value
-- | List objects pinned to local storage.
--
-- Response example:
--
-- > {
-- > "Keys": {
-- > "<string>": {
-- > "Type": "<string>"
-- > }
-- > }
-- > }
type ApiV0PinLs =
"api" :> "v0" :> "pin" :> "ls"
-- Path to object(s) to be listed.
:> QueryParam' '[Required, Strict] "arg" Text
-- The type of pinned keys to list. Can be "direct", "indirect", "recursive", or
-- "all". Default: all.
:> QueryParam "type" Text
-- Write just hashes of objects.
:> QueryParam "quiet" Bool
:> Post '[JSON] Value
-- | Remove pinned objects from local storage.
--
-- Response example:
--
-- > {
-- > "Pins": [
-- > "<string>"
-- > ]
-- > }
type ApiV0PinRm =
"api" :> "v0" :> "pin" :> "rm"
-- Path to object(s) to be unpinned.
:> QueryParam' '[Required, Strict] "arg" Text
-- Recursively unpin the object linked to by the specified object(s). Default:
-- true.
:> QueryParam "recursive" Bool
:> Post '[JSON] Value
-- | Update a recursive pin
--
-- Response example:
--
-- > {
-- > "Pins": [
-- > "<string>"
-- > ]
-- > }
type ApiV0PinUpdate =
"api" :> "v0" :> "pin" :> "update"
-- Path to old object.
:> QueryParam' '[Required, Strict] "arg" Text
-- Path to new object to be pinned.
:> QueryParam' '[Required, Strict] "arg" Text
-- Remove the old pin. Default: true.
:> QueryParam "unpin" Bool
:> Post '[JSON] Value
-- | Verify that recursive pins are complete.
--
-- Response example:
--
-- > {
-- > "Cid": "<string>"
-- > "PinStatus": {
-- > "Ok": "<bool>"
-- > "BadNodes": [
-- > {
-- > "Cid": "<string>"
-- > "Err": "<string>"
-- > }
-- > ]
-- > }
-- > }
type ApiV0PinVerify =
"api" :> "v0" :> "pin" :> "verify"
-- Also write the hashes of non-broken pins.
:> QueryParam "verbose" Bool
-- Write just hashes of broken pins.
:> QueryParam "quiet" Bool
:> Post '[JSON] Value
-- | Send echo request packets to IPFS hosts.
--
-- Response example:
--
-- > {
-- > "Success": "<bool>"
-- > "Time": "<int64>"
-- > "Text": "<string>"
-- > }
type ApiV0Ping =
"api" :> "v0" :> "ping"
-- ID of peer to be pinged.
:> QueryParam' '[Required, Strict] "arg" Text
-- Number of ping messages to send. Default: 10.
:> QueryParam "count" Int
:> Post '[JSON] Value
-- | List subscribed topics by name.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0PubsubLs =
"api" :> "v0" :> "pubsub" :> "ls"
:> Post '[JSON] Value
-- | List peers we are currently pubsubbing with.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0PubsubPeers =
"api" :> "v0" :> "pubsub" :> "peers"
-- topic to list connected peers of
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Publish a message to a given pubsub topic.
type ApiV0PubsubPub =
"api" :> "v0" :> "pubsub" :> "pub"
-- Topic to publish to.
:> QueryParam' '[Required, Strict] "arg" Text
-- Payload of message to publish.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Subscribe to messages on a given topic.
--
-- Response example:
--
-- > {
-- > "Message": {
-- > "From": [
-- > "<uint8>"
-- > ]
-- > "Data": [
-- > "<uint8>"
-- > ]
-- > "Seqno": [
-- > "<uint8>"
-- > ]
-- > "TopicIDs": [
-- > "<string>"
-- > ]
-- > "XXX_unrecognized": [
-- > "<uint8>"
-- > ]
-- > }
-- > }
type ApiV0PubsubSub =
"api" :> "v0" :> "pubsub" :> "sub"
-- String name of topic to subscribe to.
:> QueryParam' '[Required, Strict] "arg" Text
-- try to discover other peers subscribed to the same topic.
:> QueryParam "discover" Bool
:> Post '[JSON] Value
-- | List all local references.
--
-- Response example:
--
-- > {
-- > "Ref": "<string>"
-- > "Err": "<string>"
-- > }
type ApiV0RefsLocal =
"api" :> "v0" :> "refs" :> "local"
:> Post '[JSON] Value
-- | Remove repo lockfiles.
--
-- Response example:
--
-- > {
-- > "Message": "<string>"
-- > }
type ApiV0RepoFsck =
"api" :> "v0" :> "repo" :> "fsck"
:> Post '[JSON] Value
-- | Perform a garbage collection sweep on the repo.
--
-- Response example:
--
-- > {
-- > "Key": "<string>"
-- > "Error": "<string>"
-- > }
type ApiV0RepoGc =
"api" :> "v0" :> "repo" :> "gc"
-- Stream errors.
:> QueryParam "stream-errors" Bool
-- Write minimal output.
:> QueryParam "quiet" Bool
:> Post '[JSON] Value
-- | Get stats for the currently used repo.
--
-- Response example:
--
-- > {
-- > "NumObjects": "<uint64>"
-- > "RepoSize": "<uint64>"
-- > "RepoPath": "<string>"
-- > "Version": "<string>"
-- > "StorageMax": "<uint64>"
-- > }
type ApiV0RepoStat =
"api" :> "v0" :> "repo" :> "stat"
-- Output RepoSize in MiB.
:> QueryParam "human" Bool
:> Post '[JSON] Value
-- | Verify all blocks in repo are not corrupted.
--
-- Response example:
--
-- > {
-- > "Msg": "<string>"
-- > "Progress": "<int>"
-- > }
type ApiV0RepoVerify =
"api" :> "v0" :> "repo" :> "verify"
:> Post '[JSON] Value
-- | Show the repo version.
--
-- Response example:
--
-- > {
-- > "Version": "<string>"
-- > }
type ApiV0RepoVersion =
"api" :> "v0" :> "repo" :> "version"
-- Write minimal output.
:> QueryParam "quiet" Bool
:> Post '[JSON] Value
-- | Resolve the value of names to IPFS.
--
-- Response example:
--
-- > {
-- > "Path": "<string>"
-- > }
type ApiV0Resolve =
"api" :> "v0" :> "resolve"
-- The name to resolve.
:> QueryParam' '[Required, Strict] "arg" Text
-- Resolve until the result is an IPFS name.
:> QueryParam "recursive" Bool
-- Number of records to request for DHT resolution.
:> QueryParam "dht-record-count" Word
-- Max time to collect values during DHT resolution eg "30s". Pass 0 for no
-- timeout.
:> QueryParam "dht-timeout" Text
:> Post '[JSON] Value
-- | Shut down the ipfs daemon
type ApiV0Shutdown =
"api" :> "v0" :> "shutdown"
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Show some diagnostic information on the bitswap agent.
--
-- Response example:
--
-- > {
-- > "ProvideBufLen": "<int>"
-- > "Wantlist": [
-- > "<string>"
-- > ]
-- > "Peers": [
-- > "<string>"
-- > ]
-- > "BlocksReceived": "<uint64>"
-- > "DataReceived": "<uint64>"
-- > "BlocksSent": "<uint64>"
-- > "DataSent": "<uint64>"
-- > "DupBlksReceived": "<uint64>"
-- > "DupDataReceived": "<uint64>"
-- > }
type ApiV0StatsBitswap =
"api" :> "v0" :> "stats" :> "bitswap"
:> Post '[JSON] Value
-- | Print ipfs bandwidth information.
--
-- Response example:
--
-- > {
-- > "TotalIn": "<int64>"
-- > "TotalOut": "<int64>"
-- > "RateIn": "<float64>"
-- > "RateOut": "<float64>"
-- > }
type ApiV0StatsBw =
"api" :> "v0" :> "stats" :> "bw"
-- Specify a peer to print bandwidth for.
:> QueryParam "peer" Text
-- Specify a protocol to print bandwidth for.
:> QueryParam "proto" Text
-- Print bandwidth at an interval.
:> QueryParam "poll" Bool
-- Time interval to wait between updating output, if 'poll' is true. This accepts
-- durations such as "300s", "1.5h" or "2h45m". Valid time units are: "ns", "us"
-- (or "µs"), "ms", "s", "m", "h". Default: 1s.
:> QueryParam "interval" Text
:> Post '[JSON] Value
-- | Get stats for the currently used repo.
--
-- Response example:
--
-- > {
-- > "NumObjects": "<uint64>"
-- > "RepoSize": "<uint64>"
-- > "RepoPath": "<string>"
-- > "Version": "<string>"
-- > "StorageMax": "<uint64>"
-- > }
type ApiV0StatsRepo =
"api" :> "v0" :> "stats" :> "repo"
-- Output RepoSize in MiB.
:> QueryParam "human" Bool
:> Post '[JSON] Value
-- | List interface listening addresses.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0SwarmAddrsListen =
"api" :> "v0" :> "swarm" :> "addrs" :> "listen"
:> Post '[JSON] Value
-- | List local addresses.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0SwarmAddrsLocal =
"api" :> "v0" :> "swarm" :> "addrs" :> "local"
-- Show peer ID in addresses.
:> QueryParam "id" Bool
:> Post '[JSON] Value
-- | Open connection to a given address.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0SwarmConnect =
"api" :> "v0" :> "swarm" :> "connect"
-- Address of peer to connect to.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Close connection to a given address.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0SwarmDisconnect =
"api" :> "v0" :> "swarm" :> "disconnect"
-- Address of peer to disconnect from.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Add an address filter.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0SwarmFiltersAdd =
"api" :> "v0" :> "swarm" :> "filters" :> "add"
-- Multiaddr to filter.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | Remove an address filter.
--
-- Response example:
--
-- > {
-- > "Strings": [
-- > "<string>"
-- > ]
-- > }
type ApiV0SwarmFiltersRm =
"api" :> "v0" :> "swarm" :> "filters" :> "rm"
-- Multiaddr filter to remove.
:> QueryParam' '[Required, Strict] "arg" Text
:> Post '[JSON] Value
-- | List peers with open connections.
--
-- Response example:
--
-- > {
-- > "Peers": [
-- > {
-- > "Addr": "<string>"
-- > "Peer": "<string>"
-- > "Latency": "<string>"
-- > "Muxer": "<string>"
-- > "Streams": [
-- > {
-- > "Protocol": "<string>"
-- > }
-- > ]
-- > }
-- > ]
-- > }
type ApiV0SwarmPeers =
"api" :> "v0" :> "swarm" :> "peers"
-- display all extra information.
:> QueryParam "verbose" Bool
-- Also list information about open streams for each peer.
:> QueryParam "streams" Bool
-- Also list information about latency to each peer.
:> QueryParam "latency" Bool
:> Post '[JSON] Value
-- | Import a tar file into ipfs.
--
-- Response example:
--
-- > {
-- > "Name": "<string>"
-- > "Hash": "<string>"
-- > "Bytes": "<int64>"
-- > "Size": "<string>"
-- > }
type ApiV0TarAdd =
"api" :> "v0" :> "tar" :> "add"
:> ReqBody '[MultipartFormData] L.ByteString
:> Post '[JSON] Value
-- | Export a tar file from IPFS.
type ApiV0TarCat =
"api" :> "v0" :> "tar" :> "cat"
-- ipfs path of archive to export.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- |
type ApiV0Update =
"api" :> "v0" :> "update"
-- Arguments for subcommand.
:> QueryParam' '[Required, Strict] "arg" Text
:> Stream 'POST 200 NoFraming PlainText (SourceIO ByteString)
-- | Show ipfs version information.
--
-- Response example:
--
-- > {
-- > "Version": "<string>"
-- > "Commit": "<string>"
-- > "Repo": "<string>"
-- > "System": "<string>"
-- > "Golang": "<string>"
-- > }
type ApiV0Version =
"api" :> "v0" :> "version"
-- Only show the version number.
:> QueryParam "number" Bool
-- Show the commit hash.
:> QueryParam "commit" Bool
-- Show repo version.
:> QueryParam "repo" Bool
-- Show all version information.
:> QueryParam "all" Bool
:> Post '[JSON] Value