> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cocoondata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer's Guide

## What the Covata API can do

The Covata API allows your application to:

* [Authenticate and authorize](/3.4/api/authentication-and-authorisation.md) a Covata user to the Covata Platform.
* Work with files and folders (i.e. the fundamentals), by:

  * [Obtaining a cryptographic key](/3.4/api/working-with-files-and-folders-fundamentals.md#obtaining-a-cryptographic-key) from the the Covata Platform's Access Service (required for encrypting or decrypting a [file's/Secure Object's](/3.4/api/working-with-files-and-folders-fundamentals.md#secure-object) data).
  * [Initializing a new 'Incomplete' file object](/3.4/api/working-with-files-and-folders-fundamentals.md#initialising-a-new-incomplete-file-object) within an [organization](/3.4/api/working-with-files-and-folders-fundamentals.md#organisation) by associating the cryptographic key with this new file.
  * [Completing a file object (uploading its locally-encrypted data)](/3.4/api/working-with-files-and-folders-fundamentals.md#completing-a-file-object-uploading-its-locally-encrypted-data), which involves your client application encrypting the file object's data first, then uploading this encrypted data to the Covata Platform's Content Service for storage.
  * [Completing a file object (uploading its unencrypted data)](/3.4/api/working-with-files-and-folders-fundamentals.md#completing-a-file-object-uploading-its-unencrypted-data) to the Content Service for encryption, then storage.
  * [Downloading a file object's data](/3.4/api/working-with-files-and-folders-fundamentals.md#downloading-a-file-objects-data) for local decryption if required.
  * [Creating a folder](/3.4/api/working-with-files-and-folders-fundamentals.md#creating-a-folder-to-manage-items) to manage files and other folders.
  * [Moving items to other folders](/3.4/api/working-with-files-and-folders-fundamentals.md#moving-items-to-other-folders).
* Retrieve a list of information about:

  * All immediate files and folders (i.e. [items](/3.4/api/working-with-files-and-folders-fundamentals.md#item)) [of a common parent folder](/3.4/api/retrieving-information-about-items.md#retrieving-info-about-all-immediate-items-of-a-common-parent-folder).
  * All items [filtered by text search](/3.4/api/retrieving-information-about-items.md#retrieving-info-about-all-items-filtered-by-text-search).
  * All items [based on ownership or sharing status](/3.4/api/retrieving-information-about-items.md#retrieving-info-about-items-based-on-ownership-or-sharing-status).
  * All [ancestral folders](/3.4/api/retrieving-information-about-items.md#retrieving-info-about-all-ancestral-folders-of-an-item) of a specific file or folder.
* Allow other people (known as 'collaborators') to access an item, each with their own level of permissions on the item. This involves:

  * [Sharing](/3.4/api/sharing-items.md) a [file](/3.4/api/sharing-items.md#sharing-a-file-with-collaborators) or a [folder](/3.4/api/sharing-items.md#sharing-a-folder-with-collaborators) with other people.
  * [Identifying existing collaborators](/3.4/api/sharing-items.md#determining-existing-collaborators-on-an-item) on a file or folder.
  * [Modifying (i.e. removing or adding)](/3.4/api/sharing-items.md#modifying-existing-collaborators-on-an-item) collaborators on a file or folder.

To perform the activities above, a [Covata user](/3.4/api/authentication-and-authorisation.md) account is required to be authenticated to the Covata Platform, which permits access to the Covata Platform's resources (i.e. through Covata API endpoints) that are available to this user.

## Tools for accessing the Covata API&#x20;

### cURL

Example API calls used throughout this Developer's Guide are based on the standard command line tool [cURL](http://curl.haxx.se/), which allows you to construct API requests at the command line to submit to the appropriate endpoints of either the Covata Platform's Access or Content Services.

### Postman - REST Client

The Google Chrome tool [Postman - REST Client](https://chrome.google.com/webstore/search/postman?hl=en), provides a graphical user interface (GUI) that allows you to construct and save a set of API endpoint requests to submit to the Covata Platform. Postman also allows you to upload data files to submit as part of a request (e.g. binary data as part of a multi-part form data element).

## Developer's Guide contents

This Developer's Guide consists of the following sections:

* [Authentication and authorization](/3.4/api/authentication-and-authorisation.md)
* [Working with files and folders (fundamentals)](/3.4/api/working-with-files-and-folders-fundamentals.md)
* [Retrieving information about items](/3.4/api/retrieving-information-about-items.md)
* [Sharing items](/3.4/api/sharing-items.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.