# Performing query operations

Query or search operations can be used to fetch data out of CloudIO Platform. Special characters in the attribute names and values can be passed with the request payload.

The name-value pairs specified as part of the data JSON Object may use the following special characters to perform a complex search

## Performing an insert operation

Using the insert operation, the client application can insert one or more rows in the table. JSON POST uses the JSON Array payload of the objects type with name-value pairs, where the name should match the datasource attribute name in camel case format.

For example, *Customer Name* attribute should be named as *customerName* for the key in the JSON Object.

The URI to perform the insert operation: */api/Datasource/insert.*

**Sample JSON payload for an insert operation**

```
[
 "accountNumber": "345354",
 "address1": "100 Main St",
 "creationDate": "2015-10-28T01:42:30.789Z",
 "createdBy": 1,
 "lastUpdateDate": "2015-10-28T01:42:46.964Z",
 "lastUpdatedBy": 1,
 "partyName": "CloudIO Inc."
,
 "accountNumber": "345355",
 "address1": "333 Main St",
 "creationDate": "2015-10-28T01:42:30.789Z",
 "createdBy": 1,
 "lastUpdateDate": "2015-10-28T01:42:46.964Z",
 "lastUpdatedBy": 1,
 "partyName": "CloudIO India Pvt. Ltd.
]
```

{% hint style="info" %}
**Note**: Ensure that all the attributes that are marked mandatory at the datasource level are populated.
{% endhint %}

## Performing an update operation

Using the update operation, the client application can update one or more rows in the table. JSON POST uses the JSON Array payload of the type—objects. All the primary key attributes must have a value, and only the values of the attributes that are passed in the payload are updated.

The URI to perform the update operation: /api/*DataSource*/*update*

## Performing a delete operation

Using the Delete operation, the client application can delete one or more records from the DB. JSON POST uses the JSON Array payload of the type—objects. Only the primary key attributes are required for the delete operation.

The URI to perform a delete operation: */api/DataSource/delete*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cloudio.io/creating-datasources/working-with-datasources/accessing-data-sources-using-rest-api/performing-query-operations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
