Create a folder
curl --request POST \
--url https://api.attio.com/v2/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"object": "people",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"file_type": "folder",
"name": "Documents",
"parent_folder_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
'import requests
url = "https://api.attio.com/v2/files"
payload = {
"object": "people",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"file_type": "folder",
"name": "Documents",
"parent_folder_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
object: 'people',
record_id: 'bf071e1f-6035-429d-b874-d83ea64ea13b',
file_type: 'folder',
name: 'Documents',
parent_folder_id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
})
};
fetch('https://api.attio.com/v2/files', 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.attio.com/v2/files",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'object' => 'people',
'record_id' => 'bf071e1f-6035-429d-b874-d83ea64ea13b',
'file_type' => 'folder',
'name' => 'Documents',
'parent_folder_id' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.attio.com/v2/files"
payload := strings.NewReader("{\n \"object\": \"people\",\n \"record_id\": \"bf071e1f-6035-429d-b874-d83ea64ea13b\",\n \"file_type\": \"folder\",\n \"name\": \"Documents\",\n \"parent_folder_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.attio.com/v2/files")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"object\": \"people\",\n \"record_id\": \"bf071e1f-6035-429d-b874-d83ea64ea13b\",\n \"file_type\": \"folder\",\n \"name\": \"Documents\",\n \"parent_folder_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attio.com/v2/files")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"object\": \"people\",\n \"record_id\": \"bf071e1f-6035-429d-b874-d83ea64ea13b\",\n \"file_type\": \"folder\",\n \"name\": \"Documents\",\n \"parent_folder_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": {
"workspace_id": "14beef7a-99f7-4534-a87e-70b564330a4c",
"file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"object_id": "97052eb9-e65e-443f-a297-f2d9a4a7f795",
"object_slug": "people",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"storage_provider": "attio",
"created_by_actor": {
"type": "workspace-member",
"id": "50cf242c-7fa3-4cad-87d0-75b1af71c57b"
},
"created_at": "2023-01-01T15:00:00.000000000Z",
"file_type": "folder",
"name": "Documents",
"parent_folder_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Files
Create a folder
Creates a native folder entry or a connected file/folder entry on an object record.
This endpoint is in beta. We will aim to avoid breaking changes, but small updates may be made as we roll out to more users.
Required scopes: file:read-write, object_configuration:read, record_permission:read.
POST
/
v2
/
files
Create a folder
curl --request POST \
--url https://api.attio.com/v2/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"object": "people",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"file_type": "folder",
"name": "Documents",
"parent_folder_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
'import requests
url = "https://api.attio.com/v2/files"
payload = {
"object": "people",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"file_type": "folder",
"name": "Documents",
"parent_folder_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
object: 'people',
record_id: 'bf071e1f-6035-429d-b874-d83ea64ea13b',
file_type: 'folder',
name: 'Documents',
parent_folder_id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
})
};
fetch('https://api.attio.com/v2/files', 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.attio.com/v2/files",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'object' => 'people',
'record_id' => 'bf071e1f-6035-429d-b874-d83ea64ea13b',
'file_type' => 'folder',
'name' => 'Documents',
'parent_folder_id' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.attio.com/v2/files"
payload := strings.NewReader("{\n \"object\": \"people\",\n \"record_id\": \"bf071e1f-6035-429d-b874-d83ea64ea13b\",\n \"file_type\": \"folder\",\n \"name\": \"Documents\",\n \"parent_folder_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.attio.com/v2/files")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"object\": \"people\",\n \"record_id\": \"bf071e1f-6035-429d-b874-d83ea64ea13b\",\n \"file_type\": \"folder\",\n \"name\": \"Documents\",\n \"parent_folder_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attio.com/v2/files")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"object\": \"people\",\n \"record_id\": \"bf071e1f-6035-429d-b874-d83ea64ea13b\",\n \"file_type\": \"folder\",\n \"name\": \"Documents\",\n \"parent_folder_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": {
"workspace_id": "14beef7a-99f7-4534-a87e-70b564330a4c",
"file_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"object_id": "97052eb9-e65e-443f-a297-f2d9a4a7f795",
"object_slug": "people",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b",
"storage_provider": "attio",
"created_by_actor": {
"type": "workspace-member",
"id": "50cf242c-7fa3-4cad-87d0-75b1af71c57b"
},
"created_at": "2023-01-01T15:00:00.000000000Z",
"file_type": "folder",
"name": "Documents",
"parent_folder_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Authorizations
This API uses OAuth 2.0 with the authorization code grant flow.
Body
application/json
- Folder
- Connected Folder
- Connected File
The object slug or ID.
Minimum string length:
1Example:
"people"
The ID of the record to create the file entry on.
Example:
"bf071e1f-6035-429d-b874-d83ea64ea13b"
Creates a native Attio folder entry.
Available options:
folder The folder name.
Minimum string length:
1Example:
"Documents"
Optional parent folder ID. Omit to create a top-level folder.
Example:
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Response
200 - application/json
Success
Success
- Folder
- Connected File
- Connected Folder
Show child attributes
Show child attributes
Was this page helpful?
⌘I