HTTP Adapters

The monday-client supports pluggable async HTTP transports so you can choose the stack that best fits your environment without changing your application code.

  • aiohttp (default): solid performance with minimal dependencies.

  • httpx: enterprise proxy features such as custom proxy_headers and advanced proxy authentication (NTLM, Kerberos/SPNEGO) via optional extras.

Selecting a transport

from monday import MondayClient, Config

config = Config(api_key='your_api_key_here')
client = MondayClient(config, transport='httpx')  # or 'aiohttp' (default)

Proxy capabilities (summary)

  • AiohttpAdapter: HTTP/HTTPS proxies, optional SOCKS via aiohttp-socks, basic auth with proxy_auth. proxy_ssl_verify can disable TLS verification when talking to an HTTPS proxy.

  • HttpxAdapter: HTTP/HTTPS proxies, optional SOCKS via httpx[socks], custom proxy_headers (useful for CONNECT), optional NTLM via httpx-ntlm and Kerberos/SPNEGO via pyspnego.

API Reference

class AiohttpAdapter(*, proxy_url, proxy_auth, proxy_auth_type, proxy_trust_env, proxy_ssl_verify, timeout_seconds)[source]

Bases: object

Adapter that uses aiohttp for requests.

Parameters:
  • proxy_url (str | None)

  • proxy_auth (tuple[str, str] | None)

  • proxy_auth_type (str)

  • proxy_trust_env (bool)

  • proxy_ssl_verify (bool)

  • timeout_seconds (int)

async post(*, url, json, headers, timeout_seconds=None)[source]

Send a POST request with JSON and return the parsed JSON and headers.

Return type:

tuple[dict[str, Any], dict[str, str]]

Parameters:
class HttpxAdapter(*, proxy_url, proxy_auth, proxy_auth_type, proxy_trust_env, proxy_headers, proxy_ssl_verify, timeout_seconds)[source]

Bases: object

Adapter that uses httpx for requests.

Notes

  • Requires httpx to be installed by the user. Imported lazily.

  • Supports basic proxy auth. Advanced auth may require plugins.

  • Allows disabling TLS verification when talking to an HTTPS proxy via a custom proxy SSL context.

Parameters:
PROXY_AUTH_REQUIRED = 407
async post(*, url, json, headers, timeout_seconds=None)[source]

Send a POST request with JSON and return the parsed JSON and headers.

Return type:

tuple[dict[str, Any], dict[str, str]]

Parameters: