---
sidebar:
  label: roboto.http.roboto_client
  order: 9
title: roboto.http.roboto_client
---
## Module Contents

### ApiRelativePath

```python
roboto.http.roboto_client.ApiRelativePath
```

`from roboto.http.roboto_client import ApiRelativePath`

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

### DEFAULT_HTTP_TIMEOUT

```python
roboto.http.roboto_client.DEFAULT_HTTP_TIMEOUT = 30.0
```

`from roboto.http import DEFAULT_HTTP_TIMEOUT`

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

### RobotoClient

```python
class roboto.http.roboto_client.RobotoClient(
    endpoint: str,
    auth_decorator: Optional[roboto.http.request.HttpRequestDecorator],
    http_client_kwargs: Optional[dict[str, Any]] = None,
)
```

`from roboto import RobotoClient`

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

A client for making HTTP requests against Roboto service

**Parameters**

- **endpoint** (`str`)
- **auth_decorator** (`Optional[roboto.http.request.HttpRequestDecorator]`)
- **http_client_kwargs** (`Optional[dict[str, Any]]`)

**Properties**

- **RobotoClient.endpoint** (`str`)
- **RobotoClient.frontend_endpoint** (`str`)
- **RobotoClient.http_client** (`roboto.http.http_client.HttpClient`)

#### RobotoClient.defaulted()

```python
@classmethod
def defaulted(client: Optional[RobotoClient] = None) -> RobotoClient
```

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

**Parameters**

- **client** (`Optional[RobotoClient]`)

**Returns**

- `RobotoClient`

#### RobotoClient.delete()

```python
def delete(
    path: ApiRelativePath,
    caller_org_id: Optional[str] = None,
    data: Any = None,
    headers: Optional[dict[str, str]] = None,
    idempotent: bool = True,
    owner_org_id: Optional[str] = None,
    query: Optional[dict[str, Any]] = None,
    retry_wait_fn: Optional[roboto.http.retry.RetryWaitFn] = None,
    timeout: roboto.env.Timeout = NotSet,
) -> roboto.http.response.HttpResponse
```

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

**Parameters**

- **path** (`ApiRelativePath`)
- **caller_org_id** (`Optional[str]`)
- **data** (`Any`)
- **headers** (`Optional[dict[str, str]]`)
- **idempotent** (`bool`)
- **owner_org_id** (`Optional[str]`)
- **query** (`Optional[dict[str, Any]]`)
- **retry_wait_fn** (`Optional[roboto.http.retry.RetryWaitFn]`)
- **timeout** (`roboto.env.Timeout`)

**Returns**

- `roboto.http.response.HttpResponse`

#### RobotoClient.for_profile()

```python
@classmethod
def for_profile(profile: str) -> RobotoClient
```

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

**Parameters**

- **profile** (`str`)

**Returns**

- `RobotoClient`

#### RobotoClient.from_config()

```python
@classmethod
def from_config(config: roboto.config.RobotoConfig) -> RobotoClient
```

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

**Parameters**

- **config** (`roboto.config.RobotoConfig`)

**Returns**

- `RobotoClient`

#### RobotoClient.from_env()

```python
@classmethod
def from_env() -> RobotoClient
```

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

**Returns**

- `RobotoClient`

#### RobotoClient.get()

```python
def get(
    path: ApiRelativePath,
    caller_org_id: Optional[str] = None,
    headers: Optional[dict[str, str]] = None,
    idempotent: bool = True,
    owner_org_id: Optional[str] = None,
    query: Optional[dict[str, Any]] = None,
    retry_wait_fn: Optional[roboto.http.retry.RetryWaitFn] = None,
    timeout: roboto.env.Timeout = NotSet,
) -> roboto.http.response.HttpResponse
```

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

**Parameters**

- **path** (`ApiRelativePath`)
- **caller_org_id** (`Optional[str]`)
- **headers** (`Optional[dict[str, str]]`)
- **idempotent** (`bool`)
- **owner_org_id** (`Optional[str]`)
- **query** (`Optional[dict[str, Any]]`)
- **retry_wait_fn** (`Optional[roboto.http.retry.RetryWaitFn]`)
- **timeout** (`roboto.env.Timeout`)

**Returns**

- `roboto.http.response.HttpResponse`

#### RobotoClient.patch()

```python
def patch(
    path: ApiRelativePath,
    caller_org_id: Optional[str] = None,
    data: Any = None,
    headers: Optional[dict[str, str]] = None,
    idempotent: bool = True,
    owner_org_id: Optional[str] = None,
    query: Optional[dict[str, Any]] = None,
    retry_wait_fn: Optional[roboto.http.retry.RetryWaitFn] = None,
    timeout: roboto.env.Timeout = NotSet,
) -> roboto.http.response.HttpResponse
```

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

**Parameters**

- **path** (`ApiRelativePath`)
- **caller_org_id** (`Optional[str]`)
- **data** (`Any`)
- **headers** (`Optional[dict[str, str]]`)
- **idempotent** (`bool`)
- **owner_org_id** (`Optional[str]`)
- **query** (`Optional[dict[str, Any]]`)
- **retry_wait_fn** (`Optional[roboto.http.retry.RetryWaitFn]`)
- **timeout** (`roboto.env.Timeout`)

**Returns**

- `roboto.http.response.HttpResponse`

#### RobotoClient.post()

```python
def post(
    path: ApiRelativePath,
    caller_org_id: Optional[str] = None,
    data: Any = None,
    headers: Optional[dict[str, str]] = None,
    idempotent: bool = True,
    owner_org_id: Optional[str] = None,
    query: Optional[dict[str, Any]] = None,
    retry_wait_fn: Optional[roboto.http.retry.RetryWaitFn] = None,
    timeout: roboto.env.Timeout = NotSet,
) -> roboto.http.response.HttpResponse
```

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

**Parameters**

- **path** (`ApiRelativePath`)
- **caller_org_id** (`Optional[str]`)
- **data** (`Any`)
- **headers** (`Optional[dict[str, str]]`)
- **idempotent** (`bool`)
- **owner_org_id** (`Optional[str]`)
- **query** (`Optional[dict[str, Any]]`)
- **retry_wait_fn** (`Optional[roboto.http.retry.RetryWaitFn]`)
- **timeout** (`roboto.env.Timeout`)

**Returns**

- `roboto.http.response.HttpResponse`

#### RobotoClient.put()

```python
def put(
    path: ApiRelativePath,
    caller_org_id: Optional[str] = None,
    data: Any = None,
    headers: Optional[dict[str, str]] = None,
    idempotent: bool = True,
    owner_org_id: Optional[str] = None,
    query: Optional[dict[str, Any]] = None,
    retry_wait_fn: Optional[roboto.http.retry.RetryWaitFn] = None,
    timeout: roboto.env.Timeout = NotSet,
) -> roboto.http.response.HttpResponse
```

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

**Parameters**

- **path** (`ApiRelativePath`)
- **caller_org_id** (`Optional[str]`)
- **data** (`Any`)
- **headers** (`Optional[dict[str, str]]`)
- **idempotent** (`bool`)
- **owner_org_id** (`Optional[str]`)
- **query** (`Optional[dict[str, Any]]`)
- **retry_wait_fn** (`Optional[roboto.http.retry.RetryWaitFn]`)
- **timeout** (`roboto.env.Timeout`)

**Returns**

- `roboto.http.response.HttpResponse`

### logger

```python
roboto.http.roboto_client.logger
```

`from roboto.http.roboto_client import logger`

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