curl --request PUT \
--url https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Property Documents",
"parentFolderId": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2",
"userId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
}
'import requests
url = "https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}"
payload = {
"name": "Property Documents",
"parentFolderId": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2",
"userId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
}
headers = {
"x-api-key": "<api-key>",
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-api-key': '<api-key>',
Authorization: '<api-key>',
'Content-Type': 'application/json-patch+json'
},
body: JSON.stringify({
name: 'Property Documents',
parentFolderId: 'b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2',
userId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8'
})
};
fetch('https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Property Documents',
'parentFolderId' => 'b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2',
'userId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}"
payload := strings.NewReader("{\n \"name\": \"Property Documents\",\n \"parentFolderId\": \"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2\",\n \"userId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}")
.header("x-api-key", "<api-key>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"name\": \"Property Documents\",\n \"parentFolderId\": \"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2\",\n \"userId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"name\": \"Property Documents\",\n \"parentFolderId\": \"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2\",\n \"userId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"href": "<string>",
"relation": "<string>",
"method": "GET"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Update a folder
Replaces the editable fields of a folder belonging to the specified matter. All fields are applied, not only the ones
that changed: name is required, and omitting parentFolderId (or setting it to null) moves the folder to the matter root.
Use PATCH to change individual fields.
The destination folder must be on the same matter (400 otherwise); a destination that does not exist is not rejected.
If userId is omitted the authenticated user is recorded. A deleted folder cannot be updated with PUT; use PATCH with isDeleted: false to restore it.
curl --request PUT \
--url https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Property Documents",
"parentFolderId": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2",
"userId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
}
'import requests
url = "https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}"
payload = {
"name": "Property Documents",
"parentFolderId": "b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2",
"userId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
}
headers = {
"x-api-key": "<api-key>",
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'x-api-key': '<api-key>',
Authorization: '<api-key>',
'Content-Type': 'application/json-patch+json'
},
body: JSON.stringify({
name: 'Property Documents',
parentFolderId: 'b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2',
userId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8'
})
};
fetch('https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Property Documents',
'parentFolderId' => 'b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2',
'userId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}"
payload := strings.NewReader("{\n \"name\": \"Property Documents\",\n \"parentFolderId\": \"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2\",\n \"userId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}")
.header("x-api-key", "<api-key>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"name\": \"Property Documents\",\n \"parentFolderId\": \"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2\",\n \"userId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smokeball.com/matters/{matterId}/documents/folders/{folderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"name\": \"Property Documents\",\n \"parentFolderId\": \"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2\",\n \"userId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"href": "<string>",
"relation": "<string>",
"method": "GET"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Path Parameters
Unique identifier of the matter.
Unique identifier of the folder.
Body
The full set of folder fields to apply.
Name of the folder. Required; must not be empty or whitespace. Maximum 256 characters.
1 - 256"Property Documents"
Unique identifier of the parent folder. Must be a valid GUID when supplied. Null or omitted means the matter root: on create the folder is created under the root, on PUT the folder is moved to the root. The parent folder is not validated for existence.
"b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2"
Unique identifier of the user modifying the folder. Must be a valid GUID when supplied. If null it will fallback to the authenticated user.
"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"