# Method Operations

In this article, we will be discussing various HTTP methods. We will see how HTTP requests can be made through the *API Client* object in Astera.

For our use cases, we have made use of the *Petstore* Open-API definition. We can import the API to the *API Browser* using its import URL.

Once done, it automatically establishes various pre-defined endpoints as *API Client* objects. They can then be dragged and dropped onto a dataflow for further configurations and transformations.

![](/files/WF3M1kTtWqHAPBoefEty)

{% hint style="info" %}
**Note:** When imported, a shared connection object will also be created containing the base URL and authentication details.
{% endhint %}

To learn more about importing a URL to the API Browser, click [here](/astera-data-stack-v10/api-flow/api-consumption/consume/api-browser.md).

### Making a GET Request

1. First, drag-and-drop the *Get a file’s metadata or Content by ID* endpoint from the browser onto the Dataflow.

![](/files/KRIrj8vOhDvJPW1u56Vh)

In this scenario, we want to get metadata for a file with *fileID*,

“184Gi7q9iPQyiR6lkG3bdSi5z3-9eeT-d”.

For this, we will pass the relevant *fileID* using a [*ConstantValue*](/astera-data-stack-v10/dataflows/transformations/constant-value-transformation.md) object.

![](/files/QheplzUroglyOQpjeIMZ)

2. To explore the *API Client* object for this method, right-click on the object’s header and select *Properties.*

![](/files/QizMBQTbUf9fXcU3US7K)

This will open the *API Client* screen where the connection info of your API is defined.

![](/files/VgLls5o2pKbBe0aJEMUJ)

The *Shared Connection*, *Method*, and *Resource* here are already configured. Notice that *Resource* consists of ‘files’ along with the ‘fileid’ URL parameter.

![](https://docs.astera.com/projects/data-services/en/latest/_images/05-Define.PNG)

3. Click *Next*.

![](/files/nX9bKho2oAeSYNk16RX3)

Here, the ‘field’ URL parameter follows from the defined resource.

For our use case, we will use this parameter to get details for a pet.

Click *Next* to proceed to the *Output Layout* screen, where you can view the *Response Layout* of your API. There are two ways in which you can generate the output layout if required.

* The first one is by providing sample text by clicking the *Generate Layout by providing Sample Text* option.
* The other way to do this is by running a request by clicking the *Generate Layout by running Request* option.

![](/files/PeyHsPAUjUuHXA2fOOr1)

4. Click *Next* to proceed to the *Pagination Options* screen.

For our use case, we have selected *None.*

![](/files/aH3xQ6qFTUp6QOz2n5kq)

5. Click *OK*.
6. You can preview the data by right-clicking on the object and selecting *Preview Output* from the context menu.

![](/files/BtYxoDinBOz23L9fmqWv)

As seen below, the GET request that was made, has fetched data according to the user application.

![](/files/8VLorHAAxnwTdLeDXSTG)

### Making a POST Request

Now, let’s try creating a new file.

1. Drag-and-drop the POST method as an *API Client* object and open its *properties*.

![](/files/MzCGrfOuyDP2suNg6f03)

We will pass the required parameters to the *POST request* object using a *Variables* object.

![](/files/aazAkUlJlaTgAUYngasJ)

2. Now, right-click on the *API Client* object and select *Preview Output*.

![](/files/WP60r8XskYM2CPr1QpvY)

You can see that the *HTTPStatusCode* is “200”, which means that the API has successfully carried out the action requested by the client.

Let’s verify it by making a GET request for the same *FileId* that we had posted earlier.

![](/files/vXsV295DwflyqRJeePqU)

You can see that a GET request for *FileID* has returned the same information that we had posted.

![](/files/ymZuxhSR833Rmo6hUK1w)

### Making a DELETE Request

Now, let’s try making a DELETE request.

1. For this, we will first make a GET request to check whether that file exists in the records before we try to delete this record.

We will pass a *fileId* using a *ConstantValue* object.

![](/files/5PrMOpwsPgdYyZ2X1Dhm)

2. Right-click on the *API Client* object and select *Preview Output*.

![](/files/WyD0NytckE07yGDrgGPN)

It has fetched the details of the file with the *fileId* and the status shows that the field is available.

To delete this file record, we will drag and drop another DELETE *API Client* object onto the flow and configure its *Properties* according to the DELETE method.

![](/files/3GlE86hRXyO6frMa8cJM)

3. Pass the *fileId* to the DELETE *request* object using a *ConstantValue* object.

![](/files/VWyj9YL4LgMlwV6mR06g)

4. Right-click on the *API Client* object and select *Preview Output*. You can see that it has returned *HTTPStatusCode*, “204”, which indicates successful execution.

![](/files/VYUiVQlHShK4roi34cHe)

Let’s verify it by making a GET request again, and check if the *fileId*, has been deleted.

![](/files/zlnsNtNJY4vBXXNWsEsW)

5. Right-click on the *API Client* object and select *Preview Output.*

![](/files/AIxTp8tKe7xa0adTWVeP)

You can see that Astera has returned error 404 which means that there is no pet found with *PetId*, “5”, and the pet record has been successfully deleted from *petstore* API.

![](https://docs.astera.com/projects/data-services/en/latest/_images/21-404.PNG)

You can see that Astera has returned error 404 which means that there is no fileId found, and the file record has been successfully deleted from *Google Drive* API.

### Making a PUT Request

Let us now look at the PUT *HTTP Method*.

1. Drag-and-drop the *GET* endpoint from the API Browser onto the Dataflow.

![](/files/e3jqgh67zzbUgjwzpWCb)

2. Right-click on the object and select *Properties* from the context menu.
3. Click *Next,* and the *Parameters* screen will appear.

For this use case, we will update the file with a *fileId*. Let’s define this ID in the *Default Value* field.

![](/files/Ayn6lkuxTdtGTH4HkWXr)

4. Click *OK* and preview the output by right-clicking on the object and selecting *Preview Output*

![](/files/IjSJTtYSezGXYg0B0Iy4)

As you can see in the preview screen below, the *GET* method has retrieved the file Metadata by ID.

![](/files/lyPNKD0Rcege6nUyDc9Z)

5. Now, drag-and-drop the relevant endpoint from the API Browser onto the Dataflow.

For our use case, we will be using this *Patch* object for the *PUT* method so we can update the ID.

![](/files/T2hsXTulVpxvQxlbWJu5)

Right-click on the object and select *Properties* from the context menu.

Our *Shared Connection* has already been defined. The *HTTP Method* is *Put*, and the *Resource* to update is a file.

6. Click *Next*, and you will be led to the *Output Layout* screen

We have defined the *fileId* here that we wish the resource to be updated to,

If required, an output can be generated by running a request using the available option.

![](/files/MudQGKonbTvUctMhDXub)

7. Click *OK*, right-click on the object, and select *Preview Output*.

As you can see here, the *fileId* has been updated,

![](/files/yKgpv9orqID5HkT75saI)

8. We will now preview the output of the *GET* object we have configured to verify if the pet status has been updated.

As you can see, the value has been updated.

![](/files/dGVBjzWUg3giUC87uuCp)

### Making a PATCH Request

Let’s make a GET request to see what information is there in the File ID where we want to update something.

1. To make a GET request, drag-and-drop the GET *API Client* object onto the Dataflow.

![](/files/YtwKteRWEnaQEfh3aEYk)

2. Pass userID ‘1pGLAWbY7zu1nYFjMFB5GmTjVK2kXGHP1’ to the *id* under the *Parameters* node in the *API* *Client* object using the *Variable* transformation object.

![](/files/1fZf8zkc4PMlbtN538Gy)

3. Right-click the *API Client* object’s header and select *Preview Output*.

![](/files/uOC1mdXNsi4fjKHLky7J)

Here is what the output looks like:

![](/files/pZFssBkJvvmTEJkjadxQ)

4. Drag-and-drop the *Update a file’s metadata* *API Client* object to use the PATCH method.

![](/files/1zxjFUQmeTtZjkU2M9jL)

5. Pass fileId’ 1pGLAWbY7zu1nYFjMFB5GmTjVK2kXGHP1’, and *name*, “Astera”, using a *Variables* resource object.

![](/files/ESYWPC3WX4UhdMweWjpE)

6. Right-click on the object’s header, and select *Preview Output*.

![](/files/jkSniWR1UUvDpCivwWVd)

You can see that the *HTTPStatusCode* is 200, which means that the API has successfully carried out the PATCH request. Let’s verify it by making a GET request for the same *fileId* which we altered.

![](/files/4ocZWKSBNe2LcTfoOgYU)

7. Right-click the *APIClient* object’s header and select *Preview Output*.

![](/files/f3oJfSBGQRf3aR4O6KDM)

As you can see, the request has been successfully carried out and the *email* address has been updated.

This concludes our discussion on the HTTP method operations in Astera.


---

# 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://documentation.astera.com/astera-data-stack-v10/api-flow/api-consumption/consume/method-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.
