# Fetch blocks

You can retrieve the blocks of the project with the function **`getBlocksWithParameters:Success:Failure`** like this:

```swift
MBClient.getBlocks(success: { (blocks, paginationInfo) in

}, failure: { error in

})
```

The parameter named **`parameters`** is an optional array of objects that conforms to the **`MBParameter`** protocol that will be passed to the MBurger api as parameter.&#x20;

The majority of the parameters that can be passed to the apis are already implemented in the SDK and can be used after the initialization:

* `MBSortParameter`
* `MBPaginationParameter`
* `MBFilterParameter`
* `MBGeofenceParameter`

{% hint style="info" %}
If you want to pass another type of parameter you can use the MBGeneralParameter class that can be initialized with a key and a value that will be passed to the apis.
{% endhint %}

So if you want to include a pagination parameter you can do this:

```
let paginationParam = MBPaginationParameter(skip: 0, take: 10)
MBClient.getBlocks(withParameters: [paginationParam], success: { (blocks, paginationInfo) in

}, failure: { error in

})
```

There are two other versions of the **`getBlocksWithParameters:Success:Failure`**: one that takes an additional parameter **`includingSections`** (a boolean that indicates whether or not include, for each block, the sections), and another that takes **`includingSections`** and **`includeElements`** (a boolean value that does the same thing but for the elements of the sections).

So, you could retrieve the information of all the blocks, all the sections of the blocks, and all the elements of the sections with this call:

```swift
MBClient.getBlocks(withParameters: [paginationParam], includingSections: true, includeElements: true, success: { (blocks, paginationInfo) in

}, failure: { error in

})
```


---

# 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.mburger.cloud/ios-docs/fetch-blocks.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.
