Zequent Client SDK — Connector API Reference

Method reference for client.connector(). For a narrative introduction and worked examples, see the Connector guide. For Python, see client-sdk-connector-python.md; for Go, client-sdk-connector-go.md.

All request/response methods return a CompletableFuture. Response objects carry isSuccess() and getError() (errorCode, errorMessage) for business errors such as "not found" — see Functional Responses. The Skill Registry methods work on raw generated proto types and complete exceptionally with a ConnectorClientException (getErrorCode(), getTransactionId()) instead.

What a client credential may call

A customer application authenticates with a client credential (ZQNT_CLIENT_TOKEN). The platform binds it to one organization and allows only part of this interface. Everything else is administration (done in the Admin Console) or belongs to edge adapters and the platform's own services.

  • A method marked refused completes exceptionally with a gRPC PERMISSION_DENIED.
  • A method that names an asset (by serial number or ID) which is not your organization's is refused with PERMISSION_DENIED too. An asset that does not exist gets the same answer.
  • Refusals are not retried by the SDK.

Assets

MethodReturnsClient credentialPurpose
getAssetBySn(GetAssetBySnRequest)ConnectorResponseallowedLook up an asset by serial number (context.sn)
getAssetById(GetAssetByIdRequest)ConnectorResponseallowedLook up an asset by platform ID
getSubAssetBySn(GetSubAssetBySnRequest)ConnectorResponseallowedLook up a sub-asset (e.g. the drone paired to a dock) by serial number (context.sn)
updateAsset(UpdateAssetRequest)ConnectorResponseallowedUpdate asset metadata; updateFields limits which fields are written
updateSubAsset(UpdateSubAssetRequest)ConnectorResponseallowedUpdate sub-asset metadata
deregisterAsset(DeregisterAssetRequest)ConnectorResponseallowedRemove an asset, addressed by serial number (context.sn)
registerAsset(RegisterAssetRequest)ConnectorResponserefusedAssets are added in the Admin Console or paired by their edge adapter with a pairing code

ConnectorResponse carries the result in asset or subAsset, plus success, tid and error.

Asset payloads

Hardware mounted on an asset or sub-asset (a camera, gimbal or sensor): slot, name, serial number, kind, vendor, model, firmware version and state. A Java edge adapter can also report them through the Edge SDK. The owner is a PayloadOwner (type ASSET or SUB_ASSET, plus its id).

MethodReturnsClient credentialPurpose
upsertAssetPayload(UpsertAssetPayloadRequest)AssetPayloadResponseallowedCreate or update a payload; updateFields limits which fields are written
listAssetPayloads(ListAssetPayloadsRequest)AssetPayloadListResponseallowedList an owner's payloads (owner, or context.assetId/context.sn)

Skill Registry

The platform-wide catalog of every command an edge adapter has reported, one entry per (commandId, schemaVersion). Types are the generated com.zqnt.utils.connector.proto.SkillContractProtoDTO and SkillContractStatus (ACTIVE, DRAFT, DEPRECATED, RETIRED).

MethodReturnsClient credentialPurpose
listSkillContracts(SkillContractStatus status, String commandId)List<SkillContractProtoDTO>allowedList the registry. status filters by lifecycle state; commandId returns that command's full version history instead (status is then ignored). Either may be null
observeSkillContract(SkillContractProtoDTO)SkillContractProtoDTOrefusedRecord a contract (done by the platform when adapters report capabilities)
setSkillContractStatus(String id, SkillContractStatus)SkillContractProtoDTOrefusedChange a contract's lifecycle state
setSkillContractPermissions(String id, List<String>)SkillContractProtoDTOrefusedReplace a contract's required permissions

Administration (refused for a client credential)

These are on the interface, but a client credential gets PERMISSION_DENIED. Manage them in the Admin Console.

MethodReturnsPurpose
getOrganization(GetOrganizationRequest)ConnectorResponseOrganization info
getScheduler / createScheduler / createSchedulers / updateScheduler / deleteScheduler / deleteSchedulersSchedulerResponseSchedules that run an Application — see Applications & Skills
getActivePoliciesByType(GetPoliciesRequest) / getAllActivePolicies(GetAllActivePoliciesRequest)ConnectorPolicyResponseOperational policies (asset selection)
getTechnicalConfigs(GetTechnicalConfigsRequest)ConnectorConfigResponseTechnical configuration values — see Configuration

Batch ingestion (refused for a client credential)

storeTelemetryBatch(), storeDetectionBatch() and storeNotificationBatch() open a client-streaming ConnectorBatchSession<T> (send, complete, cancel, isCompleted, AutoCloseable). They are the platform's own persistence path for data coming from edge adapters, and a client credential is refused. Edge adapters report telemetry, detections and command execution events through the Edge SDK — see Live Data.

Capabilities

What a specific asset can do right now is read from client.remoteControl().getCapabilities(sn) — see Remote Control — Capabilities & custom commands. What an asset reports comes from its edge adapter — see Edge SDK — Connector.

Was this page helpful?