---
sidebar:
  label: roboto.http.requester
  order: 6
title: roboto.http.requester
---
## Module Contents

### ROBOTO_REQUESTER_HEADER

```python
roboto.http.requester.ROBOTO_REQUESTER_HEADER = 'X-Roboto-Requester'
```

`from roboto.http import ROBOTO_REQUESTER_HEADER`

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/http/requester.py#L69-L69)

A JSON serialized [`RobotoRequester`](/reference/python-sdk/roboto/http/requester#roboto.http.requester.RobotoRequester) representing the entity making a request to Roboto.

### RobotoRequester

```python
class roboto.http.requester.RobotoRequester(/, **data: Any)
```

`from roboto.http import RobotoRequester`

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/http/requester.py#L31-L66)

Bases: `pydantic.BaseModel`

Details about the entity making a request to Roboto. These are embedded in a header in order to see what tool versions / operating systems are making requests, and to aid debugging.

**Parameters**

- **data** (`Any`)

**Attributes**

- **RobotoRequester.platform** (`str | None`) = `None`: The environment in which a request is being made, i.e. the user agent (for browser requests) or the results of platform.platform (for SDK requests)
- **RobotoRequester.roboto_tool** (`RobotoTool | str | None`) = `None`: If a request is being made from a Roboto vended tool, the name of the tool
- **RobotoRequester.roboto_tool_details** (`str | None`) = `None`: If a request is being made from a Roboto vended tool, free text pertinent details about the tool
- **RobotoRequester.roboto_tool_version** (`str | None`) = `None`: If a request is being made from a Roboto vended tool, the version of the tool
- **RobotoRequester.schema_version** (`Literal['v1']`) = `'v1'`: Roboto Requester payload schema version, used to ensure backward compatibility

#### RobotoRequester.for_tool()

```python
@classmethod
def for_tool(tool: RobotoTool) -> RobotoRequester
```

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/http/requester.py#L54-L66)

Called to intelligently populate a [`RobotoRequester`](/reference/python-sdk/roboto/http/requester#roboto.http.requester.RobotoRequester) for a request made from a named Roboto tool using the Python SDK.

**Parameters**

- **tool** (`RobotoTool`)

**Returns**

- `RobotoRequester`

### RobotoTool

```python
class roboto.http.requester.RobotoTool
```

`from roboto.http import RobotoTool`

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/http/requester.py#L22-L28)

Bases: `roboto.compat.StrEnum`

Tool used to access Roboto

**Attributes**

- **RobotoTool.Cli** = `'cli'`
- **RobotoTool.Sdk** = `'sdk'`
- **RobotoTool.UploadAgent** = `'upload-agent'`
- **RobotoTool.Website** = `'website'`

### roboto_version

```python
roboto.http.requester.roboto_version = '0.0.0'
```

`from roboto.http.requester import roboto_version`

[Source](https://github.com/roboto-ai/roboto-python-sdk/blob/main/src/roboto/http/requester.py#L19-L19)
