> For the complete documentation index, see [llms.txt](https://docs.laminar.run/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.laminar.run/building-an-integration/keywords/lam.httprequests.md).

# lam.httpRequests

## Functionality

The `httpRequests` keyword makes multiple HTTP requests in parallel. Each request in the array follows the same format as `lam.httpRequest`. The responses will be stored in the flow's response object in the same order as the requests.

### Invocation

Data transformation must output:

```javascript
{
  "lam.httpRequests": [
    {
      "method": "GET",
      "url": "https://api.example.com/inventory/{{itemId}}",
      "pathParams": { "itemId": "123" }
    },
    {
      "method": "GET", 
      "url": "https://api.example.com/pricing/{{itemId}}",
      "pathParams": { "itemId": "123" }
    }
  ]
}
```

| Key         | Description                          | Type   | Required |
| ----------- | ------------------------------------ | ------ | -------- |
| method      | HTTP method (GET, POST, PUT, DELETE) | String | Yes      |
| url         | Destination URL                      | String | Yes      |
| pathParams  | URL path parameters                  | Object | No       |
| queryParams | URL query parameters                 | Object | No       |
| headers     | HTTP headers                         | Object | No       |
| body        | Request body                         | Object | No       |

### Examples

```javascript
(payload) => {
  const { input } = payload;
  
  return {
    "lam.httpRequests": input.items.map(item => ({
      "method": "GET",
      "url": "{{props.baseUrl}}/items/{{itemId}}",
      "pathParams": {
        "itemId": item.id
      },
      "headers": {
        "Authorization": "Bearer {{props.apiKey}}"
      }
    }))
  };
}
```
