Skip to content

Repository files navigation

nexconn-sdk-java

Nexconn Server API

  • API version: 0.1.1
    • Generator version: 7.14.0

Build your app with 10,000 free MAU and full Chat Pro capabilities

Chat Growth Credit — Build with Nexconn Chat and explore full capabilities free up to 10,000 MAU. View the offer details →

OpenAPI specification aligned with the current Nexconn public documentation, PDF source documents, and generated SDK requirements.

Automatically generated by the OpenAPI Generator

Requirements

Building the API client library requires:

  1. JDK 11+
  2. Gradle 8.7+ (the generated Gradle Wrapper is included)

This SDK targets JVM server-side applications only and is not intended for Android.

Installation

To install the API client library to your local Maven repository, execute:

./gradlew publishToMavenLocal

Maven users

<dependency>
  <groupId>ai.nexconn</groupId>
  <artifactId>nexconn-sdk-java</artifactId>
  <version>0.1.1</version>
  <scope>compile</scope>
</dependency>

Gradle users

dependencies {
  implementation "ai.nexconn:nexconn-sdk-java:0.1.1"
}

Quick Start

The example below uses the SDK's built-in signing support to inject App-Key / Nonce / Timestamp / Signature / X-Request-ID automatically.

import ai.nexconn.ApiClient;
import ai.nexconn.ApiException;
import ai.nexconn.Configuration;
import ai.nexconn.api.UserManagementApi;
import ai.nexconn.model.AccessTokenIssueRequest;
import ai.nexconn.model.AccessTokenIssueResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient client = Configuration.getDefaultApiClient();
    client.setNexconnCredentials(
        System.getenv("NEXCONN_APP_KEY"),
        System.getenv("NEXCONN_APP_SECRET")
    );

    // Optional: override the default nonce generator
    // client.setNonceSupplier(() -> "custom-nonce");

    client.setPrimaryBackupDomains(
        System.getenv("NEXCONN_PRIMARY_API_DOMAIN"),
        System.getenv("NEXCONN_SECONDARY_API_DOMAIN")
    );
    // client.setErrorSwitchingThreshold(1);

    UserManagementApi userManagementApi = new UserManagementApi(client);
    AccessTokenIssueRequest request = new AccessTokenIssueRequest()
        .userId("user_123")
        .name("Alice")
        .avatarUrl("https://example.com/avatar.png");

    try {
        AccessTokenIssueResponse response = userManagementApi.issueAccessToken(request);
        System.out.println(response);
    } catch (ApiException e) {
        System.err.println("API error: " + e.getErrorCode() + " " + e.getErrorMessage());
    }
  }
}

Error Handling

The SDK throws typed ApiException subclasses based on the HTTP status code. Each exception automatically parses the response body to expose the business errorCode and errorMessage.

import ai.nexconn.ApiException;

try {
    groupApi.createGroup(request);
} catch (ApiException.BadRequestException e) {
    // HTTP 400: invalid parameters
    System.err.println("Bad request: " + e.getErrorCode() + " " + e.getErrorMessage());
} catch (ApiException.UnauthorizedException e) {
    // HTTP 401: check your AppKey / AppSecret
} catch (ApiException.ForbiddenException e) {
    // HTTP 403: permission denied
} catch (ApiException.NotFoundException e) {
    // HTTP 404: resource not found
} catch (ApiException.ConflictException e) {
    // HTTP 409: resource already exists
    System.err.println("Conflict: errorCode=" + e.getErrorCode());
} catch (ApiException.TooManyRequestsException e) {
    // HTTP 429: rate limited, retry later
} catch (ApiException.ServiceException e) {
    // HTTP 5xx: server error, may retry
} catch (ApiException e) {
    // Other HTTP errors
    System.err.println("HTTP " + e.getCode() + ": " + e.getResponseBody());
}

All exception subclasses provide the following accessors:

Method Description
getCode() HTTP status code
getErrorCode() Business error code from response body code field (-1 if unparseable)
getErrorMessage() Business error message from response body errorMessage field
getResponseBody() Raw response body string
getResponseHeaders() Response headers

Features

  • Automatic Nexconn request signing when setNexconnCredentials() is configured
  • Built-in multi-domain failover support via setPrimaryBackupDomains()
  • Automatic X-Request-ID generation

Documentation for API Endpoints

All requests use the primary/backup domains configured by the caller.

Class Method HTTP request Description
ChannelManagementApi addTagToChannels POST /v4/channel/tag/add Add tag to channel
ChannelManagementApi addUserChannelTags POST /v4/user/channel/tag/add Add user channel tag
ChannelManagementApi getChannelAttribute POST /v4/channel/attribute/get Get channel attributes
ChannelManagementApi getChannelPushNotification POST /v4/channel/push/get Get channel DND
ChannelManagementApi getChannelTypeNotification POST /v4/channel-type/push/get Get DND by channel type
ChannelManagementApi listChannelsByTag POST /v4/channel/tag/list Get channels by tag
ChannelManagementApi listUserChannelTags POST /v4/user/channel/tag/list List user channel tags
ChannelManagementApi removeTagFromChannels POST /v4/channel/tag/delete Remove tag from channel
ChannelManagementApi removeUserChannelTags POST /v4/user/channel/tag/remove Remove user channel tag
ChannelManagementApi setChannelPin POST /v4/channel/pin/set Pin a channel
ChannelManagementApi setChannelPushNotification POST /v4/channel/push/set Set channel DND
ChannelManagementApi setChannelTypeNotification POST /v4/channel-type/push/set Set DND by channel type
CommunityChannelManagementApi addCommunityChannelUserGroupUsers POST /v4/community-channel/user-group/user/add Add community channel user group users
CommunityChannelManagementApi addCommunityChannelUserGroups POST /v4/community-channel/user-group/add Add community channel user groups
CommunityChannelManagementApi addPrivateSubchannelMembers POST /v4/community-channel/private-subchannel/member/add Add private subchannel members
CommunityChannelManagementApi bindCommunityChannelUserGroup POST /v4/community-channel/channel/user-group/bind Bind community channel user group
CommunityChannelManagementApi checkCommunityChannelMemberExist POST /v4/community-channel/member/exist Check community channel member exist
CommunityChannelManagementApi createCommunityChannel POST /v4/community-channel/create Create community channel
CommunityChannelManagementApi createCommunitySubchannel POST /v4/community-channel/subchannel/create Create community subchannel
CommunityChannelManagementApi deleteCommunitySubchannel POST /v4/community-channel/subchannel/delete Delete community subchannel
CommunityChannelManagementApi dismissCommunityChannel POST /v4/community-channel/dismiss Dismiss community channel
CommunityChannelManagementApi joinCommunityChannel POST /v4/community-channel/join Join community channel
CommunityChannelManagementApi listCommunityChannelHistoryMessages POST /v4/community-channel/history-message/list List community-channel history messages
CommunityChannelManagementApi listCommunityChannelSubchannelUserGroups POST /v4/community-channel/channel/user-group/list List community channel subchannel user groups
CommunityChannelManagementApi listCommunityChannelUserGroupSubchannels POST /v4/community-channel/user-group/subchannel/list List community channel user group subchannels
CommunityChannelManagementApi listCommunityChannelUserGroups POST /v4/community-channel/user-group/list List community channel user groups
CommunityChannelManagementApi listCommunityChannelUserUserGroups POST /v4/community-channel/user/user-group/list List community channel user user groups
CommunityChannelManagementApi listCommunitySubchannels POST /v4/community-channel/subchannel/list List community subchannels
CommunityChannelManagementApi listCommunityUserSubchannels POST /v4/community-channel/user/subchannel/list List community user subchannels
CommunityChannelManagementApi listPrivateSubchannelMembers POST /v4/community-channel/private-subchannel/member/list List private subchannel members
CommunityChannelManagementApi quitCommunityChannel POST /v4/community-channel/leave Leave community channel
CommunityChannelManagementApi removeCommunityChannelUserGroupUsers POST /v4/community-channel/user-group/user/remove Remove community channel user group users
CommunityChannelManagementApi removeCommunityChannelUserGroups POST /v4/community-channel/user-group/remove Delete community channel user groups
CommunityChannelManagementApi removePrivateSubchannelMembers POST /v4/community-channel/private-subchannel/member/remove Remove private subchannel members
CommunityChannelManagementApi unbindCommunityChannelUserGroup POST /v4/community-channel/channel/user-group/unbind Unbind community channel user group
CommunityChannelManagementApi updateCommunityChannelInfo POST /v4/community-channel/update Update community channel info
CommunityChannelManagementApi updateCommunitySubchannelType POST /v4/community-channel/subchannel-type/update Update community subchannel type
CommunityChannelModerationApi addCommunityChannelAllowedSenderList POST /v4/community-channel/allowed-sender-list/add Add community channel allowed sender list
CommunityChannelModerationApi addCommunityChannelMutedUsers POST /v4/community-channel/mute-list/add Add community-channel muted users
CommunityChannelModerationApi getCommunityChannelFreezeList POST /v4/community-channel/freeze-list/get Get community channel freeze status
CommunityChannelModerationApi listCommunityChannelAllowedSenderList POST /v4/community-channel/allowed-sender-list/get List community channel allowed sender list
CommunityChannelModerationApi listCommunityChannelMutedUsers POST /v4/community-channel/mute-list/get List community-channel muted users
CommunityChannelModerationApi removeCommunityChannelAllowedSenderList POST /v4/community-channel/allowed-sender-list/remove Remove community channel allowed sender list
CommunityChannelModerationApi removeCommunityChannelMutedUsers POST /v4/community-channel/mute-list/remove Remove community-channel muted users
CommunityChannelModerationApi setCommunityChannelFreezeList POST /v4/community-channel/freeze-list/set Set community channel freeze list
FriendshipApi addFriend POST /v4/friend/add Add friend
FriendshipApi getFriendPermission POST /v4/friend/permission/get Get friend permission
FriendshipApi getFriendRelationships POST /v4/friend/relationship/get Get friend relationships
FriendshipApi listFriends POST /v4/friend/list List friends
FriendshipApi removeAllFriends POST /v4/friend/remove-all Clean all friends
FriendshipApi removeFriends POST /v4/friend/remove Delete friends
FriendshipApi setFriendPermission POST /v4/friend/permission/set Set friend permission
FriendshipApi setFriendProfile POST /v4/friend/profile/set Set friend profile
GroupChannelManagementApi addGroupChannelAdmins POST /v4/group-channel/admin/add Add group admins
GroupChannelManagementApi addGroupChannelMemberFavorites POST /v4/group-channel/member/favorites/add Add favorite group members
GroupChannelManagementApi batchGetGroupChannelMembers POST /v4/group-channel/member/batch/get Get specific group members
GroupChannelManagementApi batchGetGroupChannelProfiles POST /v4/group-channel/profile/list List group profiles
GroupChannelManagementApi createGroupChannel POST /v4/group-channel/create Create a group
GroupChannelManagementApi deleteGroupChannelAlias POST /v4/group-channel/alias/delete Delete group alias
GroupChannelManagementApi dismissGroupChannel POST /v4/group-channel/dismiss Dismiss a group
GroupChannelManagementApi getGroupChannelAlias POST /v4/group-channel/alias/get Get group alias
GroupChannelManagementApi joinGroupChannel POST /v4/group-channel/join Join a group
GroupChannelManagementApi kickUserFromAllGroupChannels POST /v4/group-channel/member/kickout-all Remove a user from all groups
GroupChannelManagementApi listGroupChannelMemberFavorites POST /v4/group-channel/member/favorites/list List favorite group members
GroupChannelManagementApi listGroupChannelMembers POST /v4/group-channel/member/list Query group members
GroupChannelManagementApi listGroupChannels POST /v4/group-channel/list List group channels
GroupChannelManagementApi listUserJoinedGroupChannels POST /v4/group-channel/joined/list Query user's groups
GroupChannelManagementApi quitGroupChannel POST /v4/group-channel/leave Leave a group
GroupChannelManagementApi removeGroupChannelAdmins POST /v4/group-channel/admin/remove Remove group admins
GroupChannelManagementApi removeGroupChannelMemberFavorites POST /v4/group-channel/member/favorites/remove Remove favorite group members
GroupChannelManagementApi setGroupChannelAlias POST /v4/group-channel/alias/set Set group alias
GroupChannelManagementApi setGroupChannelMember POST /v4/group-channel/member/set Set group member profile
GroupChannelManagementApi transferGroupChannelOwner POST /v4/group-channel/transfer/owner Transfer group ownership
GroupChannelManagementApi updateGroupChannelProfile POST /v4/group-channel/profile/update Update group info
GroupChannelModerationApi addGroupChannelAllowedSenderList POST /v4/group-channel/allowed-sender-list/add Add to allowed senders list
GroupChannelModerationApi addGroupChannelFreezeList POST /v4/group-channel/freeze-list/add Freeze a group
GroupChannelModerationApi addGroupChannelUserMuteList POST /v4/group-channel/user/mute-list/add Mute a group member
GroupChannelModerationApi getGroupChannelAllowedSenderList POST /v4/group-channel/allowed-sender-list/get Query allowed senders list
GroupChannelModerationApi getGroupChannelFreezeList POST /v4/group-channel/freeze-list/get Query group freeze status
GroupChannelModerationApi getGroupChannelUserMuteList POST /v4/group-channel/user/mute-list/get List muted group members
GroupChannelModerationApi removeGroupChannelAllowedSenderList POST /v4/group-channel/allowed-sender-list/remove Remove from allowed senders list
GroupChannelModerationApi removeGroupChannelFreezeList POST /v4/group-channel/freeze-list/remove Unfreeze a group
GroupChannelModerationApi removeGroupChannelUserMuteList POST /v4/group-channel/user/mute-list/remove Unmute a group member
MessageManagementApi broadcastOpenChannelMessage POST /v4/open-channel/message/broadcast Broadcast to all open channels
MessageManagementApi deleteChannelMessageHistory POST /v4/channel/message/history/delete Delete server-side channel message history
MessageManagementApi deleteChannelTypeMessageMetadata POST /v4/channel-type/message/metadata/delete Delete message metadata
MessageManagementApi deleteCommunityChannelMessageMetadata POST /v4/community-channel/message/metadata/delete Delete community-channel message metadata keys
MessageManagementApi deleteMessage POST /v4/message/delete Delete a message (recall)
MessageManagementApi listChannelTypeMessageMetadata POST /v4/channel-type/message/metadata/list Get message metadata
MessageManagementApi listCommunityChannelMessageMetadata POST /v4/community-channel/message/metadata/list List community-channel message metadata
MessageManagementApi sendCommunityChannelMessage POST /v4/community-channel/message/send Send a community channel message
MessageManagementApi sendDirectChannelMessage POST /v4/direct-channel/message/send Send a direct message
MessageManagementApi sendDirectChannelStreamMessage POST /v4/direct-channel/message/stream/send Send a direct channel stream message
MessageManagementApi sendGroupChannelMessage POST /v4/group-channel/message/send Send a group message
MessageManagementApi sendGroupChannelStreamMessage POST /v4/group-channel/message/stream/send Send a group channel stream message
MessageManagementApi sendOpenChannelMessage POST /v4/open-channel/message/send Send an open channel message
MessageManagementApi setChannelTypeMessageMetadata POST /v4/channel-type/message/metadata/set Set message metadata
MessageManagementApi setCommunityChannelMessageMetadata POST /v4/community-channel/message/metadata/set Set community-channel message metadata
MessageManagementApi updateCommunityChannelMessage POST /v4/community-channel/message/update Update community-channel message
MessageManagementApi updateDirectChannelMessage POST /v4/direct-channel/message/update Update direct-channel message
MessageManagementApi updateGroupChannelMessage POST /v4/group-channel/message/update Update group-channel message
ModerationApi batchAddProfanityWords POST /v4/profanity-word/batch/add Batch add profanity words
ModerationApi batchRemoveProfanityWords POST /v4/profanity-word/batch/remove Batch delete profanity words
ModerationApi listProfanityWords POST /v4/profanity-word/list List profanity words
ModerationApi removeProfanityWord POST /v4/profanity-word/remove Delete profanity word
OpenChannelManagementApi createOpenChannel POST /v4/open-channel/create Create an open channel
OpenChannelManagementApi destroyOpenChannels POST /v4/open-channel/destroy Destroy an open channel
OpenChannelManagementApi getOpenChannel POST /v4/open-channel/get Get open channel info
OpenChannelManagementApi setOpenChannelDestroyType POST /v4/open-channel/destroy-type/set Set auto-destroy type
OpenChannelMessagePriorityApi addOpenChannelLowPriorityMessageTypeList POST /v4/open-channel/low-priority-message-type-list/add Add low-priority message types
OpenChannelMessagePriorityApi getOpenChannelLowPriorityMessageTypeList POST /v4/open-channel/low-priority-message-type-list/get Query low-priority message types
OpenChannelMessagePriorityApi removeOpenChannelLowPriorityMessageTypeList POST /v4/open-channel/low-priority-message-type-list/remove Remove low-priority message types
OpenChannelMetadataApi batchGetOpenChannelMetadata POST /v4/open-channel/metadata/batch/get Query metadata
OpenChannelMetadataApi batchRemoveOpenChannelMetadata POST /v4/open-channel/metadata/batch/remove Batch delete metadata
OpenChannelMetadataApi batchSetOpenChannelMetadata POST /v4/open-channel/metadata/batch/set Batch set metadata
OpenChannelParticipantsModerationApi addOpenChannelFreezeList POST /v4/open-channel/freeze-list/add Freeze an open channel
OpenChannelParticipantsModerationApi addOpenChannelGlobalMuteList POST /v4/open-channel/global-mute-list/add Mute a user globally
OpenChannelParticipantsModerationApi addOpenChannelParticipantAllowedSenderList POST /v4/open-channel/participant/allowed-sender-list/add Add to allowed senders list
OpenChannelParticipantsModerationApi addOpenChannelParticipantBanList POST /v4/open-channel/participant/ban-list/add Ban a participant
OpenChannelParticipantsModerationApi addOpenChannelParticipantMuteList POST /v4/open-channel/participant/mute-list/add Mute a participant
OpenChannelParticipantsModerationApi checkOpenChannelFreeze POST /v4/open-channel/freeze/check Check open channel freeze status
OpenChannelParticipantsModerationApi checkOpenChannelParticipantsExist POST /v4/open-channel/participant/exist Batch check participants
OpenChannelParticipantsModerationApi getOpenChannelGlobalMuteList POST /v4/open-channel/global-mute-list/get List globally muted users
OpenChannelParticipantsModerationApi getOpenChannelParticipantAllowedSenderList POST /v4/open-channel/participant/allowed-sender-list/get Query allowed senders list
OpenChannelParticipantsModerationApi getOpenChannelParticipantBanList POST /v4/open-channel/participant/ban-list/get List banned participants
OpenChannelParticipantsModerationApi getOpenChannelParticipantMuteList POST /v4/open-channel/participant/mute-list/get List muted participants
OpenChannelParticipantsModerationApi listFrozenOpenChannels POST /v4/open-channel/freeze-list/get List frozen open channels
OpenChannelParticipantsModerationApi listOpenChannelParticipants POST /v4/open-channel/participant/list List participants
OpenChannelParticipantsModerationApi removeOpenChannelFreezeList POST /v4/open-channel/freeze-list/remove Unfreeze an open channel
OpenChannelParticipantsModerationApi removeOpenChannelGlobalMuteList POST /v4/open-channel/global-mute-list/remove Unmute a user globally
OpenChannelParticipantsModerationApi removeOpenChannelParticipantAllowedSenderList POST /v4/open-channel/participant/allowed-sender-list/remove Remove from allowed senders list
OpenChannelParticipantsModerationApi removeOpenChannelParticipantBanList POST /v4/open-channel/participant/ban-list/remove Unban a participant
OpenChannelParticipantsModerationApi removeOpenChannelParticipantMuteList POST /v4/open-channel/participant/mute-list/remove Unmute a participant
OpenChannelPriorityControlsApi addOpenChannelPriorityMessageTypeList POST /v4/open-channel/priority-message-type-list/add Add priority message types
OpenChannelPriorityControlsApi addOpenChannelPrioritySenderList POST /v4/open-channel/priority-sender-list/add Add priority senders
OpenChannelPriorityControlsApi getOpenChannelPriorityMessageTypeList POST /v4/open-channel/priority-message-type-list/get Query priority message types
OpenChannelPriorityControlsApi getOpenChannelPrioritySenderList POST /v4/open-channel/priority-sender-list/get Query priority senders
OpenChannelPriorityControlsApi removeOpenChannelPriorityMessageTypeList POST /v4/open-channel/priority-message-type-list/remove Remove priority message types
OpenChannelPriorityControlsApi removeOpenChannelPrioritySenderList POST /v4/open-channel/priority-sender-list/remove Remove priority senders
SystemMessagesApi broadcastMessageOnline POST /v4/system-channel/message/broadcast-online Broadcast to online users
SystemMessagesApi broadcastSystemChannelMessage POST /v4/system-channel/message/broadcast-all Broadcast to all users (persistent)
SystemMessagesApi deleteBroadcastMessage POST /v4/system-channel/message/broadcast/delete Recall broadcast to all users
SystemMessagesApi sendSystemChannelMessage POST /v4/system-channel/message/send Send a system message
SystemMessagesApi sendSystemChannelPushByPackage POST /v4/system-channel/app-package-users/send Push by app package name
SystemMessagesApi sendSystemChannelPushByTag POST /v4/system-channel/tagged-users/send Push to tagged users
UserBlocklistApi addUserBlocklist POST /v4/user/blocklist/add Add to blocklist
UserBlocklistApi getUserBlocklist POST /v4/user/blocklist/get Get blocklist
UserBlocklistApi removeUserBlocklist POST /v4/user/blocklist/remove Remove from blocklist
UserManagementApi banUsers POST /v4/user/ban Ban a user
UserManagementApi batchGetUserTags POST /v4/user/tag/batch/get Get user tags
UserManagementApi batchSetUserTags POST /v4/user/tag/batch/set Batch set user tags
UserManagementApi expireAccessToken POST /v4/auth/access-token/expire Expire an access token
UserManagementApi getUser POST /v4/user/get Get user info
UserManagementApi getUserConnectionStatus POST /v4/user/connection-status/get Check user online status
UserManagementApi issueAccessToken POST /v4/auth/access-token/issue Register a user
UserManagementApi listBannedUsers POST /v4/user/ban/list List banned users
UserManagementApi listChannelTypeMute POST /v4/channel-type/mute/list List muted direct channel users
UserManagementApi listSoftDeletedUsers POST /v4/user/soft-deleted/list Query soft-deleted users
UserManagementApi restoreUsers POST /v4/user/restore Restore a user
UserManagementApi setChannelTypeMute POST /v4/channel-type/mute/set Mute a user in direct channels
UserManagementApi softDeleteUsers POST /v4/user/soft-delete Soft-delete a user
UserManagementApi unbanUsers POST /v4/user/unban Unban a user
UserManagementApi updateUser POST /v4/user/update Update user info
UserProfileHostingApi batchGetUserProfiles POST /v4/user/profile/batch/get Batch get user profiles
UserProfileHostingApi deleteUserProfiles POST /v4/user/profile/delete Clear user profiles
UserProfileHostingApi listUserProfiles POST /v4/user/profile/list List user profiles
UserProfileHostingApi setUserProfile POST /v4/user/profile/set Set user profile

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

NexconnSignature

  • Type: API key
  • API key parameter name: App-Key
  • Location: HTTP header

Thread Safety

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Package Info

  • Repository: GIT_REPO_ID
  • Package version: 0.1.1

License

This project is licensed under the MIT License.