Skip to content

Client API Reference

This page provides an automatically generated API reference for the main public entrypoints of the library.

Clients

SyncClient

Synchronous client for MachineQ API.

Parameters:

  • client_id

    (str) –

    OAuth client ID

  • client_secret

    (str) –

    OAuth client secret

  • version

    (str, default: 'v1' ) –

    version of the API to use (default: v1)

  • extra_prefix

    (str, default: '' ) –

    extra prefix between the /{api_version} and {endpoint}. May be useful for some deprecated APIs.

  • env

    (MqApiEnvironment, default: PROD ) –

    API environment (default: production)

Methods:

  • close

    Close the underlying HTTP client session.

Attributes:

account instance-attribute

account = SyncAccount(self)

api_version instance-attribute

api_version = version

applications instance-attribute

applications = SyncApplications(self)

auth instance-attribute

auth = MqAuth(
    client_id=client_id,
    client_secret=client_secret,
    client=http_client,
    env=env,
)

decoder_types instance-attribute

decoder_types = SyncDecoderTypes(self)

device_groups instance-attribute

device_groups = SyncDeviceGroups(self)

device_profiles instance-attribute

device_profiles = SyncDeviceProfiles(self)

devices instance-attribute

devices = SyncDevices(self)

extra_prefix instance-attribute

extra_prefix = extra_prefix

gateway_groups instance-attribute

gateway_groups = SyncGatewayGroups(self)

gateway_profiles instance-attribute

gateway_profiles = SyncGatewayProfiles(self)

gateways instance-attribute

gateways = SyncGateways(self)

http_client instance-attribute

http_client = http_client

logs instance-attribute

logs = SyncLogs(self)

multicast_groups instance-attribute

multicast_groups = SyncMulticastGroups(self)

output_profiles instance-attribute

output_profiles = SyncOutputProfiles(self)

rf_regions instance-attribute

rf_regions = SyncRFRegions(self)

roles instance-attribute

roles = SyncRoles(self)

service_profiles instance-attribute

service_profiles = SyncServiceProfiles(self)

users instance-attribute

users = SyncUsers(self)

version instance-attribute

version = SyncVersion(self)

close

close() -> None

Close the underlying HTTP client session.

AsyncClient

Asynchronous client for MachineQ API.

Parameters:

  • client_id

    (str) –

    OAuth client ID

  • client_secret

    (str) –

    OAuth client secret

  • version

    (str, default: 'v1' ) –

    version of the API to use (default: v1)

  • extra_prefix

    (str, default: '' ) –

    extra prefix between the /{api_version} and {endpoint}. May be useful for some deprecated APIs.

  • env

    (MqApiEnvironment, default: PROD ) –

    API environment (default: production)

Methods:

  • aclose

    Close the underlying HTTP client session.

Attributes:

account instance-attribute

account = AsyncAccount(self)

api_version instance-attribute

api_version = version

applications instance-attribute

applications = AsyncApplications(self)

auth instance-attribute

auth = MqAuth(
    client_id=client_id,
    client_secret=client_secret,
    env=env,
)

decoder_types instance-attribute

decoder_types = AsyncDecoderTypes(self)

device_groups instance-attribute

device_groups = AsyncDeviceGroups(self)

device_profiles instance-attribute

device_profiles = AsyncDeviceProfiles(self)

devices instance-attribute

devices = AsyncDevices(self)

extra_prefix instance-attribute

extra_prefix = extra_prefix

gateway_groups instance-attribute

gateway_groups = AsyncGatewayGroups(self)

gateway_profiles instance-attribute

gateway_profiles = AsyncGatewayProfiles(self)

gateways instance-attribute

gateways = AsyncGateways(self)

http_client instance-attribute

http_client = AsyncClient(
    headers={"User-Agent": f"machineq-py/{__version__}"}
)

logs instance-attribute

logs = AsyncLogs(self)

multicast_groups instance-attribute

multicast_groups = AsyncMulticastGroups(self)

output_profiles instance-attribute

output_profiles = AsyncOutputProfiles(self)

rf_regions instance-attribute

rf_regions = AsyncRFRegions(self)

roles instance-attribute

roles = AsyncRoles(self)

service_profiles instance-attribute

service_profiles = AsyncServiceProfiles(self)

users instance-attribute

users = AsyncUsers(self)

version instance-attribute

version = AsyncVersion(self)

aclose async

aclose() -> None

Close the underlying HTTP client session.

Exceptions

APIError

APIError(
    message: str,
    code: int | None = None,
    details: list[Any] | None = None,
    status_code: int | None = None,
)

Bases: MachineQError

Base exception for API errors.

Parameters:

  • message

    (str) –

    Error message

  • code

    (int | None, default: None ) –

    gRPC error code

  • details

    (list[Any] | None, default: None ) –

    gRPC error details

  • status_code

    (int | None, default: None ) –

    HTTP status code

Attributes:

code instance-attribute

code = code

details instance-attribute

details = details or []

message instance-attribute

message = message

status_code instance-attribute

status_code = status_code

MachineQError

Bases: Exception

Base exception for all MachineQ client errors.

ValidationError

ValidationError(
    message: str,
    code: int | None = None,
    details: list[Any] | None = None,
    status_code: int | None = None,
)

Bases: APIError

Raised when request validation fails (gRPC code 3).

NotFound

NotFound(
    message: str,
    code: int | None = None,
    details: list[Any] | None = None,
    status_code: int | None = None,
)

Bases: APIError

Raised when a resource is not found (gRPC code 5).

PermissionDenied

PermissionDenied(
    message: str,
    code: int | None = None,
    details: list[Any] | None = None,
    status_code: int | None = None,
)

Bases: APIError

Raised when user lacks permission (gRPC code 7).

Unauthorized

Unauthorized(
    message: str,
    code: int | None = None,
    details: list[Any] | None = None,
    status_code: int | None = None,
)

Bases: APIError

Raised when authentication fails (gRPC code 16).

See also: Data models for base types.