A file outlives
its link

A3.Drive stores files and documents for companies and A3 ecosystem products. Employees work with company and project drives, while products keep deal and ticket attachments and call recordings. Links point at the file identifier, not at a storage address.

Not an app on top of cloud storage, a platform layer

4methods in the core contract: put, get, bind, unlink
1object behind any number of bindings: a file takes up quota space once
1file_id identifier for the whole life of a file: new versions and moves keep it
6languages in which the API documentation is published

What A3.Drive does

The core of the data model works from day one: object, holders, permissions and the contract. Other functions are added on top of it and do not change the foundation.

How a file travels through the contract

  1. 1

    Upload the file

    The file enters storage, and an object with its first version is created. If the same file is already uploaded, the system offers to bind the existing object instead of a duplicate.

  2. 2

    Add a binding to an entity

    A product binds the object to its entity: a deal, a ticket or an invoice. Five bindings from one product are five holders, not one.

  3. 3

    Serve it by link

    The application requests the file by file_id. A3.Drive checks permissions and issues a signed link valid for a few minutes, for an image already in the right size.

  4. 4

    Remove a binding

    A product removes exactly one binding by binding_id. Repeating the call breaks nothing, and the object is deleted as a consequence, without a separate command.

Deletion is a consequence, not a command

An object lives as long as it has at least one holder. Nobody deletes a file directly: a product removes its binding, A3.Drive recounts the holders and decides what happens to the file.

Versions, rollback and trash
  • A holder is a binding to one entity, not a whole product
  • A retention period outranks every holder, including the direct owner
  • Removing the last binding sends the object to the trash instead of erasing it
  • From the trash an object is restored together with its versions and permissions
  • The same mechanism frees space on non-payment and leaves files under a retention period alone

Data stays inside its jurisdiction

Region is a property of the object, not of where the request came from. The original is kept in the account cluster, backups stay there too, and file_id does not depend on the region and survives a move.

Countries where data residency is being prepared

  • Kazakhstan
  • Russia
  • Uzbekistan
  • Kyrgyzstan
  • Mongolia

An employee travelling abroad does not move data to another country: the region belongs to the account, not to the IP address of the request.

How data residency works

Products work through the contract, not with the storage directly

Products in the ecosystem have no storage of their own. They call A3.Drive through the same API contract as a customer integration, with no internal shortcuts, so an external integration gets the same guarantees.

API documentation

Connect A3.Drive as your storage foundation

Tell us which entities will hold files and which region the account runs in. That is enough to set up integration permissions, issue keys and start with the core contract.