2024-01-15 13:35:14 -08:00
{
"$schema" : "../rpc-schema-draft.json" ,
"type" : "object" ,
"rpc" : "deldatastore" ,
"title" : "Command for removing (plugin) data" ,
"description" : [
"The **deldatastore** RPC command allows plugins to delete data it has stored in the Core Lightning database." ,
"" ,
"The command fails if the *key* isn't present, or if *generation* is specified and the generation of the data does not exactly match."
] ,
"request" : {
"required" : [
"key"
] ,
2024-10-30 09:38:42 +10:30
"additionalProperties" : false ,
2024-01-15 13:35:14 -08:00
"properties" : {
"key" : {
"oneOf" : [
{
"type" : "array" ,
"description" : [
"Key is an array of values (though a single value is treated as a one-element array), to form a heirarchy. Using the first element of the key as the plugin name (e.g. [ 'summary' ]) is recommended. A key can either have children or a value, never both: parents are created and removed automatically."
] ,
"items" : {
"type" : "string"
}
} ,
{
"type" : "string"
}
]
} ,
"generation" : {
"type" : "u64" ,
"description" : [
"If specified, means that the update will fail if the previously-existing data is not exactly that generation. This allows for simple atomicity. This is only legal with mode `must-replace` or `must-append`."
]
}
}
} ,
"response" : {
"required" : [
"key"
] ,
2024-10-30 09:38:42 +10:30
"additionalProperties" : false ,
2024-01-15 13:35:14 -08:00
"properties" : {
"key" : {
"type" : "array" ,
"items" : {
"type" : "string" ,
"description" : [
"Part of the key added to the datastore."
]
}
} ,
"generation" : {
"type" : "u64" ,
"description" : [
"The number of times this has been updated."
]
} ,
"hex" : {
"type" : "hex" ,
"description" : [
"The hex data which has removed from the datastore."
]
} ,
"string" : {
"type" : "string" ,
"description" : [
"The data as a string, if it's valid utf-8."
]
}
}
} ,
"errors" : [
"The following error codes may occur:" ,
"" ,
"- 1200: the key does not exist" ,
"- 1201: the key does exist, but the generation is wrong" ,
"- -32602: invalid parameters"
] ,
2024-06-20 14:57:02 -07:00
"author" : [
"Rusty Russell <<rusty@rustcorp.com.au>> is mainly responsible."
] ,
"see_also" : [
"lightning-listdatastore(7)" ,
"lightning-datastore(7)" ,
"lightning-datastoreusage(7)"
] ,
"resources" : [
"Main web site: <https://github.com/ElementsProject/lightning>"
] ,
"examples" : [
2024-01-15 13:35:14 -08:00
{
2024-03-27 18:45:18 -07:00
"request" : {
"id" : "example:deldatastore#1" ,
"method" : "deldatastore" ,
"params" : {
2024-07-18 00:28:22 -07:00
"key" : [
"test" ,
"name"
]
2024-03-27 18:45:18 -07:00
}
} ,
"response" : {
"key" : [
2024-07-18 00:28:22 -07:00
"test" ,
"name"
2024-03-27 18:45:18 -07:00
] ,
2024-07-18 00:28:22 -07:00
"generation" : 0 ,
"hex" : "736176696e67206461746120746f207468652073746f7265" ,
"string" : "saving data to the store"
2024-01-15 13:35:14 -08:00
}
} ,
{
2024-03-27 18:45:18 -07:00
"request" : {
"id" : "example:deldatastore#2" ,
"method" : "deldatastore" ,
"params" : {
2024-07-18 00:28:22 -07:00
"key" : "otherkey" ,
"generation" : 1
2024-03-27 18:45:18 -07:00
}
} ,
"response" : {
2024-01-15 13:35:14 -08:00
"key" : [
2024-07-18 00:28:22 -07:00
"otherkey"
2024-01-15 13:35:14 -08:00
] ,
2024-07-18 00:28:22 -07:00
"generation" : 1 ,
"hex" : "666f6f626172" ,
"string" : "foobar"
2024-01-15 13:35:14 -08:00
}
}
]
}