Cloud Storage
Box is a cloud-based file storage system. Using Agave, you can integrate with Box and dozens of other systems in hours using a single API.
Agave has sandbox environments with sample data that you can use instead of spending time creating your own.
Agave provides unified models and access to source data. In addition, we even support passthrough requests, so you are never blocked by us.
curl https://api.agaveapi.com/files \
# 3 headers that are consisttent
-H 'Api-Version: 2021-11-21' \
-H 'Client-Id: your-client-id' \
-H 'Client-Secret: your-client-secret' \
# Change the account token to request data from different accounts and different systems
-H 'Account-Token: box-example-account-token'
Consistent schema across all systems
{
"id": "ee9b53e7-f982-4be6-bc12-75f716d3ee94",
"source_id": "12345",
"creator_id": "ee9b53e7-f982-4be6-bc12-75f716d3ee94",
"file_version_id": "ee9b53e7-f982-4be6-bc12-75f716d3ee94",
"filename": "Test_File.pdf",
"folder_id": "ee9b53e7-f982-4be6-bc12-75f716d3ee94",
"name": "Test_File",
"notes": [ "This File is confidential." ],
"preview_url": "https://storage.agaveapi.com/preview/file.pdf?signature=xxx&expires_at=20220101T000001Z",
"size": 98765,
"type": "Adobe Acrobat PDF",
"url": "https://storage.agaveapi.com/download/file.pdf?signature=xxx&expires_at=20220530T031901Z",
"version": "4",
"source_create_time": "2022-01-01T00:00:00Z",
"source_update_time": "2022-01-01T00:00:00Z",
}
Get raw output from Box
{
"id": 12345,
"type": "file",
"content_created_at": "2012-12-12T10:53:43-08:00",
"content_modified_at": "2012-12-12T10:53:43-08:00",
"created_at": "2012-12-12T10:53:43-08:00",
"created_by": {...},
"description": "Contract for Q1 renewal",
"etag": 1,
"file_version": {...},
"item_status": "active",
"modified_at": "2012-12-12T10:53:43-08:00",
"modified_by": {...},
"name": "Contract.pdf",
"owned_by": {...},
...
}
Option to call Box APIs directly
curl --request POST https://api.agaveapi.com/passthrough \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your-client-id' \
--header 'Client-Secret: your-client-secret' \
--header 'Account-Token: box-account-token' \
--header 'Content-Type: application/json' \
--data-raw '{
"method": "GET",
"path": "/rest/v1.0/files",
"data": { "path": "/project-12345/" }
}'
We also support the following features for Box.