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

# Resources

> Overview of the Admin API resources available in CData Arc, including methods for querying, creating, updating, and deleting resources.

export const companyName = "CData";

export const siteNameShort = "Arc";

export const siteName = "CData Arc";

## Overview

Resources are objects exposed in the Admin API that can be queried, created, updated, and deleted. These resources include:

| Resource            | Description                                                                                                                                              |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Certificates**    | Retrieve, create, update, or delete the digital certificates used for encryption, signing, decryption, verification, SSL/TLS, and so on.                 |
| **Connectors**      | Retrieve, update, or delete the configuration for existing connectors, or add a new connector to the application workflow.                               |
| **Files**           | Retrieve, update, or delete files in the application workflow, or push files into the application workflow by adding them to a connector's input folder. |
| **FlowAPIs**        | Retrieves Flow APIs from a workspace.                                                                                                                    |
| **FlowConnections** | Retrieve, create, update, or delete flow connections from a workspace.                                                                                   |
| **FlowNodes**       | Retrieve, create, update, or delete flow nodes from a workspace.                                                                                         |
| **Logs**            | Retrieve or delete log data from the Application Log, where application-level errors are recorded.                                                       |
| **Profile**         | Retrieve or update the configuration for the application's local profile.                                                                                |
| **Reports**         | Retrieve, create, update, or delete reports in the application.                                                                                          |
| **Requests**        | Retrieve or delete log data from the Access Log, where HTTP requests are recorded.                                                                       |
| **Transactions**    | Retrieve or delete metadata from the Transaction Log, where successful and failed file transmissions (send and receive) are recorded.                    |
| **Vault**           | Retrieve, create, modify, or delete vault items.                                                                                                         |
| **Workspaces**      | Retrieve, create, modify, or delete workspaces for grouping connectors together.                                                                         |

Each resource is exposed at a dedicated application endpoint using the following convention: `/api.rsc/resourceName`. For example, if {siteName} is hosted on **mydomain.com** and listening on port 8001, the following endpoint would be used to access the **Files** resource:

```xml theme={null}
http://mydomain.com:8001/api.rsc/files
```

## Resource Methods

This section describes the HTTP methods used to perform operations on the resources exposed by the Admin API.

<Note>{companyName} recommends that you use either a JSON or x-www-form-urlencoded payload for API calls when you are sending data, especially for calls where the request body is large.</Note>

### GET

An HTTP GET request can be used to retrieve a resource or set of resources from {siteNameShort}. GET requests may return multiple items or only a single item, depending on whether query parameters are specified in the request.

#### GET Requests Without Parameters

GET requests that do not include query parameters return all instances of that resource type. For example, if a GET request without query parameters is made to the **Certificates** resource, the response includes every certificate saved in the application. A similar request to the **Connectors** resource returns configuration data for every configured connector instance in the {siteNameShort} Flow.

The target URL for GET requests without parameters should be the same as the resource endpoint. For example:

```xml theme={null}
GET http://mydomain.com:8001/api.rsc/certificates
```

#### GET Requests With Parameters

GET requests can include query parameters in the target URL to limit the result set to a single instance of the target resource. For example, a GET request to the **Files** resource could include the specific connector, Folder, and Filename parameters to retrieve a single file processed by that connector. Query parameters are specified in parentheses at the end of the target URL. For example:

```xml theme={null}
GET http://mydomain.com:8001/api.rsc/files(connectorId='myConnector',Folder='Receive',Filename='myFile.txt')?@authtoken=myAuthTokenValue
```

The available parameters for each resource are detailed in the API Browser in the application UI.

### POST

An HTTP POST request can be used to create a new instance of the specified resource in {siteNameShort}. For example, making a POST request to the **Files** resource would insert a file into the {siteNameShort} Flow, and making a POST request to the **Connectors** resource would create a new configured connector in the flow.

The parameters for the new resource are provided as the body of the POST in JSON format. The request must include the appropriate content-type header (for example, application/json) for the POST body to be interpreted correctly. The available properties for each resource are detailed in the API Browser in the application UI. The following is an example POST body for the **Connectors** resource:

```json theme={null}
{
	"ConnectorId":"myNewConnector",
	"ConnectorType":"Zip",
	"Workspace":"Default",
}
```

The **Connectors** resource also supports additional properties according to the specified ConnectorType. Any configurable connector field can be set during the POST call by including the field name and value in the JSON body. For example, when creating a new Zip connector, the **Operation** field of the connector could be set to *Decompress*:

```json theme={null}
{
	"ConnectorId":"myNewConnector",
	"ConnectorType":"Zip",
	"Workspace":"Default",
	"Operation":"Decompress"
}
```

The target URL for POST requests should be the same as the resource endpoint:

```xml theme={null}
POST http://mydomain.com:8001/api.rsc/connectors
```

### PUT

An HTTP PUT request can be used to update an instance of the specified resource in {siteNameShort}. For example, making a PUT request to the **Connectors** resource would update the settings for a single configured connector in the {siteNameShort} flow.

PUT requests require a combination of the following items:

* Query parameters in the target URL. These parameters specify which instance of the resource to update—for example, which connector to update.
* Properties in the JSON body of the PUT request. These properties determine which fields are updated in that resource—for example, what connector configuration fields should be set to new values.

Query parameters are specified in parentheses at the end of the target URL, for example:

```xml theme={null}
PUT http://mydomain.com:8001/api.rsc/connectors(ConnectorId='myZipConnector')
```

The JSON body of the request includes resource-specific fields to update for the target resource instance. The request must include the appropriate content-type header (e.g. application/json) for the PUT body to be interpreted correctly.

Below is an example JSON body for a PUT request to update the **Operation** field of a Zip connector instance:

```json theme={null}
{
 "Operation":"Compress"
}
```

### DELETE

An HTTP DELETE request can be used to remove an instance of the specified resource from {siteNameShort}. For example, making a DELETE request to the **Files** resource would delete a file from the {siteNameShort} workflow.

DELETE requests include query parameters in the target URL to identify the instance of the resource to delete. Query parameters are specified in parentheses at the end of the target URL. For example:

```xml theme={null}
DELETE http://mydomain.com:8001/api.rsc/files(connectorId='myConnector',Folder='Send',Filename='myfile.txt')
```

The available parameters for each resource are detailed in the API Browser in the application UI.
