SDK for PHP V3

Client: Aws\Wickr\WickrClient
Service ID: wickr
Version: 2024-02-01

This page describes the parameters and results for the operations of the AWS Wickr Admin API (2024-02-01), and shows how to use the Aws\Wickr\WickrClient object to call the described operations. This documentation is specific to the 2024-02-01 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

BatchCreateUser ( array $params = [] )
Creates multiple users in a specified Wickr network.
BatchDeleteUser ( array $params = [] )
Deletes multiple users from a specified Wickr network.
BatchLookupUserUname ( array $params = [] )
Looks up multiple user usernames from their unique username hashes (unames).
BatchReinviteUser ( array $params = [] )
Resends invitation codes to multiple users who have pending invitations in a Wickr network.
BatchResetDevicesForUser ( array $params = [] )
Resets multiple devices for a specific user in a Wickr network.
BatchToggleUserSuspendStatus ( array $params = [] )
Suspends or unsuspends multiple users in a Wickr network.
CreateBot ( array $params = [] )
Creates a new bot in a specified Wickr network.
CreateDataRetentionBot ( array $params = [] )
Creates a data retention bot in a Wickr network.
CreateDataRetentionBotChallenge ( array $params = [] )
Creates a new challenge password for the data retention bot.
CreateNetwork ( array $params = [] )
Creates a new Wickr network with specified access level and configuration.
CreateSecurityGroup ( array $params = [] )
Creates a new security group in a Wickr network.
DeleteBot ( array $params = [] )
Deletes a bot from a specified Wickr network.
DeleteDataRetentionBot ( array $params = [] )
Deletes the data retention bot from a Wickr network.
DeleteNetwork ( array $params = [] )
Deletes a Wickr network and all its associated resources, including users, bots, security groups, and settings.
DeleteSecurityGroup ( array $params = [] )
Deletes a security group from a Wickr network.
GetBot ( array $params = [] )
Retrieves detailed information about a specific bot in a Wickr network, including its status, group membership, and authentication details.
GetBotsCount ( array $params = [] )
Retrieves the count of bots in a Wickr network, categorized by their status (pending, active, and total).
GetDataRetentionBot ( array $params = [] )
Retrieves information about the data retention bot in a Wickr network, including its status and whether the data retention service is enabled.
GetGuestUserHistoryCount ( array $params = [] )
Retrieves historical guest user count data for a Wickr network, showing the number of guest users per billing period over the past 90 days.
GetNetwork ( array $params = [] )
Retrieves detailed information about a specific Wickr network, including its configuration, access level, and status.
GetNetworkSettings ( array $params = [] )
Retrieves all network-level settings for a Wickr network, including client metrics, data retention, and other configuration options.
GetOidcInfo ( array $params = [] )
Retrieves the OpenID Connect (OIDC) configuration for a Wickr network, including SSO settings and optional token information if access token parameters are provided.
GetSecurityGroup ( array $params = [] )
Retrieves detailed information about a specific security group in a Wickr network, including its settings, member counts, and configuration.
GetUser ( array $params = [] )
Retrieves detailed information about a specific user in a Wickr network, including their profile, status, and activity history.
GetUsersCount ( array $params = [] )
Retrieves the count of users in a Wickr network, categorized by their status (pending, active, rejected) and showing how many users can still be added.
ListBlockedGuestUsers ( array $params = [] )
Retrieves a paginated list of guest users who have been blocked from a Wickr network.
ListBots ( array $params = [] )
Retrieves a paginated list of bots in a specified Wickr network.
ListDevicesForUser ( array $params = [] )
Retrieves a paginated list of devices associated with a specific user in a Wickr network.
ListGuestUsers ( array $params = [] )
Retrieves a paginated list of guest users who have communicated with your Wickr network.
ListNetworks ( array $params = [] )
Retrieves a paginated list of all Wickr networks associated with your Amazon Web Services account.
ListSecurityGroupUsers ( array $params = [] )
Retrieves a paginated list of users who belong to a specific security group in a Wickr network.
ListSecurityGroups ( array $params = [] )
Retrieves a paginated list of security groups in a specified Wickr network.
ListUsers ( array $params = [] )
Retrieves a paginated list of users in a specified Wickr network.
RegisterOidcConfig ( array $params = [] )
Registers and saves an OpenID Connect (OIDC) configuration for a Wickr network, enabling Single Sign-On (SSO) authentication through an identity provider.
RegisterOidcConfigTest ( array $params = [] )
Tests an OpenID Connect (OIDC) configuration for a Wickr network by validating the connection to the identity provider and retrieving its supported capabilities.
UpdateBot ( array $params = [] )
Updates the properties of an existing bot in a Wickr network.
UpdateDataRetention ( array $params = [] )
Updates the data retention bot settings, allowing you to enable or disable the data retention service, or acknowledge the public key message.
UpdateGuestUser ( array $params = [] )
Updates the block status of a guest user in a Wickr network.
UpdateNetwork ( array $params = [] )
Updates the properties of an existing Wickr network, such as its name or encryption key configuration.
UpdateNetworkSettings ( array $params = [] )
Updates network-level settings for a Wickr network.
UpdateSecurityGroup ( array $params = [] )
Updates the properties of an existing security group in a Wickr network, such as its name or settings.
UpdateUser ( array $params = [] )
Updates the properties of an existing user in a Wickr network.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListBlockedGuestUsers
ListBots
ListDevicesForUser
ListGuestUsers
ListNetworks
ListSecurityGroupUsers
ListSecurityGroups
ListUsers

Operations

BatchCreateUser

$result = $client->batchCreateUser([/* ... */]);
$promise = $client->batchCreateUserAsync([/* ... */]);

Creates multiple users in a specified Wickr network. This operation allows you to provision multiple user accounts simultaneously, optionally specifying security groups, and validation requirements for each user.

codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only.

Parameter Syntax

$result = $client->batchCreateUser([
    'clientToken' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'users' => [ // REQUIRED
        [
            'codeValidation' => true || false,
            'firstName' => '<string>',
            'inviteCode' => '<string>',
            'inviteCodeTtl' => <integer>,
            'lastName' => '<string>',
            'securityGroupIds' => ['<string>', ...], // REQUIRED
            'username' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without creating duplicate users.

networkId
Required: Yes
Type: string

The ID of the Wickr network where users will be created.

users
Required: Yes
Type: Array of BatchCreateUserRequestItem structures

A list of user objects containing the details for each user to be created, including username, name, security groups, and optional invite codes. Maximum 50 users per batch request.

Result Syntax

[
    'failed' => [
        [
            'field' => '<string>',
            'reason' => '<string>',
            'userId' => '<string>',
        ],
        // ...
    ],
    'message' => '<string>',
    'successful' => [
        [
            'cell' => '<string>',
            'challengeFailures' => <integer>,
            'codeValidation' => true || false,
            'countryCode' => '<string>',
            'firstName' => '<string>',
            'inviteCode' => '<string>',
            'isAdmin' => true || false,
            'isInviteExpired' => true || false,
            'isUser' => true || false,
            'lastName' => '<string>',
            'otpEnabled' => true || false,
            'scimId' => '<string>',
            'securityGroups' => ['<string>', ...],
            'status' => <integer>,
            'suspended' => true || false,
            'type' => '<string>',
            'uname' => '<string>',
            'userId' => '<string>',
            'username' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failed
Type: Array of BatchUserErrorResponseItem structures

A list of user creation attempts that failed, including error details explaining why each user could not be created.

message
Type: string

A message indicating the overall result of the batch operation.

successful
Type: Array of User structures

A list of user objects that were successfully created, including their assigned user IDs and invite codes.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Create multiple users
$result = $client->batchCreateUser([
    'clientToken' => '550e8400-e29b-41d4-a716-446655440000',
    'networkId' => '12345678',
    'users' => [
        [
            'codeValidation' => 1,
            'firstName' => 'John',
            'inviteCode' => 'INVITE123',
            'inviteCodeTtl' => 7,
            'lastName' => 'Doe',
            'securityGroupIds' => [
                'BCTY8Qhe',
            ],
            'username' => 'john.doe@example.com',
        ],
        [
            'firstName' => 'Jane',
            'lastName' => 'Smith',
            'securityGroupIds' => [
                'BCTY8Qhe',
            ],
            'username' => 'jane.smith@example.com',
        ],
    ],
]);

Result syntax:

[
    'failed' => [
    ],
    'successful' => [
        [
            'codeValidation' => 1,
            'firstName' => 'John',
            'inviteCode' => 'INVITE123',
            'isInviteExpired' => ,
            'lastName' => 'Doe',
            'status' => 1,
            'userId' => '123',
            'username' => 'john.doe@example.com',
        ],
        [
            'codeValidation' => ,
            'firstName' => 'Jane',
            'inviteCode' => 'AUTOGEN456',
            'isInviteExpired' => ,
            'lastName' => 'Smith',
            'status' => 1,
            'userId' => '456',
            'username' => 'jane.smith@example.com',
        ],
    ],
]
Example 2: Partial failure - duplicate user
$result = $client->batchCreateUser([
    'networkId' => '12345678',
    'users' => [
        [
            'firstName' => 'Alice',
            'lastName' => 'Johnson',
            'securityGroupIds' => [
                'BCTY8Qhe',
            ],
            'username' => 'alice.johnson@example.com',
        ],
        [
            'firstName' => 'Bob',
            'lastName' => 'Wilson',
            'securityGroupIds' => [
                'BCTY8Qhe',
            ],
            'username' => 'existing.user@example.com',
        ],
    ],
]);

Result syntax:

[
    'failed' => [
        [
            'field' => 'username',
            'reason' => 'User already exists',
            'userId' => '0',
        ],
    ],
    'successful' => [
        [
            'codeValidation' => ,
            'firstName' => 'Alice',
            'inviteCode' => 'AUTOGEN789',
            'isInviteExpired' => ,
            'lastName' => 'Johnson',
            'status' => 1,
            'userId' => '678',
            'username' => 'alice.johnson@example.com',
        ],
    ],
]

BatchDeleteUser

$result = $client->batchDeleteUser([/* ... */]);
$promise = $client->batchDeleteUserAsync([/* ... */]);

Deletes multiple users from a specified Wickr network. This operation permanently removes user accounts and their associated data from the network.

Parameter Syntax

$result = $client->batchDeleteUser([
    'clientToken' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'userIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without attempting to delete users again.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which users will be deleted.

userIds
Required: Yes
Type: Array of strings

A list of user IDs identifying the users to be deleted from the network. Maximum 50 users per batch request.

Result Syntax

[
    'failed' => [
        [
            'field' => '<string>',
            'reason' => '<string>',
            'userId' => '<string>',
        ],
        // ...
    ],
    'message' => '<string>',
    'successful' => [
        [
            'userId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failed
Type: Array of BatchUserErrorResponseItem structures

A list of user deletion attempts that failed, including error details explaining why each user could not be deleted.

message
Type: string

A message indicating the overall result of the batch deletion operation.

successful
Type: Array of BatchUserSuccessResponseItem structures

A list of user IDs that were successfully deleted from the network.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Delete multiple users
$result = $client->batchDeleteUser([
    'clientToken' => '6ba7b814-9dad-11d1-80b4-00c04fd430c8',
    'networkId' => '12345678',
    'userIds' => [
        '123',
        '456',
    ],
]);

Result syntax:

[
    'failed' => [
    ],
    'message' => 'success',
    'successful' => [
        [
            'userId' => '123',
        ],
        [
            'userId' => '456',
        ],
    ],
]
Example 2: Partial failure - user not found
$result = $client->batchDeleteUser([
    'networkId' => '12345678',
    'userIds' => [
        '123',
        '456',
    ],
]);

Result syntax:

[
    'failed' => [
        [
            'field' => 'username',
            'reason' => 'User not found',
            'userId' => '456',
        ],
    ],
    'message' => 'partial success',
    'successful' => [
        [
            'userId' => '123',
        ],
    ],
]

BatchLookupUserUname

$result = $client->batchLookupUserUname([/* ... */]);
$promise = $client->batchLookupUserUnameAsync([/* ... */]);

Looks up multiple user usernames from their unique username hashes (unames). This operation allows you to retrieve the email addresses associated with a list of username hashes.

Parameter Syntax

$result = $client->batchLookupUserUname([
    'clientToken' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'unames' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency.

networkId
Required: Yes
Type: string

The ID of the Wickr network where the users will be looked up.

unames
Required: Yes
Type: Array of strings

A list of username hashes (unames) to look up. Each uname is a unique identifier for a user's username. Maximum 50 unames per batch request.

Result Syntax

[
    'failed' => [
        [
            'field' => '<string>',
            'reason' => '<string>',
            'uname' => '<string>',
        ],
        // ...
    ],
    'message' => '<string>',
    'successful' => [
        [
            'uname' => '<string>',
            'username' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failed
Type: Array of BatchUnameErrorResponseItem structures

A list of username hash lookup attempts that failed, including error details explaining why each lookup failed.

message
Type: string

A message indicating the overall result of the batch lookup operation.

successful
Type: Array of BatchUnameSuccessResponseItem structures

A list of successfully resolved username hashes with their corresponding email addresses.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Lookup multiple user unames
$result = $client->batchLookupUserUname([
    'clientToken' => 'f47ac10b-58cc-4372-a567-0e02b2c3d479',
    'networkId' => '12345678',
    'unames' => [
        'a1b2c3d4e5f6',
        'g7h8i9j0k1l2',
    ],
]);

Result syntax:

[
    'failed' => [
    ],
    'message' => 'success',
    'successful' => [
        [
            'uname' => 'a1b2c3d4e5f6',
            'username' => 'john.doe@example.com',
        ],
        [
            'uname' => 'g7h8i9j0k1l2',
            'username' => 'john.doe2@example.com',
        ],
    ],
]
Example 2: Partial failure - uname not found
$result = $client->batchLookupUserUname([
    'networkId' => '12345678',
    'unames' => [
        'a1b2c3d4e5f6',
        'invaliduname',
    ],
]);

Result syntax:

[
    'failed' => [
        [
            'field' => 'uname',
            'reason' => 'Uname not found',
            'uname' => 'invaliduname',
        ],
    ],
    'message' => 'partial success',
    'successful' => [
        [
            'uname' => 'a1b2c3d4e5f6',
            'username' => 'john.doe@example.com',
        ],
    ],
]

BatchReinviteUser

$result = $client->batchReinviteUser([/* ... */]);
$promise = $client->batchReinviteUserAsync([/* ... */]);

Resends invitation codes to multiple users who have pending invitations in a Wickr network. This operation is useful when users haven't accepted their initial invitations or when invitations have expired.

Parameter Syntax

$result = $client->batchReinviteUser([
    'clientToken' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'userIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency.

networkId
Required: Yes
Type: string

The ID of the Wickr network where users will be reinvited.

userIds
Required: Yes
Type: Array of strings

A list of user IDs identifying the users to be reinvited to the network. Maximum 50 users per batch request.

Result Syntax

[
    'failed' => [
        [
            'field' => '<string>',
            'reason' => '<string>',
            'userId' => '<string>',
        ],
        // ...
    ],
    'message' => '<string>',
    'successful' => [
        [
            'userId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failed
Type: Array of BatchUserErrorResponseItem structures

A list of reinvitation attempts that failed, including error details explaining why each user could not be reinvited.

message
Type: string

A message indicating the overall result of the batch reinvitation operation.

successful
Type: Array of BatchUserSuccessResponseItem structures

A list of user IDs that were successfully reinvited.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Batch reinvite users successfully
$result = $client->batchReinviteUser([
    'networkId' => '12345678',
    'userIds' => [
        '12345',
        '67890',
    ],
]);

Result syntax:

[
    'failed' => [
    ],
    'successful' => [
        [
            'userId' => '12345',
        ],
        [
            'userId' => '67890',
        ],
    ],
]
Example 2: Batch reinvite users - partial success
$result = $client->batchReinviteUser([
    'networkId' => '12345678',
    'userIds' => [
        '12345',
        '99999',
    ],
]);

Result syntax:

[
    'failed' => [
        [
            'reason' => 'user not found in current network',
            'userId' => '99999',
        ],
    ],
    'successful' => [
        [
            'userId' => '12345',
        ],
    ],
]
Example 3: Batch reinvite users - cannot reinvite
$result = $client->batchReinviteUser([
    'networkId' => '12345678',
    'userIds' => [
        '54321',
    ],
]);

Result syntax:

[
    'failed' => [
        [
            'reason' => 'user cannot be reinvited',
            'userId' => '54321',
        ],
    ],
    'successful' => [
    ],
]

BatchResetDevicesForUser

$result = $client->batchResetDevicesForUser([/* ... */]);
$promise = $client->batchResetDevicesForUserAsync([/* ... */]);

Resets multiple devices for a specific user in a Wickr network. This operation forces the selected devices to log out and requires users to re-authenticate, which is useful for security purposes or when devices need to be revoked.

Parameter Syntax

$result = $client->batchResetDevicesForUser([
    'appIds' => ['<string>', ...], // REQUIRED
    'clientToken' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'userId' => '<string>', // REQUIRED
]);

Parameter Details

Members
appIds
Required: Yes
Type: Array of strings

A list of application IDs identifying the specific devices to be reset for the user. Maximum 50 devices per batch request.

clientToken
Type: string

A unique identifier for this request to ensure idempotency.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the user whose devices will be reset.

userId
Required: Yes
Type: string

The ID of the user whose devices will be reset.

Result Syntax

[
    'failed' => [
        [
            'appId' => '<string>',
            'field' => '<string>',
            'reason' => '<string>',
        ],
        // ...
    ],
    'message' => '<string>',
    'successful' => [
        [
            'appId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failed
Type: Array of BatchDeviceErrorResponseItem structures

A list of device reset attempts that failed, including error details explaining why each device could not be reset.

message
Type: string

A message indicating the overall result of the batch device reset operation.

successful
Type: Array of BatchDeviceSuccessResponseItem structures

A list of application IDs that were successfully reset.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Successful device reset
$result = $client->batchResetDevicesForUser([
    'appIds' => [
        'd3135a42dcb6437780b16c3ca9581fe64e6822773cd6b965d25fc9929c89aca6',
        'e4246b53edc7548891c27d4da0692fe75f7933884de7c076e36gca030d90bdb7',
    ],
    'networkId' => '12345678',
    'userId' => '12345',
]);

Result syntax:

[
    'failed' => [
    ],
    'message' => 'success',
    'successful' => [
        [
            'appId' => 'd3135a42dcb6437780b16c3ca9581fe64e6822773cd6b965d25fc9929c89aca6',
        ],
        [
            'appId' => 'e4246b53edc7548891c27d4da0692fe75f7933884de7c076e36gca030d90bdb7',
        ],
    ],
]
Example 2: Partial failure device reset
$result = $client->batchResetDevicesForUser([
    'appIds' => [
        'd3135a42dcb6437780b16c3ca9581fe64e6822773cd6b965d25fc9929c89aca6',
        'invalid-app-id',
    ],
    'networkId' => '12345678',
    'userId' => '12345',
]);

Result syntax:

[
    'failed' => [
        [
            'appId' => 'invalid-app-id',
            'field' => 'appId',
            'reason' => 'Invalid app ID.',
        ],
    ],
    'message' => 'partial success',
    'successful' => [
        [
            'appId' => 'd3135a42dcb6437780b16c3ca9581fe64e6822773cd6b965d25fc9929c89aca6',
        ],
    ],
]
Example 3: Invalid network ID error
$result = $client->batchResetDevicesForUser([
    'appIds' => [
        'd3135a42dcb6437780b16c3ca9581fe64e6822773cd6b965d25fc9929c89aca6',
    ],
    'networkId' => '00000000',
    'userId' => '12345',
]);

BatchToggleUserSuspendStatus

$result = $client->batchToggleUserSuspendStatus([/* ... */]);
$promise = $client->batchToggleUserSuspendStatusAsync([/* ... */]);

Suspends or unsuspends multiple users in a Wickr network. Suspended users cannot access the network until they are unsuspended. This operation is useful for temporarily restricting access without deleting user accounts.

Parameter Syntax

$result = $client->batchToggleUserSuspendStatus([
    'clientToken' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'suspend' => true || false, // REQUIRED
    'userIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency.

networkId
Required: Yes
Type: string

The ID of the Wickr network where users will be suspended or unsuspended.

suspend
Required: Yes
Type: boolean

A boolean value indicating whether to suspend (true) or unsuspend (false) the specified users.

userIds
Required: Yes
Type: Array of strings

A list of user IDs identifying the users whose suspend status will be toggled. Maximum 50 users per batch request.

Result Syntax

[
    'failed' => [
        [
            'field' => '<string>',
            'reason' => '<string>',
            'userId' => '<string>',
        ],
        // ...
    ],
    'message' => '<string>',
    'successful' => [
        [
            'userId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
failed
Type: Array of BatchUserErrorResponseItem structures

A list of suspend status toggle attempts that failed, including error details explaining why each user's status could not be changed.

message
Type: string

A message indicating the overall result of the batch suspend status toggle operation.

successful
Type: Array of BatchUserSuccessResponseItem structures

A list of user IDs whose suspend status was successfully toggled.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Suspend multiple users
$result = $client->batchToggleUserSuspendStatus([
    'clientToken' => '6ba7b815-9dad-11d1-80b4-00c04fd430c8',
    'networkId' => '12345678',
    'suspend' => 1,
    'userIds' => [
        '123',
        '456',
    ],
]);

Result syntax:

[
    'failed' => [
    ],
    'message' => 'success',
    'successful' => [
        [
            'userId' => '123',
        ],
        [
            'userId' => '456',
        ],
    ],
]
Example 2: Unsuspend users with partial failure
$result = $client->batchToggleUserSuspendStatus([
    'networkId' => '12345678',
    'suspend' => ,
    'userIds' => [
        '123',
        '456',
    ],
]);

Result syntax:

[
    'failed' => [
        [
            'field' => 'username',
            'reason' => 'User not found',
            'userId' => '456',
        ],
    ],
    'message' => 'partial success',
    'successful' => [
        [
            'userId' => '123',
        ],
    ],
]

CreateBot

$result = $client->createBot([/* ... */]);
$promise = $client->createBotAsync([/* ... */]);

Creates a new bot in a specified Wickr network. Bots are automated accounts that can send and receive messages, enabling integration with external systems and automation of tasks.

Parameter Syntax

$result = $client->createBot([
    'challenge' => '<string>', // REQUIRED
    'displayName' => '<string>',
    'groupId' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
    'username' => '<string>', // REQUIRED
]);

Parameter Details

Members
challenge
Required: Yes
Type: string

The password for the bot account.

displayName
Type: string

The display name for the bot that will be visible to users in the network.

groupId
Required: Yes
Type: string

The ID of the security group to which the bot will be assigned.

networkId
Required: Yes
Type: string

The ID of the Wickr network where the bot will be created.

username
Required: Yes
Type: string

The username for the bot. This must be unique within the network and follow the network's naming conventions.

Result Syntax

[
    'botId' => '<string>',
    'displayName' => '<string>',
    'groupId' => '<string>',
    'message' => '<string>',
    'networkId' => '<string>',
    'username' => '<string>',
]

Result Details

Members
botId
Required: Yes
Type: string

The unique identifier assigned to the newly created bot.

displayName
Type: string

The display name of the newly created bot.

groupId
Type: string

The ID of the security group to which the bot was assigned.

message
Type: string

A message indicating the result of the bot creation operation.

networkId
Type: string

The ID of the network where the bot was created.

username
Type: string

The username of the newly created bot.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Create bot successfully
$result = $client->createBot([
    'challenge' => 'SecureP@ssw0rd123',
    'displayName' => 'Analytics Bot',
    'groupId' => 'analytics_group',
    'networkId' => '12345678',
    'username' => 'analytics_bot',
]);

Result syntax:

[
    'botId' => '98766',
    'displayName' => 'Analytics Bot',
    'groupId' => 'analytics_group',
    'networkId' => '12345678',
    'username' => 'analytics_bot',
]
Example 2: Create bot - username unavailable
$result = $client->createBot([
    'challenge' => 'SecureP@ssw0rd123',
    'displayName' => 'Support Bot',
    'groupId' => 'default_group',
    'networkId' => '12345678',
    'username' => 'support_bot',
]);
Example 3: Create bot - invalid username format
$result = $client->createBot([
    'challenge' => 'SecureP@ssw0rd123',
    'displayName' => 'Test Bot',
    'groupId' => 'default_group',
    'networkId' => '12345678',
    'username' => 'bot@invalid',
]);

CreateDataRetentionBot

$result = $client->createDataRetentionBot([/* ... */]);
$promise = $client->createDataRetentionBotAsync([/* ... */]);

Creates a data retention bot in a Wickr network. Data retention bots are specialized bots that handle message archiving and compliance by capturing and storing messages for regulatory or organizational requirements.

Parameter Syntax

$result = $client->createDataRetentionBot([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network where the data retention bot will be created.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating that the data retention bot was successfully provisioned.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Create data retention bot successfully
$result = $client->createDataRetentionBot([
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'successfully provisioned data retention bot',
]
Example 2: Create data retention bot - users already exist
$result = $client->createDataRetentionBot([
    'networkId' => '12345678',
]);

CreateDataRetentionBotChallenge

$result = $client->createDataRetentionBotChallenge([/* ... */]);
$promise = $client->createDataRetentionBotChallengeAsync([/* ... */]);

Creates a new challenge password for the data retention bot. This password is used for authentication when the bot connects to the network.

Parameter Syntax

$result = $client->createDataRetentionBotChallenge([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network containing the data retention bot.

Result Syntax

[
    'challenge' => '<string>',
]

Result Details

Members
challenge
Required: Yes
Type: string

The newly generated challenge password for the data retention bot.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Create data retention bot challenge successfully
$result = $client->createDataRetentionBotChallenge([
    'networkId' => '12345678',
]);

Result syntax:

[
    'challenge' => 'a1b2c3d4e5f6',
]

CreateNetwork

$result = $client->createNetwork([/* ... */]);
$promise = $client->createNetworkAsync([/* ... */]);

Creates a new Wickr network with specified access level and configuration. This operation provisions a new communication network for your organization.

Parameter Syntax

$result = $client->createNetwork([
    'accessLevel' => 'STANDARD|PREMIUM', // REQUIRED
    'enablePremiumFreeTrial' => true || false,
    'encryptionKeyArn' => '<string>',
    'networkName' => '<string>', // REQUIRED
]);

Parameter Details

Members
accessLevel
Required: Yes
Type: string

The access level for the network. Valid values are STANDARD or PREMIUM, which determine the features and capabilities available to network members.

enablePremiumFreeTrial
Type: boolean

Specifies whether to enable a premium free trial for the network. It is optional and has a default value as false. When set to true, the network starts with premium features for a limited trial period.

encryptionKeyArn
Type: string

The ARN of the Amazon Web Services KMS customer managed key to use for encrypting sensitive data in the network.

networkName
Required: Yes
Type: string

The name for the new network. Must be between 1 and 20 characters.

Result Syntax

[
    'encryptionKeyArn' => '<string>',
    'networkId' => '<string>',
    'networkName' => '<string>',
]

Result Details

Members
encryptionKeyArn
Type: string

The ARN of the KMS key being used to encrypt sensitive data in the network.

networkId
Type: string

The unique identifier assigned to the newly created network.

networkName
Type: string

The name of the newly created network.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Create network successfully
$result = $client->createNetwork([
    'accessLevel' => 'PREMIUM',
    'enablePremiumFreeTrial' => ,
    'networkName' => 'Production Network',
]);

Result syntax:

[
    'networkId' => '12345678',
    'networkName' => 'Production Network',
]
Example 2: Create network with free trial
$result = $client->createNetwork([
    'accessLevel' => 'PREMIUM',
    'enablePremiumFreeTrial' => 1,
    'networkName' => 'Trial Network',
]);

Result syntax:

[
    'networkId' => '87654321',
    'networkName' => 'Trial Network',
]
Example 3: Create network - invalid name
$result = $client->createNetwork([
    'accessLevel' => 'STANDARD',
    'networkName' => 'This network name is way too long',
]);

CreateSecurityGroup

$result = $client->createSecurityGroup([/* ... */]);
$promise = $client->createSecurityGroupAsync([/* ... */]);

Creates a new security group in a Wickr network. Security groups allow you to organize users and control their permissions, features, and security settings.

Parameter Syntax

$result = $client->createSecurityGroup([
    'clientToken' => '<string>',
    'name' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
    'securityGroupSettings' => [ // REQUIRED
        'enableGuestFederation' => true || false,
        'enableRestrictedGlobalFederation' => true || false,
        'federationMode' => <integer>,
        'globalFederation' => true || false,
        'lockoutThreshold' => <integer>,
        'permittedNetworks' => ['<string>', ...],
        'permittedWickrAwsNetworks' => [
            [
                'networkId' => '<string>', // REQUIRED
                'region' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'permittedWickrEnterpriseNetworks' => [
            [
                'domain' => '<string>', // REQUIRED
                'networkId' => '<string>', // REQUIRED
            ],
            // ...
        ],
    ],
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency.

name
Required: Yes
Type: string

The name for the new security group.

networkId
Required: Yes
Type: string

The ID of the Wickr network where the security group will be created.

securityGroupSettings
Required: Yes
Type: SecurityGroupSettingsRequest structure

The configuration settings for the security group, including permissions, federation settings, and feature controls.

Result Syntax

[
    'securityGroup' => [
        'activeDirectoryGuid' => '<string>',
        'activeMembers' => <integer>,
        'botMembers' => <integer>,
        'id' => '<string>',
        'isDefault' => true || false,
        'modified' => <integer>,
        'name' => '<string>',
        'securityGroupSettings' => [
            'alwaysReauthenticate' => true || false,
            'atakPackageValues' => ['<string>', ...],
            'calling' => [
                'canStart11Call' => true || false,
                'canVideoCall' => true || false,
                'forceTcpCall' => true || false,
            ],
            'checkForUpdates' => true || false,
            'enableAtak' => true || false,
            'enableCrashReports' => true || false,
            'enableFileDownload' => true || false,
            'enableGuestFederation' => true || false,
            'enableNotificationPreview' => true || false,
            'enableOpenAccessOption' => true || false,
            'enableRestrictedGlobalFederation' => true || false,
            'federationMode' => <integer>,
            'filesEnabled' => true || false,
            'forceDeviceLockout' => <integer>,
            'forceOpenAccess' => true || false,
            'forceReadReceipts' => true || false,
            'globalFederation' => true || false,
            'isAtoEnabled' => true || false,
            'isLinkPreviewEnabled' => true || false,
            'locationAllowMaps' => true || false,
            'locationEnabled' => true || false,
            'lockoutThreshold' => <integer>,
            'maxAutoDownloadSize' => <integer>,
            'maxBor' => <integer>,
            'maxTtl' => <integer>,
            'messageForwardingEnabled' => true || false,
            'passwordRequirements' => [
                'lowercase' => <integer>,
                'minLength' => <integer>,
                'numbers' => <integer>,
                'symbols' => <integer>,
                'uppercase' => <integer>,
            ],
            'permittedNetworks' => ['<string>', ...],
            'permittedWickrAwsNetworks' => [
                [
                    'networkId' => '<string>',
                    'region' => '<string>',
                ],
                // ...
            ],
            'permittedWickrEnterpriseNetworks' => [
                [
                    'domain' => '<string>',
                    'networkId' => '<string>',
                ],
                // ...
            ],
            'presenceEnabled' => true || false,
            'quickResponses' => ['<string>', ...],
            'showMasterRecoveryKey' => true || false,
            'shredder' => [
                'canProcessManually' => true || false,
                'intensity' => <integer>,
            ],
            'ssoMaxIdleMinutes' => <integer>,
        ],
    ],
]

Result Details

Members
securityGroup
Required: Yes
Type: SecurityGroup structure

The details of the newly created security group, including its ID, name, and settings.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Create security group successfully
$result = $client->createSecurityGroup([
    'name' => 'engineering',
    'networkId' => '12345678',
    'securityGroupSettings' => [
        'federationMode' => 1,
        'lockoutThreshold' => 10,
    ],
]);

Result syntax:

[
    'securityGroup' => [
        'name' => 'engineering',
        'activeMembers' => 0,
        'botMembers' => 0,
        'id' => 'def67890',
        'isDefault' => ,
        'modified' => 1638360000,
        'securityGroupSettings' => [
            'federationMode' => 1,
            'lockoutThreshold' => 10,
        ],
    ],
]
Example 2: Create security group - missing name
$result = $client->createSecurityGroup([
    'name' => '',
    'networkId' => '12345678',
    'securityGroupSettings' => [
        'federationMode' => 1,
    ],
]);

DeleteBot

$result = $client->deleteBot([/* ... */]);
$promise = $client->deleteBotAsync([/* ... */]);

Deletes a bot from a specified Wickr network. This operation permanently removes the bot account and its associated data from the network.

Parameter Syntax

$result = $client->deleteBot([
    'botId' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
botId
Required: Yes
Type: string

The unique identifier of the bot to be deleted.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which the bot will be deleted.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating the result of the bot deletion operation.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Delete bot successfully
$result = $client->deleteBot([
    'botId' => '98765',
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'success',
]
Example 2: Delete bot - bot not found
$result = $client->deleteBot([
    'botId' => '99999',
    'networkId' => '12345678',
]);

DeleteDataRetentionBot

$result = $client->deleteDataRetentionBot([/* ... */]);
$promise = $client->deleteDataRetentionBotAsync([/* ... */]);

Deletes the data retention bot from a Wickr network. This operation permanently removes the bot and all its associated data from the database.

Parameter Syntax

$result = $client->deleteDataRetentionBot([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network from which the data retention bot will be deleted.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating that the data retention bot and all associated data were successfully deleted.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Delete data retention bot successfully
$result = $client->deleteDataRetentionBot([
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'deleted data retention bot and all associated data from the database',
]

DeleteNetwork

$result = $client->deleteNetwork([/* ... */]);
$promise = $client->deleteNetworkAsync([/* ... */]);

Deletes a Wickr network and all its associated resources, including users, bots, security groups, and settings. This operation is permanent and cannot be undone.

Parameter Syntax

$result = $client->deleteNetwork([
    'clientToken' => '<string>',
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without attempting to delete the network again.

networkId
Required: Yes
Type: string

The ID of the Wickr network to delete.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating that the network deletion has been initiated successfully.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Delete network successfully
$result = $client->deleteNetwork([
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'Network deletion initiated successfully',
]
Example 2: Delete network - not found
$result = $client->deleteNetwork([
    'networkId' => '99999999',
]);

DeleteSecurityGroup

$result = $client->deleteSecurityGroup([/* ... */]);
$promise = $client->deleteSecurityGroupAsync([/* ... */]);

Deletes a security group from a Wickr network. This operation cannot be performed on the default security group.

Parameter Syntax

$result = $client->deleteSecurityGroup([
    'groupId' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
groupId
Required: Yes
Type: string

The unique identifier of the security group to delete.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which the security group will be deleted.

Result Syntax

[
    'groupId' => '<string>',
    'message' => '<string>',
    'networkId' => '<string>',
]

Result Details

Members
groupId
Type: string

The ID of the security group that was deleted.

message
Type: string

A message indicating the result of the security group deletion operation.

networkId
Type: string

The ID of the network from which the security group was deleted.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Delete security group successfully
$result = $client->deleteSecurityGroup([
    'groupId' => 'def67890',
    'networkId' => '12345678',
]);

Result syntax:

[
    'groupId' => 'def67890',
    'message' => 'success',
    'networkId' => '12345678',
]
Example 2: Delete security group - not found
$result = $client->deleteSecurityGroup([
    'groupId' => 'invalid99',
    'networkId' => '12345678',
]);

GetBot

$result = $client->getBot([/* ... */]);
$promise = $client->getBotAsync([/* ... */]);

Retrieves detailed information about a specific bot in a Wickr network, including its status, group membership, and authentication details.

Parameter Syntax

$result = $client->getBot([
    'botId' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
botId
Required: Yes
Type: string

The unique identifier of the bot to retrieve.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the bot.

Result Syntax

[
    'botId' => '<string>',
    'displayName' => '<string>',
    'groupId' => '<string>',
    'hasChallenge' => true || false,
    'lastLogin' => '<string>',
    'pubkey' => '<string>',
    'status' => <integer>,
    'suspended' => true || false,
    'uname' => '<string>',
    'username' => '<string>',
]

Result Details

Members
botId
Type: string

The unique identifier of the bot.

displayName
Type: string

The display name of the bot that is visible to users.

groupId
Type: string

The ID of the security group to which the bot belongs.

hasChallenge
Type: boolean

Indicates whether the bot has a password set.

lastLogin
Type: string

The timestamp of the bot's last login.

pubkey
Type: string

The public key of the bot used for encryption.

status
Type: int

The current status of the bot (1 for pending, 2 for active).

suspended
Type: boolean

Indicates whether the bot is currently suspended.

uname
Type: string

The unique username hash identifier for the bot.

username
Type: string

The username of the bot.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get bot successfully
$result = $client->getBot([
    'botId' => '98765',
    'networkId' => '12345678',
]);

Result syntax:

[
    'botId' => '98765',
    'displayName' => 'Support Bot',
    'groupId' => 'default_group',
    'hasChallenge' => 1,
    'lastLogin' => '1704067200',
    'pubkey' => 'LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF4',
    'status' => 2,
    'suspended' => ,
    'uname' => 'abc123def456',
    'username' => 'support_bot',
]
Example 2: Get bot - bot not found
$result = $client->getBot([
    'botId' => '99999',
    'networkId' => '12345678',
]);

GetBotsCount

$result = $client->getBotsCount([/* ... */]);
$promise = $client->getBotsCountAsync([/* ... */]);

Retrieves the count of bots in a Wickr network, categorized by their status (pending, active, and total).

Parameter Syntax

$result = $client->getBotsCount([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network for which to retrieve bot counts.

Result Syntax

[
    'active' => <integer>,
    'pending' => <integer>,
    'total' => <integer>,
]

Result Details

Members
active
Required: Yes
Type: int

The number of bots with active status.

pending
Required: Yes
Type: int

The number of bots with pending status (invited but not yet activated).

total
Required: Yes
Type: int

The total number of bots in the network (active and pending).

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get bots count successfully
$result = $client->getBotsCount([
    'networkId' => '12345678',
]);

Result syntax:

[
    'active' => 12,
    'pending' => 2,
    'total' => 15,
]
Example 2: Get bots count with filters
$result = $client->getBotsCount([
    'networkId' => '12345678',
]);

Result syntax:

[
    'active' => 12,
    'pending' => 0,
    'total' => 12,
]

GetDataRetentionBot

$result = $client->getDataRetentionBot([/* ... */]);
$promise = $client->getDataRetentionBotAsync([/* ... */]);

Retrieves information about the data retention bot in a Wickr network, including its status and whether the data retention service is enabled.

Parameter Syntax

$result = $client->getDataRetentionBot([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network containing the data retention bot.

Result Syntax

[
    'botExists' => true || false,
    'botName' => '<string>',
    'isBotActive' => true || false,
    'isDataRetentionBotRegistered' => true || false,
    'isDataRetentionServiceEnabled' => true || false,
    'isPubkeyMsgAcked' => true || false,
]

Result Details

Members
botExists
Type: boolean

Indicates whether a data retention bot exists in the network.

botName
Type: string

The name of the data retention bot.

isBotActive
Type: boolean

Indicates whether the data retention bot is active and operational.

isDataRetentionBotRegistered
Type: boolean

Indicates whether the data retention bot has been registered with the network.

isDataRetentionServiceEnabled
Type: boolean

Indicates whether the data retention service is enabled for the network.

isPubkeyMsgAcked
Type: boolean

Indicates whether the public key message has been acknowledged by the bot.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get data retention bot successfully
$result = $client->getDataRetentionBot([
    'networkId' => '12345678',
]);

Result syntax:

[
    'botExists' => 1,
    'botName' => 'compliance_12345678_bot',
    'isBotActive' => 1,
    'isDataRetentionBotRegistered' => 1,
    'isDataRetentionServiceEnabled' => 1,
    'isPubkeyMsgAcked' => ,
]
Example 2: Get data retention bot - not provisioned
$result = $client->getDataRetentionBot([
    'networkId' => '12345678',
]);

Result syntax:

[
    'botExists' => ,
    'botName' => 'compliance_12345678_bot',
    'isBotActive' => ,
    'isDataRetentionBotRegistered' => ,
    'isDataRetentionServiceEnabled' => ,
    'isPubkeyMsgAcked' => ,
]

GetGuestUserHistoryCount

$result = $client->getGuestUserHistoryCount([/* ... */]);
$promise = $client->getGuestUserHistoryCountAsync([/* ... */]);

Retrieves historical guest user count data for a Wickr network, showing the number of guest users per billing period over the past 90 days.

Parameter Syntax

$result = $client->getGuestUserHistoryCount([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network for which to retrieve guest user history.

Result Syntax

[
    'history' => [
        [
            'count' => '<string>',
            'month' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
history
Required: Yes
Type: Array of GuestUserHistoryCount structures

A list of historical guest user counts, organized by month and billing period.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get guest user history count
$result = $client->getGuestUserHistoryCount([
    'networkId' => '12345678',
]);

Result syntax:

[
    'history' => [
        [
            'count' => '32',
            'month' => '2024_01',
        ],
        [
            'count' => '28',
            'month' => '2023_12',
        ],
        [
            'count' => '35',
            'month' => '2023_11',
        ],
        [
            'count' => '22',
            'month' => '2023_10',
        ],
        [
            'count' => '18',
            'month' => '2023_09',
        ],
        [
            'count' => '15',
            'month' => '2023_08',
        ],
    ],
]
Example 2: Empty response for network with no guest user history
$result = $client->getGuestUserHistoryCount([
    'networkId' => '87654321',
]);

Result syntax:

[
    'history' => [
    ],
]

GetNetwork

$result = $client->getNetwork([/* ... */]);
$promise = $client->getNetworkAsync([/* ... */]);

Retrieves detailed information about a specific Wickr network, including its configuration, access level, and status.

Parameter Syntax

$result = $client->getNetwork([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network to retrieve.

Result Syntax

[
    'accessLevel' => 'STANDARD|PREMIUM',
    'awsAccountId' => '<string>',
    'encryptionKeyArn' => '<string>',
    'freeTrialExpiration' => '<string>',
    'migrationState' => <integer>,
    'networkArn' => '<string>',
    'networkId' => '<string>',
    'networkName' => '<string>',
    'standing' => <integer>,
]

Result Details

Members
accessLevel
Required: Yes
Type: string

The access level of the network (STANDARD or PREMIUM), which determines available features and capabilities.

awsAccountId
Required: Yes
Type: string

The Amazon Web Services account ID that owns the network.

encryptionKeyArn
Type: string

The ARN of the Amazon Web Services KMS customer managed key used for encrypting sensitive data in the network.

freeTrialExpiration
Type: string

The expiration date and time for the network's free trial period, if applicable.

migrationState
Type: int

The SSO redirect URI migration state, managed by the SSO redirect migration wizard. Values: 0 (not started), 1 (in progress), or 2 (completed).

networkArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the network.

networkId
Required: Yes
Type: string

The unique identifier of the network.

networkName
Required: Yes
Type: string

The name of the network.

standing
Type: int

The current standing or status of the network.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get network successfully
$result = $client->getNetwork([
    'networkId' => '12345678',
]);

Result syntax:

[
    'accessLevel' => 'PREMIUM',
    'awsAccountId' => '123456789012',
    'migrationState' => 0,
    'networkArn' => 'arn:aws:wickr:us-east-1:123456789012:network/12345678',
    'networkId' => '12345678',
    'networkName' => 'Production Network',
    'standing' => 1,
]
Example 2: Get network - not found
$result = $client->getNetwork([
    'networkId' => '99999999',
]);

GetNetworkSettings

$result = $client->getNetworkSettings([/* ... */]);
$promise = $client->getNetworkSettingsAsync([/* ... */]);

Retrieves all network-level settings for a Wickr network, including client metrics, data retention, and other configuration options.

Parameter Syntax

$result = $client->getNetworkSettings([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network whose settings will be retrieved.

Result Syntax

[
    'settings' => [
        [
            'optionName' => '<string>',
            'type' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
settings
Required: Yes
Type: Array of Setting structures

A list of network settings, where each setting includes a name, value, and type.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get network settings with mixed value types
$result = $client->getNetworkSettings([
    'networkId' => '12345678',
]);

Result syntax:

[
    'settings' => [
        [
            'type' => 'boolean',
            'value' => 'true',
            'optionName' => 'enableClientMetrics',
        ],
        [
            'type' => 'boolean',
            'value' => 'true',
            'optionName' => 'dataRetention',
        ],
    ],
]
Example 2: Get settings for network with defaults only
$result = $client->getNetworkSettings([
    'networkId' => '87654321',
]);

Result syntax:

[
    'settings' => [
        [
            'type' => 'boolean',
            'value' => 'false',
            'optionName' => 'enableClientMetrics',
        ],
        [
            'type' => 'boolean',
            'value' => 'false',
            'optionName' => 'dataRetention',
        ],
    ],
]
Example 3: Network not found error
$result = $client->getNetworkSettings([
    'networkId' => '99999999',
]);

GetOidcInfo

$result = $client->getOidcInfo([/* ... */]);
$promise = $client->getOidcInfoAsync([/* ... */]);

Retrieves the OpenID Connect (OIDC) configuration for a Wickr network, including SSO settings and optional token information if access token parameters are provided.

Parameter Syntax

$result = $client->getOidcInfo([
    'certificate' => '<string>',
    'clientId' => '<string>',
    'clientSecret' => '<string>',
    'code' => '<string>',
    'codeVerifier' => '<string>',
    'grantType' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'redirectUri' => '<string>',
    'url' => '<string>',
]);

Parameter Details

Members
certificate
Type: string

The CA certificate for secure communication with the OIDC provider (optional).

clientId
Type: string

The OAuth client ID for retrieving access tokens (optional).

clientSecret
Type: string

The OAuth client secret for retrieving access tokens (optional).

code
Type: string

The authorization code for retrieving access tokens (optional).

codeVerifier
Type: string

The PKCE code verifier for enhanced security in the OAuth flow (optional).

grantType
Type: string

The OAuth grant type for retrieving access tokens (optional).

networkId
Required: Yes
Type: string

The ID of the Wickr network whose OIDC configuration will be retrieved.

redirectUri
Type: string

The redirect URI for the OAuth flow (optional).

url
Type: string

The URL for the OIDC provider (optional).

Result Syntax

[
    'openidConnectInfo' => [
        'applicationId' => <integer>,
        'applicationName' => '<string>',
        'caCertificate' => '<string>',
        'clientId' => '<string>',
        'clientSecret' => '<string>',
        'companyId' => '<string>',
        'customUsername' => '<string>',
        'extraAuthParams' => '<string>',
        'issuer' => '<string>',
        'redirectUrl' => '<string>',
        'scopes' => '<string>',
        'secret' => '<string>',
        'ssoTokenBufferMinutes' => <integer>,
        'userId' => '<string>',
    ],
    'tokenInfo' => [
        'accessToken' => '<string>',
        'codeChallenge' => '<string>',
        'codeVerifier' => '<string>',
        'expiresIn' => <integer>,
        'idToken' => '<string>',
        'refreshToken' => '<string>',
        'tokenType' => '<string>',
    ],
]

Result Details

Members
openidConnectInfo
Type: OidcConfigInfo structure

The OpenID Connect configuration information for the network, including issuer, client ID, scopes, and other SSO settings.

tokenInfo
Type: OidcTokenInfo structure

OAuth token information including access token, refresh token, and expiration details (only present if token parameters were provided in the request).

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get OIDC info successfully
$result = $client->getOidcInfo([
    'networkId' => '12345678',
]);

Result syntax:

[
    'openidConnectInfo' => [
        'clientId' => 'client123',
        'companyId' => 'us-east-1-company123',
        'issuer' => 'https://login.example.com',
        'redirectUrl' => 'https://app.wickr.com/callback',
        'scopes' => 'openid profile email',
        'ssoTokenBufferMinutes' => 5,
        'userId' => 'email',
    ],
]
Example 2: Get OIDC info - not configured
$result = $client->getOidcInfo([
    'networkId' => '12345678',
]);

Result syntax:

[
    'openidConnectInfo' => [
        'companyId' => '',
        'issuer' => '',
        'scopes' => '',
    ],
]

GetSecurityGroup

$result = $client->getSecurityGroup([/* ... */]);
$promise = $client->getSecurityGroupAsync([/* ... */]);

Retrieves detailed information about a specific security group in a Wickr network, including its settings, member counts, and configuration.

Parameter Syntax

$result = $client->getSecurityGroup([
    'groupId' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
groupId
Required: Yes
Type: string

The unique identifier of the security group to retrieve.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the security group.

Result Syntax

[
    'securityGroup' => [
        'activeDirectoryGuid' => '<string>',
        'activeMembers' => <integer>,
        'botMembers' => <integer>,
        'id' => '<string>',
        'isDefault' => true || false,
        'modified' => <integer>,
        'name' => '<string>',
        'securityGroupSettings' => [
            'alwaysReauthenticate' => true || false,
            'atakPackageValues' => ['<string>', ...],
            'calling' => [
                'canStart11Call' => true || false,
                'canVideoCall' => true || false,
                'forceTcpCall' => true || false,
            ],
            'checkForUpdates' => true || false,
            'enableAtak' => true || false,
            'enableCrashReports' => true || false,
            'enableFileDownload' => true || false,
            'enableGuestFederation' => true || false,
            'enableNotificationPreview' => true || false,
            'enableOpenAccessOption' => true || false,
            'enableRestrictedGlobalFederation' => true || false,
            'federationMode' => <integer>,
            'filesEnabled' => true || false,
            'forceDeviceLockout' => <integer>,
            'forceOpenAccess' => true || false,
            'forceReadReceipts' => true || false,
            'globalFederation' => true || false,
            'isAtoEnabled' => true || false,
            'isLinkPreviewEnabled' => true || false,
            'locationAllowMaps' => true || false,
            'locationEnabled' => true || false,
            'lockoutThreshold' => <integer>,
            'maxAutoDownloadSize' => <integer>,
            'maxBor' => <integer>,
            'maxTtl' => <integer>,
            'messageForwardingEnabled' => true || false,
            'passwordRequirements' => [
                'lowercase' => <integer>,
                'minLength' => <integer>,
                'numbers' => <integer>,
                'symbols' => <integer>,
                'uppercase' => <integer>,
            ],
            'permittedNetworks' => ['<string>', ...],
            'permittedWickrAwsNetworks' => [
                [
                    'networkId' => '<string>',
                    'region' => '<string>',
                ],
                // ...
            ],
            'permittedWickrEnterpriseNetworks' => [
                [
                    'domain' => '<string>',
                    'networkId' => '<string>',
                ],
                // ...
            ],
            'presenceEnabled' => true || false,
            'quickResponses' => ['<string>', ...],
            'showMasterRecoveryKey' => true || false,
            'shredder' => [
                'canProcessManually' => true || false,
                'intensity' => <integer>,
            ],
            'ssoMaxIdleMinutes' => <integer>,
        ],
    ],
]

Result Details

Members
securityGroup
Required: Yes
Type: SecurityGroup structure

The detailed information about the security group, including all its settings and member counts.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get security group successfully
$result = $client->getSecurityGroup([
    'groupId' => 'abc12345',
    'networkId' => '12345678',
]);

Result syntax:

[
    'securityGroup' => [
        'name' => 'default',
        'activeMembers' => 50,
        'botMembers' => 5,
        'id' => 'abc12345',
        'isDefault' => 1,
        'modified' => 1638360000,
        'securityGroupSettings' => [
            'federationMode' => 1,
            'lockoutThreshold' => 10,
        ],
    ],
]
Example 2: Get security group - not found
$result = $client->getSecurityGroup([
    'groupId' => 'invalid99',
    'networkId' => '12345678',
]);

GetUser

$result = $client->getUser([/* ... */]);
$promise = $client->getUserAsync([/* ... */]);

Retrieves detailed information about a specific user in a Wickr network, including their profile, status, and activity history.

Parameter Syntax

$result = $client->getUser([
    'endTime' => <integer || string || DateTime>,
    'networkId' => '<string>', // REQUIRED
    'startTime' => <integer || string || DateTime>,
    'userId' => '<string>', // REQUIRED
]);

Parameter Details

Members
endTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end time for filtering the user's last activity. Only activity before this timestamp will be considered. Time is specified in epoch seconds.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the user.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start time for filtering the user's last activity. Only activity after this timestamp will be considered. Time is specified in epoch seconds.

userId
Required: Yes
Type: string

The unique identifier of the user to retrieve.

Result Syntax

[
    'firstName' => '<string>',
    'isAdmin' => true || false,
    'lastActivity' => <integer>,
    'lastLogin' => <integer>,
    'lastName' => '<string>',
    'securityGroupIds' => ['<string>', ...],
    'status' => <integer>,
    'suspended' => true || false,
    'userId' => '<string>',
    'username' => '<string>',
]

Result Details

Members
firstName
Type: string

The first name of the user.

isAdmin
Type: boolean

Indicates whether the user has administrator privileges in the network.

lastActivity
Type: int

The timestamp of the user's last activity in the network, specified in epoch seconds.

lastLogin
Type: int

The timestamp of the user's last login to the network, specified in epoch seconds.

lastName
Type: string

The last name of the user.

securityGroupIds
Type: Array of strings

A list of security group IDs to which the user belongs.

status
Type: int

The current status of the user (1 for pending, 2 for active).

suspended
Type: boolean

Indicates whether the user is currently suspended.

userId
Required: Yes
Type: string

The unique identifier of the user.

username
Type: string

The email address or username of the user.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get user information
$result = $client->getUser([
    'networkId' => '12345678',
    'userId' => '12345',
]);

Result syntax:

[
    'firstName' => 'John',
    'isAdmin' => ,
    'lastActivity' => 1705500000,
    'lastLogin' => 1705499000,
    'lastName' => 'Doe',
    'securityGroupIds' => [
        'BCTY8Qhe',
    ],
    'status' => 2,
    'suspended' => ,
    'userId' => '12345',
    'username' => 'john.doe@example.com',
]
Example 2: Get user info with activity time range
$result = $client->getUser([
    'endTime' => ,
    'networkId' => '12345678',
    'startTime' => ,
    'userId' => '12345',
]);

Result syntax:

[
    'firstName' => 'Jane',
    'isAdmin' => 1,
    'lastActivity' => 1705400000,
    'lastLogin' => 1705350000,
    'lastName' => 'Admin',
    'securityGroupIds' => [
        'BCTY8Qhe',
        'ADMIN001',
    ],
    'status' => 2,
    'suspended' => ,
    'userId' => '12345',
    'username' => 'jane.admin@example.com',
]
Example 3: User not found error
$result = $client->getUser([
    'networkId' => '12345678',
    'userId' => '99999',
]);
Example 4: Invalid userId error
$result = $client->getUser([
    'networkId' => '12345678',
    'userId' => '99999',
]);

GetUsersCount

$result = $client->getUsersCount([/* ... */]);
$promise = $client->getUsersCountAsync([/* ... */]);

Retrieves the count of users in a Wickr network, categorized by their status (pending, active, rejected) and showing how many users can still be added.

Parameter Syntax

$result = $client->getUsersCount([
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network for which to retrieve user counts.

Result Syntax

[
    'active' => <integer>,
    'pending' => <integer>,
    'rejected' => <integer>,
    'remaining' => <integer>,
    'total' => <integer>,
]

Result Details

Members
active
Required: Yes
Type: int

The number of users with active status in the network.

pending
Required: Yes
Type: int

The number of users with pending status (invited but not yet accepted).

rejected
Required: Yes
Type: int

The number of users who have rejected network invitations.

remaining
Required: Yes
Type: int

The number of additional users that can be added to the network while maintaining premium free trial eligibility.

total
Required: Yes
Type: int

The total number of users in the network (active and pending combined).

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get user counts for network
$result = $client->getUsersCount([
    'networkId' => '12345678',
]);

Result syntax:

[
    'active' => 25,
    'pending' => 5,
    'rejected' => 2,
    'remaining' => 15,
    'total' => 32,
]
Example 2: Network with no users
$result = $client->getUsersCount([
    'networkId' => '87654321',
]);

Result syntax:

[
    'active' => 0,
    'pending' => 0,
    'rejected' => 0,
    'remaining' => 50,
    'total' => 0,
]

ListBlockedGuestUsers

$result = $client->listBlockedGuestUsers([/* ... */]);
$promise = $client->listBlockedGuestUsersAsync([/* ... */]);

Retrieves a paginated list of guest users who have been blocked from a Wickr network. You can filter and sort the results.

Parameter Syntax

$result = $client->listBlockedGuestUsers([
    'admin' => '<string>',
    'maxResults' => <integer>,
    'networkId' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
    'username' => '<string>',
]);

Parameter Details

Members
admin
Type: string

Filter results to only include blocked guest users that were blocked by this administrator.

maxResults
Type: int

The maximum number of blocked guest users to return in a single page. Valid range is 1-100. Default is 10.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which to list blocked guest users.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The field to sort blocked guest users by. Accepted values include 'username', 'admin', and 'modified'.

username
Type: string

Filter results to only include blocked guest users with usernames matching this value.

Result Syntax

[
    'blocklist' => [
        [
            'admin' => '<string>',
            'modified' => '<string>',
            'username' => '<string>',
            'usernameHash' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
blocklist
Required: Yes
Type: Array of BlockedGuestUser structures

A list of blocked guest user objects within the current page.

nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get paginated list of blocked guest users
$result = $client->listBlockedGuestUsers([
    'maxResults' => 10,
    'networkId' => '12345678',
    'sortDirection' => 'DESC',
    'sortFields' => 'modified',
]);

Result syntax:

[
    'blocklist' => [
        [
            'admin' => 'admin@company.com',
            'modified' => '2024-01-15 10:30:00',
            'username' => 'blocked.user1@example.com',
            'usernameHash' => '032c36d5623781204592a69269ed9480d604484269c8a4c2d39528885a56470d',
        ],
        [
            'admin' => 'admin@company.com',
            'modified' => '2024-01-10 14:20:00',
            'username' => 'blocked.user2@example.com',
            'usernameHash' => '032c36d5623781204592a69269ed9480d604484269c8a4c2d39528885a56470d',
        ],
        [
            'admin' => 'security@company.com',
            'modified' => '2024-01-05 09:15:00',
            'username' => 'blocked.user3@example.com',
            'usernameHash' => '032c36d5623781204592a69269ed9480d604484269c8a4c2d39528885a56470d',
        ],
    ],
    'nextToken' => 'v1:pagination:f47ac10b-58cc-4372-a567-0e02b2c3d479',
]
Example 2: Filter by username
$result = $client->listBlockedGuestUsers([
    'networkId' => '12345678',
    'username' => 'john.doe@example.com',
]);

Result syntax:

[
    'blocklist' => [
        [
            'admin' => 'admin@company.com',
            'modified' => '2023-12-20 16:45:00',
            'username' => 'john.doe@example.com',
            'usernameHash' => '032c36d5623781204592a69269ed9480d604484269c8a4c2d39528885a56470d',
        ],
    ],
]
Example 3: Empty blocklist
$result = $client->listBlockedGuestUsers([
    'networkId' => '12345678',
]);

Result syntax:

[
    'blocklist' => [
    ],
]

ListBots

$result = $client->listBots([/* ... */]);
$promise = $client->listBotsAsync([/* ... */]);

Retrieves a paginated list of bots in a specified Wickr network. You can filter and sort the results based on various criteria.

Parameter Syntax

$result = $client->listBots([
    'displayName' => '<string>',
    'groupId' => '<string>',
    'maxResults' => <integer>,
    'networkId' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
    'status' => <integer>,
    'username' => '<string>',
]);

Parameter Details

Members
displayName
Type: string

Filter results to only include bots with display names matching this value.

groupId
Type: string

Filter results to only include bots belonging to this security group.

maxResults
Type: int

The maximum number of bots to return in a single page. Valid range is 1-100. Default is 10.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which to list bots.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The fields to sort bots by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', 'displayName', 'status', and 'groupId'.

status
Type: int

Filter results to only include bots with this status (1 for pending, 2 for active).

username
Type: string

Filter results to only include bots with usernames matching this value.

Result Syntax

[
    'bots' => [
        [
            'botId' => '<string>',
            'displayName' => '<string>',
            'groupId' => '<string>',
            'hasChallenge' => true || false,
            'lastLogin' => '<string>',
            'pubkey' => '<string>',
            'status' => <integer>,
            'suspended' => true || false,
            'uname' => '<string>',
            'username' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
bots
Required: Yes
Type: Array of Bot structures

A list of bot objects matching the specified filters and within the current page.

nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: List bots with pagination
$result = $client->listBots([
    'maxResults' => 10,
    'networkId' => '12345678',
    'sortDirection' => 'ASC',
    'sortFields' => 'username',
]);

Result syntax:

[
    'bots' => [
        [
            'botId' => '98765',
            'displayName' => 'Analytics Bot',
            'groupId' => 'analytics_group',
            'hasChallenge' => 1,
            'lastLogin' => '1704067200',
            'pubkey' => 'LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF4',
            'status' => 2,
            'suspended' => ,
            'uname' => 'abc123def456',
            'username' => 'analytics_bot',
        ],
        [
            'botId' => '98766',
            'displayName' => 'Support Bot',
            'groupId' => 'support_group',
            'hasChallenge' => 1,
            'lastLogin' => '1704153600',
            'pubkey' => 'LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5',
            'status' => 2,
            'suspended' => ,
            'uname' => 'def456ghi789',
            'username' => 'support_bot',
        ],
    ],
    'nextToken' => 'eyJzdGFydEluZGV4IjoxMH0=',
]
Example 2: List bots with filters
$result = $client->listBots([
    'displayName' => 'Support',
    'maxResults' => 10,
    'networkId' => '12345678',
    'status' => 2,
]);

Result syntax:

[
    'bots' => [
        [
            'botId' => '98766',
            'displayName' => 'Support Bot',
            'groupId' => 'support_group',
            'hasChallenge' => 1,
            'lastLogin' => '1704153600',
            'pubkey' => 'LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5',
            'status' => 2,
            'suspended' => ,
            'uname' => 'def456ghi789',
            'username' => 'support_bot',
        ],
    ],
]

ListDevicesForUser

$result = $client->listDevicesForUser([/* ... */]);
$promise = $client->listDevicesForUserAsync([/* ... */]);

Retrieves a paginated list of devices associated with a specific user in a Wickr network. This operation returns information about all devices where the user has logged into Wickr.

Parameter Syntax

$result = $client->listDevicesForUser([
    'maxResults' => <integer>,
    'networkId' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
    'userId' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of devices to return in a single page. Valid range is 1-100. Default is 10.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the user.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The fields to sort devices by. Multiple fields can be specified by separating them with '+'. Accepted values include 'lastlogin', 'type', 'suspend', and 'created'.

userId
Required: Yes
Type: string

The unique identifier of the user whose devices will be listed.

Result Syntax

[
    'devices' => [
        [
            'appId' => '<string>',
            'created' => '<string>',
            'lastLogin' => '<string>',
            'statusText' => '<string>',
            'suspend' => true || false,
            'type' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
devices
Required: Yes
Type: Array of BasicDeviceObject structures

A list of device objects associated with the user within the current page.

nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Successful device list retrieval
$result = $client->listDevicesForUser([
    'maxResults' => 10,
    'networkId' => '12345678',
    'sortDirection' => 'DESC',
    'sortFields' => 'appId',
    'userId' => '12345',
]);

Result syntax:

[
    'devices' => [
        [
            'type' => 'mobile',
            'appId' => 'd3135a42dcb6437780b16c3ca9581fe64e6822773cd6b965d25fc9929c89aca6',
            'created' => 'January 15th 2024, 2:30:45 pm',
            'lastLogin' => 'January 20th 2024, 9:15:30 am',
            'statusText' => 'Active',
            'suspend' => ,
        ],
        [
            'type' => 'desktop',
            'appId' => 'e4246b53edc7548891c27d4da0692fe75f7933884de7c076e36gca030d90bdb7',
            'created' => 'December 10th 2023, 11:45:20 am',
            'lastLogin' => 'January 18th 2024, 4:20:15 pm',
            'statusText' => 'Suspended',
            'suspend' => 1,
        ],
    ],
]
Example 2: Retrieving subsequent page of devices
$result = $client->listDevicesForUser([
    'maxResults' => 10,
    'networkId' => '12345678',
    'nextToken' => 'v1:pagination:6ba7b810-9dad-11d1-80b4-00c04fd430c8',
    'userId' => '12345',
]);

Result syntax:

[
    'devices' => [
        [
            'type' => 'web',
            'appId' => 'f5357c64fde8659002c38e5db1804gf86g8044995ef8d187f47hdb141e01dce8',
            'created' => 'January 1st 2024, 12:00:00 pm',
            'lastLogin' => 'January 21st 2024, 8:22:00 am',
            'statusText' => 'Active',
            'suspend' => ,
        ],
        [
            'type' => 'mobile',
            'appId' => 'g6468d75gef9760113d49f6ec2915hg97h9155aa6fg9e298g58iec252f12edf9',
            'created' => 'December 24th 2023, 4:00:00 pm',
            'lastLogin' => 'January 20th 2024, 9:15:30 am',
            'statusText' => 'Active',
            'suspend' => ,
        ],
    ],
    'nextToken' => 'v1:pagination:7cb8c921-aebe-22e2-91c5-11d05fe541d9',
]
Example 3: Invalid userId error
$result = $client->listDevicesForUser([
    'maxResults' => 10,
    'networkId' => '12345678',
    'userId' => '99999',
]);

ListGuestUsers

$result = $client->listGuestUsers([/* ... */]);
$promise = $client->listGuestUsersAsync([/* ... */]);

Retrieves a paginated list of guest users who have communicated with your Wickr network. Guest users are external users from federated networks who can communicate with network members.

Parameter Syntax

$result = $client->listGuestUsers([
    'billingPeriod' => '<string>',
    'maxResults' => <integer>,
    'networkId' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
    'username' => '<string>',
]);

Parameter Details

Members
billingPeriod
Type: string

Filter results to only include guest users from this billing period (e.g., '2024-01').

maxResults
Type: int

The maximum number of guest users to return in a single page. Valid range is 1-100. Default is 10.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which to list guest users.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The field to sort guest users by. Accepted values include 'username' and 'billingPeriod'.

username
Type: string

Filter results to only include guest users with usernames matching this value.

Result Syntax

[
    'guestlist' => [
        [
            'billingPeriod' => '<string>',
            'username' => '<string>',
            'usernameHash' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
guestlist
Required: Yes
Type: Array of GuestUser structures

A list of guest user objects within the current page.

nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get paginated list of guest users
$result = $client->listGuestUsers([
    'maxResults' => 20,
    'networkId' => '12345678',
    'sortDirection' => 'DESC',
    'sortFields' => 'billingPeriod',
]);

Result syntax:

[
    'guestlist' => [
        [
            'billingPeriod' => '2024-01',
            'username' => 'guest1@example.com',
            'usernameHash' => 'e8e55b924aee6554edb87816c66704564504d25fbb95fc4dbc944feb977cbc26',
        ],
        [
            'billingPeriod' => '2024-01',
            'username' => 'guest2@example.com',
            'usernameHash' => 'a9e55b924aee6554edb87816c66704564504d25fbb95fc4dbc944feb977cbc26',
        ],
        [
            'billingPeriod' => '2023-12',
            'username' => 'guest3@example.com',
            'usernameHash' => 'c3e55b924aee6554edb87816c66704564504d25fbb95fc4dbc944feb977cbc26',
        ],
        [
            'billingPeriod' => '2023-12',
            'username' => 'guest4@example.com',
            'usernameHash' => 'k2e55b924aee6554edb87816c66704564504d25fbb95fc4dbc944feb977cbc26',
        ],
    ],
    'nextToken' => 'v1:pagination:550e8400-e29b-41d4-a716-446655440000',
]
Example 2: Filter by billing period
$result = $client->listGuestUsers([
    'billingPeriod' => '2024-01',
    'maxResults' => 10,
    'networkId' => '12345678',
]);

Result syntax:

[
    'guestlist' => [
        [
            'billingPeriod' => '2024-01',
            'username' => 'guest1@example.com',
            'usernameHash' => 'e8e55b924aee6554edb87816c66704564504d25fbb95fc4dbc944feb977cbc26',
        ],
        [
            'billingPeriod' => '2024-01',
            'username' => 'guest2@example.com',
            'usernameHash' => 'a9e55b924aee6554edb87816c66704564504d25fbb95fc4dbc944feb977cbc26',
        ],
    ],
    'nextToken' => 'v1:pagination:6ba7b810-9dad-11d1-80b4-00c04fd430c8',
]
Example 3: Empty guest list
$result = $client->listGuestUsers([
    'networkId' => '87654321',
]);

Result syntax:

[
    'guestlist' => [
    ],
]

ListNetworks

$result = $client->listNetworks([/* ... */]);
$promise = $client->listNetworksAsync([/* ... */]);

Retrieves a paginated list of all Wickr networks associated with your Amazon Web Services account. You can sort the results by network ID or name.

Parameter Syntax

$result = $client->listNetworks([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of networks to return in a single page. Valid range is 1-100. Default is 10.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The field to sort networks by. Accepted values are 'networkId' and 'networkName'. Default is 'networkId'.

Result Syntax

[
    'networks' => [
        [
            'accessLevel' => 'STANDARD|PREMIUM',
            'awsAccountId' => '<string>',
            'encryptionKeyArn' => '<string>',
            'freeTrialExpiration' => '<string>',
            'migrationState' => <integer>,
            'networkArn' => '<string>',
            'networkId' => '<string>',
            'networkName' => '<string>',
            'standing' => <integer>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
networks
Required: Yes
Type: Array of Network structures

A list of network objects for the Amazon Web Services account.

nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: List networks with pagination
$result = $client->listNetworks([
    'maxResults' => 10,
    'sortDirection' => 'ASC',
    'sortFields' => 'networkName',
]);

Result syntax:

[
    'networks' => [
        [
            'accessLevel' => 'STANDARD',
            'awsAccountId' => '123456789012',
            'networkArn' => 'arn:aws:wickr:us-east-1:123456789012:network/12345678',
            'networkId' => '12345678',
            'networkName' => 'Dev Network',
            'standing' => 1,
        ],
        [
            'accessLevel' => 'PREMIUM',
            'awsAccountId' => '123456789012',
            'networkArn' => 'arn:aws:wickr:us-east-1:123456789012:network/87654321',
            'networkId' => '87654321',
            'networkName' => 'Prod Network',
            'standing' => 1,
        ],
    ],
    'nextToken' => 'eyJvZmZzZXQiOjEwfQ==',
]
Example 2: List networks - first page
$result = $client->listNetworks([
    'maxResults' => 10,
]);

Result syntax:

[
    'networks' => [
        [
            'accessLevel' => 'PREMIUM',
            'awsAccountId' => '123456789012',
            'networkArn' => 'arn:aws:wickr:us-east-1:123456789012:network/12345678',
            'networkId' => '12345678',
            'networkName' => 'Production Network',
            'standing' => 1,
        ],
    ],
]

ListSecurityGroupUsers

$result = $client->listSecurityGroupUsers([/* ... */]);
$promise = $client->listSecurityGroupUsersAsync([/* ... */]);

Retrieves a paginated list of users who belong to a specific security group in a Wickr network.

Parameter Syntax

$result = $client->listSecurityGroupUsers([
    'groupId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'networkId' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
]);

Parameter Details

Members
groupId
Required: Yes
Type: string

The unique identifier of the security group whose users will be listed.

maxResults
Type: int

The maximum number of users to return in a single page. Valid range is 1-100. Default is 10.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the security group.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The field to sort users by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', and 'lastName'.

Result Syntax

[
    'nextToken' => '<string>',
    'users' => [
        [
            'cell' => '<string>',
            'challengeFailures' => <integer>,
            'codeValidation' => true || false,
            'countryCode' => '<string>',
            'firstName' => '<string>',
            'inviteCode' => '<string>',
            'isAdmin' => true || false,
            'isInviteExpired' => true || false,
            'isUser' => true || false,
            'lastName' => '<string>',
            'otpEnabled' => true || false,
            'scimId' => '<string>',
            'securityGroups' => ['<string>', ...],
            'status' => <integer>,
            'suspended' => true || false,
            'type' => '<string>',
            'uname' => '<string>',
            'userId' => '<string>',
            'username' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

users
Required: Yes
Type: Array of User structures

A list of user objects belonging to the security group within the current page.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: List security group users with pagination
$result = $client->listSecurityGroupUsers([
    'groupId' => 'abc12345',
    'maxResults' => 10,
    'networkId' => '12345678',
    'sortDirection' => 'ASC',
    'sortFields' => 'username',
]);

Result syntax:

[
    'nextToken' => 'eyJvZmZzZXQiOjEwfQ==',
    'users' => [
        [
            'firstName' => 'Alice',
            'lastName' => 'Smith',
            'username' => 'alice@example.com',
        ],
        [
            'firstName' => 'Bob',
            'lastName' => 'Jones',
            'username' => 'bob@example.com',
        ],
    ],
]

ListSecurityGroups

$result = $client->listSecurityGroups([/* ... */]);
$promise = $client->listSecurityGroupsAsync([/* ... */]);

Retrieves a paginated list of security groups in a specified Wickr network. You can sort the results by various criteria.

Parameter Syntax

$result = $client->listSecurityGroups([
    'maxResults' => <integer>,
    'networkId' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of security groups to return in a single page. Valid range is 1-100. Default is 10.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which to list security groups.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The field to sort security groups by. Accepted values include 'id' and 'name'.

Result Syntax

[
    'nextToken' => '<string>',
    'securityGroups' => [
        [
            'activeDirectoryGuid' => '<string>',
            'activeMembers' => <integer>,
            'botMembers' => <integer>,
            'id' => '<string>',
            'isDefault' => true || false,
            'modified' => <integer>,
            'name' => '<string>',
            'securityGroupSettings' => [
                'alwaysReauthenticate' => true || false,
                'atakPackageValues' => ['<string>', ...],
                'calling' => [
                    'canStart11Call' => true || false,
                    'canVideoCall' => true || false,
                    'forceTcpCall' => true || false,
                ],
                'checkForUpdates' => true || false,
                'enableAtak' => true || false,
                'enableCrashReports' => true || false,
                'enableFileDownload' => true || false,
                'enableGuestFederation' => true || false,
                'enableNotificationPreview' => true || false,
                'enableOpenAccessOption' => true || false,
                'enableRestrictedGlobalFederation' => true || false,
                'federationMode' => <integer>,
                'filesEnabled' => true || false,
                'forceDeviceLockout' => <integer>,
                'forceOpenAccess' => true || false,
                'forceReadReceipts' => true || false,
                'globalFederation' => true || false,
                'isAtoEnabled' => true || false,
                'isLinkPreviewEnabled' => true || false,
                'locationAllowMaps' => true || false,
                'locationEnabled' => true || false,
                'lockoutThreshold' => <integer>,
                'maxAutoDownloadSize' => <integer>,
                'maxBor' => <integer>,
                'maxTtl' => <integer>,
                'messageForwardingEnabled' => true || false,
                'passwordRequirements' => [
                    'lowercase' => <integer>,
                    'minLength' => <integer>,
                    'numbers' => <integer>,
                    'symbols' => <integer>,
                    'uppercase' => <integer>,
                ],
                'permittedNetworks' => ['<string>', ...],
                'permittedWickrAwsNetworks' => [
                    [
                        'networkId' => '<string>',
                        'region' => '<string>',
                    ],
                    // ...
                ],
                'permittedWickrEnterpriseNetworks' => [
                    [
                        'domain' => '<string>',
                        'networkId' => '<string>',
                    ],
                    // ...
                ],
                'presenceEnabled' => true || false,
                'quickResponses' => ['<string>', ...],
                'showMasterRecoveryKey' => true || false,
                'shredder' => [
                    'canProcessManually' => true || false,
                    'intensity' => <integer>,
                ],
                'ssoMaxIdleMinutes' => <integer>,
            ],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

securityGroups
Type: Array of SecurityGroup structures

A list of security group objects in the current page.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: List security groups with pagination
$result = $client->listSecurityGroups([
    'maxResults' => 10,
    'networkId' => '12345678',
    'sortDirection' => 'ASC',
    'sortFields' => 'name',
]);

Result syntax:

[
    'nextToken' => 'eyJvZmZzZXQiOjEwfQ==',
    'securityGroups' => [
        [
            'name' => 'default',
            'activeMembers' => 25,
            'botMembers' => 0,
            'id' => 'abc12345',
            'isDefault' => 1,
            'modified' => 1638360000,
            'securityGroupSettings' => [
                'lockoutThreshold' => 10,
            ],
        ],
        [
            'name' => 'engineering',
            'activeMembers' => 10,
            'botMembers' => 2,
            'id' => 'def67890',
            'isDefault' => ,
            'modified' => 1638360000,
            'securityGroupSettings' => [
                'lockoutThreshold' => 15,
            ],
        ],
    ],
]
Example 2: List security groups - first page
$result = $client->listSecurityGroups([
    'maxResults' => 10,
    'networkId' => '12345678',
]);

Result syntax:

[
    'securityGroups' => [
        [
            'name' => 'default',
            'activeMembers' => 25,
            'botMembers' => 0,
            'id' => 'abc12345',
            'isDefault' => 1,
            'modified' => 1638360000,
            'securityGroupSettings' => [
                'lockoutThreshold' => 10,
            ],
        ],
    ],
]

ListUsers

$result = $client->listUsers([/* ... */]);
$promise = $client->listUsersAsync([/* ... */]);

Retrieves a paginated list of users in a specified Wickr network. You can filter and sort the results based on various criteria such as name, status, or security group membership.

Parameter Syntax

$result = $client->listUsers([
    'firstName' => '<string>',
    'groupId' => '<string>',
    'lastName' => '<string>',
    'maxResults' => <integer>,
    'networkId' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'sortDirection' => 'ASC|DESC',
    'sortFields' => '<string>',
    'status' => <integer>,
    'username' => '<string>',
]);

Parameter Details

Members
firstName
Type: string

Filter results to only include users with first names matching this value.

groupId
Type: string

Filter results to only include users belonging to this security group.

lastName
Type: string

Filter results to only include users with last names matching this value.

maxResults
Type: int

The maximum number of users to return in a single page. Valid range is 1-100. Default is 10.

networkId
Required: Yes
Type: string

The ID of the Wickr network from which to list users.

nextToken
Type: string

The token for retrieving the next page of results. This is returned from a previous request when there are more results available.

sortDirection
Type: string

The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'.

sortFields
Type: string

The fields to sort users by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', 'lastName', 'status', and 'groupId'.

status
Type: int

Filter results to only include users with this status (1 for pending, 2 for active).

username
Type: string

Filter results to only include users with usernames matching this value.

Result Syntax

[
    'nextToken' => '<string>',
    'users' => [
        [
            'cell' => '<string>',
            'challengeFailures' => <integer>,
            'codeValidation' => true || false,
            'countryCode' => '<string>',
            'firstName' => '<string>',
            'inviteCode' => '<string>',
            'isAdmin' => true || false,
            'isInviteExpired' => true || false,
            'isUser' => true || false,
            'lastName' => '<string>',
            'otpEnabled' => true || false,
            'scimId' => '<string>',
            'securityGroups' => ['<string>', ...],
            'status' => <integer>,
            'suspended' => true || false,
            'type' => '<string>',
            'uname' => '<string>',
            'userId' => '<string>',
            'username' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to use for retrieving the next page of results. If this is not present, there are no more results.

users
Type: Array of User structures

A list of user objects matching the specified filters and within the current page.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Get paginated list of users
$result = $client->listUsers([
    'maxResults' => 20,
    'networkId' => '12345678',
    'sortDirection' => 'ASC',
    'sortFields' => 'username',
]);

Result syntax:

[
    'nextToken' => 'v1:pagination:6ba7b810-9dad-11d1-80b4-00c04fd430c8',
    'users' => [
        [
            'type' => 'user',
            'firstName' => 'Alice',
            'isAdmin' => ,
            'lastName' => 'Anderson',
            'status' => 2,
            'suspended' => ,
            'username' => 'alice.anderson@example.com',
        ],
        [
            'type' => 'user',
            'firstName' => 'Bob',
            'isAdmin' => ,
            'lastName' => 'Brown',
            'status' => 2,
            'suspended' => ,
            'username' => 'bob.brown@example.com',
        ],
        [
            'type' => 'user',
            'firstName' => 'Charlie',
            'isAdmin' => 1,
            'lastName' => 'Chen',
            'status' => 2,
            'suspended' => ,
            'username' => 'charlie.chen@example.com',
        ],
    ],
]
Example 2: Filter by status and group
$result = $client->listUsers([
    'groupId' => 'BCTY8Qhe',
    'maxResults' => 10,
    'networkId' => '12345678',
    'status' => 1,
]);

Result syntax:

[
    'users' => [
        [
            'type' => 'user',
            'firstName' => 'David',
            'inviteCode' => 'INVITE789',
            'isAdmin' => ,
            'isInviteExpired' => ,
            'lastName' => 'Davis',
            'status' => 1,
            'suspended' => ,
            'username' => 'david.davis@example.com',
        ],
    ],
]
Example 3: Empty user list for network with no users
$result = $client->listUsers([
    'networkId' => '12345678',
]);

Result syntax:

[
    'users' => [
    ],
]

RegisterOidcConfig

$result = $client->registerOidcConfig([/* ... */]);
$promise = $client->registerOidcConfigAsync([/* ... */]);

Registers and saves an OpenID Connect (OIDC) configuration for a Wickr network, enabling Single Sign-On (SSO) authentication through an identity provider.

Parameter Syntax

$result = $client->registerOidcConfig([
    'companyId' => '<string>', // REQUIRED
    'customUsername' => '<string>',
    'extraAuthParams' => '<string>',
    'issuer' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
    'scopes' => '<string>', // REQUIRED
    'secret' => '<string>',
    'ssoTokenBufferMinutes' => <integer>,
    'userId' => '<string>',
]);

Parameter Details

Members
companyId
Required: Yes
Type: string

Custom identifier your end users will use to sign in with SSO.

customUsername
Type: string

A custom field mapping to extract the username from the OIDC token (optional).

The customUsername is only required if you use something other than email as the username field.

extraAuthParams
Type: string

Additional authentication parameters to include in the OIDC flow (optional).

issuer
Required: Yes
Type: string

The issuer URL of the OIDC provider (e.g., 'https://login.example.com').

networkId
Required: Yes
Type: string

The ID of the Wickr network for which OIDC will be configured.

scopes
Required: Yes
Type: string

The OAuth scopes to request from the OIDC provider (e.g., 'openid profile email').

secret
Type: string

The client secret for authenticating with the OIDC provider (optional).

ssoTokenBufferMinutes
Type: int

The buffer time in minutes before the SSO token expires to refresh it (optional).

userId
Type: string

Unique identifier provided by your identity provider to authenticate the access request. Also referred to as clientID.

Result Syntax

[
    'applicationId' => <integer>,
    'applicationName' => '<string>',
    'caCertificate' => '<string>',
    'clientId' => '<string>',
    'clientSecret' => '<string>',
    'companyId' => '<string>',
    'customUsername' => '<string>',
    'extraAuthParams' => '<string>',
    'issuer' => '<string>',
    'redirectUrl' => '<string>',
    'scopes' => '<string>',
    'secret' => '<string>',
    'ssoTokenBufferMinutes' => <integer>,
    'userId' => '<string>',
]

Result Details

Members
applicationId
Type: int

The unique identifier for the registered OIDC application.

applicationName
Type: string

The name of the registered OIDC application.

caCertificate
Type: string

The CA certificate used for secure communication with the OIDC provider.

clientId
Type: string

The OAuth client ID assigned to the application.

clientSecret
Type: string

The OAuth client secret for the application.

companyId
Required: Yes
Type: string

Custom identifier your end users will use to sign in with SSO.

customUsername
Type: string

The custom field mapping used for extracting the username.

extraAuthParams
Type: string

The additional authentication parameters configured for the OIDC flow.

issuer
Required: Yes
Type: string

The issuer URL of the OIDC provider.

redirectUrl
Type: string

The redirect URL configured for the OAuth flow.

scopes
Required: Yes
Type: string

The OAuth scopes configured for the application.

secret
Type: string

The client secret for authenticating with the OIDC provider.

ssoTokenBufferMinutes
Type: int

The buffer time in minutes before the SSO token expires.

userId
Type: string

The claim field being used as the user identifier.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Save OIDC config successfully
$result = $client->registerOidcConfig([
    'companyId' => 'us-east-1-company123',
    'issuer' => 'https://login.example.com',
    'networkId' => '12345678',
    'scopes' => 'openid profile email',
    'ssoTokenBufferMinutes' => 5,
    'userId' => 'email',
]);

Result syntax:

[
    'clientId' => 'client123',
    'companyId' => 'us-east-1-company123',
    'issuer' => 'https://login.example.com',
    'redirectUrl' => 'https://app.wickr.com/callback',
    'scopes' => 'openid profile email',
    'ssoTokenBufferMinutes' => 5,
    'userId' => 'email',
]
Example 2: Save OIDC config - missing company ID
$result = $client->registerOidcConfig([
    'companyId' => '',
    'issuer' => 'https://login.example.com',
    'networkId' => '12345678',
    'scopes' => 'openid profile email',
]);
Example 3: Save OIDC config - invalid company ID prefix
$result = $client->registerOidcConfig([
    'companyId' => 'invalid-company123',
    'issuer' => 'https://login.example.com',
    'networkId' => '12345678',
    'scopes' => 'openid profile email',
]);

RegisterOidcConfigTest

$result = $client->registerOidcConfigTest([/* ... */]);
$promise = $client->registerOidcConfigTestAsync([/* ... */]);

Tests an OpenID Connect (OIDC) configuration for a Wickr network by validating the connection to the identity provider and retrieving its supported capabilities.

Parameter Syntax

$result = $client->registerOidcConfigTest([
    'certificate' => '<string>',
    'extraAuthParams' => '<string>',
    'issuer' => '<string>', // REQUIRED
    'networkId' => '<string>', // REQUIRED
    'scopes' => '<string>', // REQUIRED
]);

Parameter Details

Members
certificate
Type: string

The CA certificate for secure communication with the OIDC provider (optional).

extraAuthParams
Type: string

Additional authentication parameters to include in the test (optional).

issuer
Required: Yes
Type: string

The issuer URL of the OIDC provider to test.

networkId
Required: Yes
Type: string

The ID of the Wickr network for which the OIDC configuration will be tested.

scopes
Required: Yes
Type: string

The OAuth scopes to test with the OIDC provider.

Result Syntax

[
    'authorizationEndpoint' => '<string>',
    'endSessionEndpoint' => '<string>',
    'grantTypesSupported' => ['<string>', ...],
    'issuer' => '<string>',
    'logoutEndpoint' => '<string>',
    'microsoftMultiRefreshToken' => true || false,
    'responseTypesSupported' => ['<string>', ...],
    'revocationEndpoint' => '<string>',
    'scopesSupported' => ['<string>', ...],
    'tokenEndpoint' => '<string>',
    'tokenEndpointAuthMethodsSupported' => ['<string>', ...],
    'userinfoEndpoint' => '<string>',
]

Result Details

Members
authorizationEndpoint
Type: string

The authorization endpoint URL discovered from the OIDC provider.

endSessionEndpoint
Type: string

The end session endpoint URL for logging out users from the OIDC provider.

grantTypesSupported
Type: Array of strings

The OAuth grant types supported by the OIDC provider.

issuer
Type: string

The issuer URL confirmed by the OIDC provider.

logoutEndpoint
Type: string

The logout endpoint URL for terminating user sessions.

microsoftMultiRefreshToken
Type: boolean

Indicates whether the provider supports Microsoft multi-refresh tokens.

responseTypesSupported
Type: Array of strings

The OAuth response types supported by the OIDC provider.

revocationEndpoint
Type: string

The token revocation endpoint URL for invalidating tokens.

scopesSupported
Type: Array of strings

The OAuth scopes supported by the OIDC provider.

tokenEndpoint
Type: string

The token endpoint URL discovered from the OIDC provider.

tokenEndpointAuthMethodsSupported
Type: Array of strings

The authentication methods supported by the token endpoint.

userinfoEndpoint
Type: string

The user info endpoint URL discovered from the OIDC provider.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Test OIDC config successfully
$result = $client->registerOidcConfigTest([
    'issuer' => 'https://login.example.com',
    'networkId' => '12345678',
    'scopes' => 'openid profile email',
]);

Result syntax:

[
    'authorizationEndpoint' => 'https://login.example.com/authorize',
    'issuer' => 'https://login.example.com',
    'tokenEndpoint' => 'https://login.example.com/oauth/token',
    'userinfoEndpoint' => 'https://login.example.com/userinfo',
]
Example 2: Test OIDC config - missing issuer
$result = $client->registerOidcConfigTest([
    'issuer' => '',
    'networkId' => '12345678',
    'scopes' => 'openid profile email',
]);
Example 3: Test OIDC config - invalid endpoint
$result = $client->registerOidcConfigTest([
    'issuer' => 'https://blocked-endpoint.com',
    'networkId' => '12345678',
    'scopes' => 'openid profile email',
]);

UpdateBot

$result = $client->updateBot([/* ... */]);
$promise = $client->updateBotAsync([/* ... */]);

Updates the properties of an existing bot in a Wickr network. This operation allows you to modify the bot's display name, security group, password, or suspension status.

Parameter Syntax

$result = $client->updateBot([
    'botId' => '<string>', // REQUIRED
    'challenge' => '<string>',
    'displayName' => '<string>',
    'groupId' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'suspend' => true || false,
]);

Parameter Details

Members
botId
Required: Yes
Type: string

The unique identifier of the bot to update.

challenge
Type: string

The new password for the bot account.

displayName
Type: string

The new display name for the bot.

groupId
Type: string

The ID of the new security group to assign the bot to.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the bot to update.

suspend
Type: boolean

Set to true to suspend the bot or false to unsuspend it. Omit this field for standard updates that don't affect suspension status.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating the result of the bot update operation.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Update bot successfully
$result = $client->updateBot([
    'botId' => '98765',
    'displayName' => 'Updated Support Bot',
    'groupId' => 'support_group',
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'success',
]
Example 2: Update bot - bot not found
$result = $client->updateBot([
    'botId' => '99999',
    'displayName' => 'Updated Bot',
    'networkId' => '12345678',
]);

UpdateDataRetention

$result = $client->updateDataRetention([/* ... */]);
$promise = $client->updateDataRetentionAsync([/* ... */]);

Updates the data retention bot settings, allowing you to enable or disable the data retention service, or acknowledge the public key message.

Parameter Syntax

$result = $client->updateDataRetention([
    'actionType' => 'ENABLE|DISABLE|PUBKEY_MSG_ACK', // REQUIRED
    'networkId' => '<string>', // REQUIRED
]);

Parameter Details

Members
actionType
Required: Yes
Type: string

The action to perform. Valid values are 'ENABLE' (to enable the data retention service), 'DISABLE' (to disable the service), or 'PUBKEY_MSG_ACK' (to acknowledge the public key message).

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the data retention bot.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating the result of the update operation.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Update data retention - enable service
$result = $client->updateDataRetention([
    'actionType' => 'ENABLE',
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'data retention service enabled',
]
Example 2: Update data retention - disable service
$result = $client->updateDataRetention([
    'actionType' => 'DISABLE',
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'data retention service disabled',
]
Example 3: Update data retention - acknowledge pubkey message
$result = $client->updateDataRetention([
    'actionType' => 'PUBKEY_MSG_ACK',
    'networkId' => '12345678',
]);

Result syntax:

[
    'message' => 'pubkey message was acknowledged',
]

UpdateGuestUser

$result = $client->updateGuestUser([/* ... */]);
$promise = $client->updateGuestUserAsync([/* ... */]);

Updates the block status of a guest user in a Wickr network. This operation allows you to block or unblock a guest user from accessing the network.

Parameter Syntax

$result = $client->updateGuestUser([
    'block' => true || false, // REQUIRED
    'networkId' => '<string>', // REQUIRED
    'usernameHash' => '<string>', // REQUIRED
]);

Parameter Details

Members
block
Required: Yes
Type: boolean

Set to true to block the guest user or false to unblock them.

networkId
Required: Yes
Type: string

The ID of the Wickr network where the guest user's status will be updated.

usernameHash
Required: Yes
Type: string

The username hash (unique identifier) of the guest user to update.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating the result of the update operation.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Block a guest user
$result = $client->updateGuestUser([
    'block' => 1,
    'networkId' => '12345678',
    'usernameHash' => '032c36d5623781204592a69269ed9480d604484269c8a4c2d39528885a56470d',
]);

Result syntax:

[
    'message' => 'success',
]
Example 2: Unblock a guest user
$result = $client->updateGuestUser([
    'block' => ,
    'networkId' => '12345678',
    'usernameHash' => '032c36d5623781204592a69269ed9480d604484269c8a4c2d39528885a56470d',
]);

Result syntax:

[
    'message' => 'success',
]
Example 3: User already blocked error
$result = $client->updateGuestUser([
    'block' => 1,
    'networkId' => '12345678',
    'usernameHash' => '032c36d5623781204592a69269ed9480d604484269c8a4c2d39528885a56470d',
]);

UpdateNetwork

$result = $client->updateNetwork([/* ... */]);
$promise = $client->updateNetworkAsync([/* ... */]);

Updates the properties of an existing Wickr network, such as its name or encryption key configuration.

Parameter Syntax

$result = $client->updateNetwork([
    'clientToken' => '<string>',
    'encryptionKeyArn' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'networkName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique identifier for this request to ensure idempotency.

encryptionKeyArn
Type: string

The ARN of the Amazon Web Services KMS customer managed key to use for encrypting sensitive data in the network.

networkId
Required: Yes
Type: string

The ID of the Wickr network to update.

networkName
Required: Yes
Type: string

The new name for the network. Must be between 1 and 20 characters.

Result Syntax

[
    'message' => '<string>',
]

Result Details

Members
message
Type: string

A message indicating that the network was updated successfully.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Update network name successfully
$result = $client->updateNetwork([
    'networkId' => '12345678',
    'networkName' => 'Updated Network Name',
]);

Result syntax:

[
    'message' => 'Network updated successfully',
]
Example 2: Update network - invalid name
$result = $client->updateNetwork([
    'networkId' => '12345678',
    'networkName' => 'This name is way too long for a network',
]);
Example 3: Update network - not found
$result = $client->updateNetwork([
    'networkId' => '99999999',
    'networkName' => 'New Name',
]);

UpdateNetworkSettings

$result = $client->updateNetworkSettings([/* ... */]);
$promise = $client->updateNetworkSettingsAsync([/* ... */]);

Updates network-level settings for a Wickr network. You can modify settings such as client metrics, data retention, and other network-wide options.

Parameter Syntax

$result = $client->updateNetworkSettings([
    'networkId' => '<string>', // REQUIRED
    'settings' => [ // REQUIRED
        'dataRetention' => true || false,
        'enableClientMetrics' => true || false,
        'readReceiptConfig' => [
            'status' => 'DISABLED|ENABLED|FORCE_ENABLED',
        ],
    ],
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network whose settings will be updated.

settings
Required: Yes
Type: NetworkSettings structure

A map of setting names to their new values. Each setting should be provided with its appropriate type (boolean, string, number, etc.).

Result Syntax

[
    'settings' => [
        [
            'optionName' => '<string>',
            'type' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
settings
Required: Yes
Type: Array of Setting structures

A list of the updated network settings, showing the new values for each modified setting.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Update multiple network settings
$result = $client->updateNetworkSettings([
    'networkId' => '12345678',
    'settings' => [
        'dataRetention' => 1,
        'enableClientMetrics' => 1,
    ],
]);

Result syntax:

[
    'settings' => [
        [
            'type' => 'boolean',
            'value' => 'true',
            'optionName' => 'enableClientMetrics',
        ],
        [
            'type' => 'boolean',
            'value' => 'true',
            'optionName' => 'dataRetention',
        ],
    ],
]
Example 2: Update single boolean setting
$result = $client->updateNetworkSettings([
    'networkId' => '12345678',
    'settings' => [
        'enableClientMetrics' => ,
    ],
]);

Result syntax:

[
    'settings' => [
        [
            'type' => 'boolean',
            'value' => 'false',
            'optionName' => 'enableClientMetrics',
        ],
    ],
]
Example 3: Update client metrics settings
$result = $client->updateNetworkSettings([
    'networkId' => '12345678',
    'settings' => [
        'enableClientMetrics' => 1,
    ],
]);

Result syntax:

[
    'settings' => [
        [
            'type' => 'boolean',
            'value' => 'true',
            'optionName' => 'enableClientMetrics',
        ],
    ],
]
Example 4: Invalid setting name error
$result = $client->updateNetworkSettings([
    'networkId' => '12345678',
    'settings' => [
        'enableClientMetrics' => ,
    ],
]);
Example 5: Network not found error
$result = $client->updateNetworkSettings([
    'networkId' => '99999999',
    'settings' => [
        'enableClientMetrics' => 1,
    ],
]);
Example 6: Invalid value type error
$result = $client->updateNetworkSettings([
    'networkId' => '12345678',
    'settings' => [
        'dataRetention' => 1,
    ],
]);

UpdateSecurityGroup

$result = $client->updateSecurityGroup([/* ... */]);
$promise = $client->updateSecurityGroupAsync([/* ... */]);

Updates the properties of an existing security group in a Wickr network, such as its name or settings.

Parameter Syntax

$result = $client->updateSecurityGroup([
    'groupId' => '<string>', // REQUIRED
    'name' => '<string>',
    'networkId' => '<string>', // REQUIRED
    'securityGroupSettings' => [
        'alwaysReauthenticate' => true || false,
        'atakPackageValues' => ['<string>', ...],
        'calling' => [
            'canStart11Call' => true || false,
            'canVideoCall' => true || false,
            'forceTcpCall' => true || false,
        ],
        'checkForUpdates' => true || false,
        'enableAtak' => true || false,
        'enableCrashReports' => true || false,
        'enableFileDownload' => true || false,
        'enableGuestFederation' => true || false,
        'enableNotificationPreview' => true || false,
        'enableOpenAccessOption' => true || false,
        'enableRestrictedGlobalFederation' => true || false,
        'federationMode' => <integer>,
        'filesEnabled' => true || false,
        'forceDeviceLockout' => <integer>,
        'forceOpenAccess' => true || false,
        'forceReadReceipts' => true || false,
        'globalFederation' => true || false,
        'isAtoEnabled' => true || false,
        'isLinkPreviewEnabled' => true || false,
        'locationAllowMaps' => true || false,
        'locationEnabled' => true || false,
        'lockoutThreshold' => <integer>,
        'maxAutoDownloadSize' => <integer>,
        'maxBor' => <integer>,
        'maxTtl' => <integer>,
        'messageForwardingEnabled' => true || false,
        'passwordRequirements' => [
            'lowercase' => <integer>,
            'minLength' => <integer>,
            'numbers' => <integer>,
            'symbols' => <integer>,
            'uppercase' => <integer>,
        ],
        'permittedNetworks' => ['<string>', ...],
        'permittedWickrAwsNetworks' => [
            [
                'networkId' => '<string>', // REQUIRED
                'region' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'permittedWickrEnterpriseNetworks' => [
            [
                'domain' => '<string>', // REQUIRED
                'networkId' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'presenceEnabled' => true || false,
        'quickResponses' => ['<string>', ...],
        'showMasterRecoveryKey' => true || false,
        'shredder' => [
            'canProcessManually' => true || false,
            'intensity' => <integer>,
        ],
        'ssoMaxIdleMinutes' => <integer>,
    ],
]);

Parameter Details

Members
groupId
Required: Yes
Type: string

The unique identifier of the security group to update.

name
Type: string

The new name for the security group.

networkId
Required: Yes
Type: string

The ID of the Wickr network containing the security group to update.

securityGroupSettings
Type: SecurityGroupSettings structure

The updated configuration settings for the security group.

Federation mode - 0 (Local federation), 1 (Restricted federation), 2 (Global federation)

Result Syntax

[
    'securityGroup' => [
        'activeDirectoryGuid' => '<string>',
        'activeMembers' => <integer>,
        'botMembers' => <integer>,
        'id' => '<string>',
        'isDefault' => true || false,
        'modified' => <integer>,
        'name' => '<string>',
        'securityGroupSettings' => [
            'alwaysReauthenticate' => true || false,
            'atakPackageValues' => ['<string>', ...],
            'calling' => [
                'canStart11Call' => true || false,
                'canVideoCall' => true || false,
                'forceTcpCall' => true || false,
            ],
            'checkForUpdates' => true || false,
            'enableAtak' => true || false,
            'enableCrashReports' => true || false,
            'enableFileDownload' => true || false,
            'enableGuestFederation' => true || false,
            'enableNotificationPreview' => true || false,
            'enableOpenAccessOption' => true || false,
            'enableRestrictedGlobalFederation' => true || false,
            'federationMode' => <integer>,
            'filesEnabled' => true || false,
            'forceDeviceLockout' => <integer>,
            'forceOpenAccess' => true || false,
            'forceReadReceipts' => true || false,
            'globalFederation' => true || false,
            'isAtoEnabled' => true || false,
            'isLinkPreviewEnabled' => true || false,
            'locationAllowMaps' => true || false,
            'locationEnabled' => true || false,
            'lockoutThreshold' => <integer>,
            'maxAutoDownloadSize' => <integer>,
            'maxBor' => <integer>,
            'maxTtl' => <integer>,
            'messageForwardingEnabled' => true || false,
            'passwordRequirements' => [
                'lowercase' => <integer>,
                'minLength' => <integer>,
                'numbers' => <integer>,
                'symbols' => <integer>,
                'uppercase' => <integer>,
            ],
            'permittedNetworks' => ['<string>', ...],
            'permittedWickrAwsNetworks' => [
                [
                    'networkId' => '<string>',
                    'region' => '<string>',
                ],
                // ...
            ],
            'permittedWickrEnterpriseNetworks' => [
                [
                    'domain' => '<string>',
                    'networkId' => '<string>',
                ],
                // ...
            ],
            'presenceEnabled' => true || false,
            'quickResponses' => ['<string>', ...],
            'showMasterRecoveryKey' => true || false,
            'shredder' => [
                'canProcessManually' => true || false,
                'intensity' => <integer>,
            ],
            'ssoMaxIdleMinutes' => <integer>,
        ],
    ],
]

Result Details

Members
securityGroup
Required: Yes
Type: SecurityGroup structure

The updated security group details, including the new settings.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Update security group successfully
$result = $client->updateSecurityGroup([
    'name' => 'Updated Group Name',
    'groupId' => 'abc12345',
    'networkId' => '12345678',
    'securityGroupSettings' => [
        'lockoutThreshold' => 15,
    ],
]);

Result syntax:

[
    'securityGroup' => [
        'name' => 'Updated Group Name',
        'activeMembers' => 10,
        'botMembers' => 2,
        'id' => 'abc12345',
        'isDefault' => ,
        'modified' => 1638360000,
        'securityGroupSettings' => [
            'lockoutThreshold' => 15,
        ],
    ],
]
Example 2: Update security group - not found
$result = $client->updateSecurityGroup([
    'name' => 'New Name',
    'groupId' => 'invalid99',
    'networkId' => '12345678',
]);

UpdateUser

$result = $client->updateUser([/* ... */]);
$promise = $client->updateUserAsync([/* ... */]);

Updates the properties of an existing user in a Wickr network. This operation allows you to modify the user's name, password, security group membership, and invite code settings.

codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only.

Parameter Syntax

$result = $client->updateUser([
    'networkId' => '<string>', // REQUIRED
    'userDetails' => [
        'codeValidation' => true || false,
        'firstName' => '<string>',
        'inviteCode' => '<string>',
        'inviteCodeTtl' => <integer>,
        'lastName' => '<string>',
        'securityGroupIds' => ['<string>', ...],
        'username' => '<string>',
    ],
    'userId' => '<string>', // REQUIRED
]);

Parameter Details

Members
networkId
Required: Yes
Type: string

The ID of the Wickr network containing the user to update.

userDetails
Type: UpdateUserDetails structure

An object containing the user details to be updated, such as name, password, security groups, and invite code settings.

userId
Required: Yes
Type: string

The unique identifier of the user to update.

Result Syntax

[
    'codeValidation' => true || false,
    'firstName' => '<string>',
    'inviteCode' => '<string>',
    'inviteExpiration' => <integer>,
    'lastName' => '<string>',
    'middleName' => '<string>',
    'modified' => <integer>,
    'networkId' => '<string>',
    'securityGroupIds' => ['<string>', ...],
    'status' => <integer>,
    'suspended' => true || false,
    'userId' => '<string>',
]

Result Details

Members
codeValidation
Type: boolean

Indicates whether the user can be verified through a custom invite code.

firstName
Type: string

The updated first name of the user.

inviteCode
Type: string

The updated invite code for the user, if applicable.

inviteExpiration
Type: int

The expiration time of the user's invite code, specified in epoch seconds.

lastName
Type: string

The updated last name of the user.

middleName
Type: string

The middle name of the user (currently not used).

modified
Type: int

The timestamp when the user was last modified, specified in epoch seconds.

networkId
Required: Yes
Type: string

The ID of the network where the user was updated.

securityGroupIds
Type: Array of strings

The list of security group IDs to which the user now belongs after the update.

status
Type: int

The user's status after the update.

suspended
Required: Yes
Type: boolean

Indicates whether the user is suspended after the update.

userId
Required: Yes
Type: string

The unique identifier of the updated user.

Errors

ValidationError:

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

BadRequestError:

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

ResourceNotFoundError:

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

ForbiddenError:

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

UnauthorizedError:

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

InternalServerError:

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

RateLimitError:

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Examples

Example 1: Update user information
$result = $client->updateUser([
    'networkId' => '12345678',
    'userDetails' => [
        'firstName' => 'Jonathan',
        'lastName' => 'Doe',
        'securityGroupIds' => [
            'BCTY8Qhe',
            'DEPT001',
        ],
        'username' => 'john.doe@example.com',
    ],
    'userId' => '12345',
]);

Result syntax:

[
    'firstName' => 'Jonathan',
    'lastName' => 'Doe',
    'modified' => 1705500000,
    'networkId' => '12345678',
    'securityGroupIds' => [
        'BCTY8Qhe',
        'DEPT001',
    ],
    'status' => 2,
    'suspended' => ,
    'userId' => '12345',
]
Example 2: Update user with invite code
$result = $client->updateUser([
    'networkId' => '12345678',
    'userDetails' => [
        'codeValidation' => 1,
        'firstName' => 'Jane',
        'inviteCode' => 'NEWINVITE789',
        'inviteCodeTtl' => 14,
        'lastName' => 'Smith',
        'username' => 'jane.smith@example.com',
    ],
    'userId' => '12345',
]);

Result syntax:

[
    'codeValidation' => 1,
    'firstName' => 'Jane',
    'inviteCode' => 'NEWINVITE789',
    'inviteExpiration' => 1706709600,
    'lastName' => 'Smith',
    'modified' => 1705500100,
    'networkId' => '12345678',
    'status' => 2,
    'suspended' => ,
    'userId' => '12345',
]
Example 3: User not found error
$result = $client->updateUser([
    'networkId' => '12345678',
    'userDetails' => [
        'firstName' => 'Non',
        'lastName' => 'Existent',
        'username' => 'nonexistent@example.com',
    ],
    'userId' => '99999',
]);
Example 4: Invalid userId error
$result = $client->updateUser([
    'networkId' => '12345678',
    'userDetails' => [
        'firstName' => 'John',
        'lastName' => 'Doe',
        'securityGroupIds' => [
            'BCTY8Qhe',
        ],
        'username' => 'john.doe@example.com',
    ],
    'userId' => '99999',
]);

Shapes

BadRequestError

Description

The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data.

Members
message
Type: string

A detailed message explaining what was wrong with the request and how to correct it.

BasicDeviceObject

Description

Represents a device where a user has logged into Wickr, containing information about the device's type, status, and login history.

Members
appId
Type: string

The unique application ID for the Wickr app on this device.

created
Type: string

The timestamp when the device first appeared in the Wickr database.

lastLogin
Type: string

The timestamp when the device last successfully logged into Wickr. This is also used to determine SSO idle time.

statusText
Type: string

The current status of the device, either 'Active' or 'Reset' depending on whether the device is currently active or has been marked for reset.

suspend
Type: boolean

Indicates whether the device is suspended.

type
Type: string

The operating system of the device (e.g., 'MacOSX', 'Windows', 'iOS', 'Android').

BatchCreateUserRequestItem

Description

Contains the details for a single user to be created in a batch user creation request.

A user can only be assigned to a single security group. Attempting to add a user to multiple security groups is not supported and will result in an error.

codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only.

Members
codeValidation
Type: boolean

Indicates whether the user can be verified through a custom invite code.

firstName
Type: string

The first name of the user.

inviteCode
Type: string

A custom invite code for the user. If not provided, one will be generated automatically.

inviteCodeTtl
Type: int

The time-to-live for the invite code in days. After this period, the invite code will expire.

lastName
Type: string

The last name of the user.

securityGroupIds
Required: Yes
Type: Array of strings

A list of security group IDs to which the user should be assigned.

username
Required: Yes
Type: string

The email address or username for the user. Must be unique within the network.

BatchDeviceErrorResponseItem

Description

Contains error information for a device operation that failed in a batch device request.

Members
appId
Required: Yes
Type: string

The application ID of the device that failed to be processed.

field
Type: string

The field that caused the error.

reason
Type: string

A description of why the device operation failed.

BatchDeviceSuccessResponseItem

Description

Contains information about a device that was successfully processed in a batch device operation.

Members
appId
Required: Yes
Type: string

The application ID of the device that was successfully processed.

BatchUnameErrorResponseItem

Description

Contains error information for a username hash lookup that failed in a batch uname lookup request.

Members
field
Type: string

The field that caused the error.

reason
Type: string

A description of why the username hash lookup failed.

uname
Required: Yes
Type: string

The username hash that failed to be looked up.

BatchUnameSuccessResponseItem

Description

Contains information about a username hash that was successfully resolved in a batch uname lookup operation.

Members
uname
Required: Yes
Type: string

The username hash that was successfully resolved.

username
Required: Yes
Type: string

The email address or username corresponding to the username hash.

BatchUserErrorResponseItem

Description

Contains error information for a user operation that failed in a batch user request.

Members
field
Type: string

The field that caused the error.

reason
Type: string

A description of why the user operation failed.

userId
Required: Yes
Type: string

The user ID associated with the failed operation.

BatchUserSuccessResponseItem

Description

Contains information about a user that was successfully processed in a batch user operation.

Members
userId
Required: Yes
Type: string

The user ID that was successfully processed.

BlockedGuestUser

Description

Represents a guest user who has been blocked from accessing a Wickr network.

Members
admin
Required: Yes
Type: string

The username of the administrator who blocked this guest user.

modified
Required: Yes
Type: string

The timestamp when the guest user was blocked or last modified.

username
Required: Yes
Type: string

The username of the blocked guest user.

usernameHash
Required: Yes
Type: string

The unique username hash identifier for the blocked guest user.

Bot

Description

Represents a bot account in a Wickr network with all its informational fields.

Members
botId
Type: string

The unique identifier of the bot.

displayName
Type: string

The display name of the bot that is visible to users.

groupId
Type: string

The ID of the security group to which the bot belongs.

hasChallenge
Type: boolean

Indicates whether the bot has a password set.

lastLogin
Type: string

The timestamp of the bot's last login.

pubkey
Type: string

The public key of the bot used for encryption.

status
Type: int

The current status of the bot (1 for pending, 2 for active).

suspended
Type: boolean

Indicates whether the bot is currently suspended.

uname
Type: string

The unique username hash identifier for the bot.

username
Type: string

The username of the bot.

CallingSettings

Description

Defines the calling feature permissions and settings for users in a security group, controlling what types of calls users can initiate and participate in.

Members
canStart11Call
Type: boolean

Specifies whether users can start one-to-one calls.

canVideoCall
Type: boolean

Specifies whether users can make video calls (as opposed to audio-only calls). Valid only when audio call(canStart11Call) is enabled.

forceTcpCall
Type: boolean

When enabled, forces all calls to use TCP protocol instead of UDP for network traversal.

ErrorDetail

Description

Contains detailed error information explaining why an operation failed, including which field caused the error and the reason for the failure.

Members
field
Type: string

The name of the field that contains an error or warning.

reason
Type: string

A detailed description of the error or warning.

ForbiddenError

Description

Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated.

Members
message
Type: string

A message explaining why access was denied and what permissions are required.

GuestUser

Description

Represents a guest user who has accessed the network from a federated Wickr network.

Members
billingPeriod
Required: Yes
Type: string

The billing period when this guest user accessed the network (e.g., '2024-01').

username
Required: Yes
Type: string

The username of the guest user.

usernameHash
Required: Yes
Type: string

The unique username hash identifier for the guest user.

GuestUserHistoryCount

Description

Contains the count of guest users for a specific billing period, used for tracking historical guest user activity.

Members
count
Required: Yes
Type: string

The number of guest users who have communicated with your Wickr network during this billing period.

month
Required: Yes
Type: string

The month and billing period in YYYY_MM format (e.g., '2024_01').

InternalServerError

Description

An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support.

Members
message
Required: Yes
Type: string

A message describing the internal server error that occurred.

Network

Description

Represents a Wickr network with all its configuration and status information.

Members
accessLevel
Required: Yes
Type: string

The access level of the network (STANDARD or PREMIUM), which determines available features and capabilities.

awsAccountId
Required: Yes
Type: string

The Amazon Web Services account ID that owns the network.

encryptionKeyArn
Type: string

The ARN of the Amazon Web Services KMS customer managed key used for encrypting sensitive data in the network.

freeTrialExpiration
Type: string

The expiration date and time for the network's free trial period, if applicable.

migrationState
Type: int

The SSO redirect URI migration state, managed by the SSO redirect migration wizard. Values: 0 (not started), 1 (in progress), or 2 (completed).

networkArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the network.

networkId
Required: Yes
Type: string

The unique identifier of the network.

networkName
Required: Yes
Type: string

The name of the network.

standing
Type: int

The current standing or status of the network.

NetworkSettings

Description

Contains network-level configuration settings that apply to all users and security groups within a Wickr network.

Members
dataRetention
Type: boolean

Indicates whether the data retention feature is enabled for the network. When true, messages are captured by the data retention bot for compliance and archiving purposes.

enableClientMetrics
Type: boolean

Allows Wickr clients to send anonymized performance and usage metrics to the Wickr backend server for service improvement and troubleshooting.

readReceiptConfig
Type: ReadReceiptConfig structure

Configuration for read receipts at the network level, controlling the default behavior for whether senders can see when their messages have been read.

OidcConfigInfo

Description

Contains the OpenID Connect (OIDC) configuration information for Single Sign-On (SSO) authentication, including identity provider settings and client credentials.

Members
applicationId
Type: int

The unique identifier for the registered OIDC application. Valid range is 1-10.

applicationName
Type: string

The name of the OIDC application as registered with the identity provider.

caCertificate
Type: string

The X.509 CA certificate for validating SSL/TLS connections to the identity provider when using self-signed or enterprise certificates.

clientId
Type: string

The OAuth client ID assigned by the identity provider for authentication requests.

clientSecret
Type: string

The OAuth client secret used to authenticate the application with the identity provider.

companyId
Required: Yes
Type: string

Custom identifier your end users will use to sign in with SSO.

customUsername
Type: string

A custom field mapping to extract the username from the OIDC token when the standard username claim is insufficient.

extraAuthParams
Type: string

Additional authentication parameters to include in the OIDC authorization request as a query string. Useful for provider-specific extensions.

issuer
Required: Yes
Type: string

The issuer URL of the identity provider, which serves as the base URL for OIDC endpoints and configuration discovery.

redirectUrl
Type: string

The callback URL where the identity provider redirects users after successful authentication. This URL must be registered with the identity provider.

scopes
Required: Yes
Type: string

The OAuth scopes requested from the identity provider, which determine what user information is accessible (e.g., 'openid profile email').

secret
Type: string

An additional secret credential used by the identity provider for authentication.

ssoTokenBufferMinutes
Type: int

The grace period in minutes before the SSO token expires when the system should proactively refresh the token to maintain seamless user access.

userId
Type: string

The claim field from the OIDC token to use as the unique user identifier (e.g., 'email', 'sub', or a custom claim).

OidcTokenInfo

Description

Contains OAuth token information returned from the identity provider, including access tokens, ID tokens, and PKCE parameters used for secure authentication.

Members
accessToken
Type: string

The OAuth access token that can be used to access protected resources on behalf of the authenticated user.

codeChallenge
Type: string

The PKCE code challenge, a transformed version of the code verifier sent during the authorization request for verification.

codeVerifier
Type: string

The PKCE (Proof Key for Code Exchange) code verifier, a cryptographically random string used to enhance security in the OAuth flow.

expiresIn
Type: long (int|float)

The lifetime of the access token in seconds, indicating when the token will expire and need to be refreshed.

idToken
Type: string

The OpenID Connect ID token containing user identity information and authentication context as a signed JWT.

refreshToken
Type: string

The OAuth refresh token that can be used to obtain new access tokens without requiring the user to re-authenticate.

tokenType
Type: string

The type of access token issued, typically 'Bearer', which indicates how the token should be used in API requests.

PasswordRequirements

Description

Defines password complexity requirements for users in a security group, including minimum length and character type requirements.

Members
lowercase
Type: int

The minimum number of lowercase letters required in passwords.

minLength
Type: int

The minimum password length in characters.

numbers
Type: int

The minimum number of numeric characters required in passwords.

symbols
Type: int

The minimum number of special symbol characters required in passwords.

uppercase
Type: int

The minimum number of uppercase letters required in passwords.

PermittedWickrEnterpriseNetwork

Description

Identifies a Wickr enterprise network that is permitted for global federation, allowing users to communicate with members of the specified network.

Members
domain
Required: Yes
Type: string

The domain identifier for the permitted Wickr enterprise network.

networkId
Required: Yes
Type: string

The network ID of the permitted Wickr enterprise network.

RateLimitError

Description

The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application.

Members
message
Type: string

A message indicating that the rate limit was exceeded and suggesting when to retry.

ReadReceiptConfig

Description

Configuration for read receipts at the network level, controlling whether senders can see when their messages have been read.

Members
status
Type: string

The read receipt status mode for the network.

ResourceNotFoundError

Description

The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted.

Members
message
Type: string

A message identifying which resource was not found.

SecurityGroup

Description

Represents a security group in a Wickr network, containing membership statistics, configuration, and all permission settings that apply to its members.

Members
activeDirectoryGuid
Type: string

The GUID of the Active Directory group associated with this security group, if synchronized with LDAP.

activeMembers
Required: Yes
Type: int

The number of active user members currently in the security group.

botMembers
Required: Yes
Type: int

The number of bot members currently in the security group.

id
Required: Yes
Type: string

The unique identifier of the security group.

isDefault
Required: Yes
Type: boolean

Indicates whether this is the default security group for the network. Each network has only one default group.

modified
Required: Yes
Type: int

The timestamp when the security group was last modified, specified in epoch seconds.

name
Required: Yes
Type: string

The human-readable name of the security group.

securityGroupSettings
Required: Yes
Type: SecurityGroupSettings structure

The comprehensive configuration settings that define capabilities and restrictions for members of this security group.

SecurityGroupSettings

Description

Comprehensive configuration settings that define all user capabilities, restrictions, and features for members of a security group. These settings control everything from calling permissions to federation settings to security policies.

Members
alwaysReauthenticate
Type: boolean

Requires users to reauthenticate every time they return to the application, providing an additional layer of security.

atakPackageValues
Type: Array of strings

Configuration values for ATAK (Android Team Awareness Kit) package integration, when ATAK is enabled.

calling
Type: CallingSettings structure

The calling feature permissions and settings that control what types of calls users can initiate and participate in.

checkForUpdates
Type: boolean

Enables automatic checking for Wickr client updates to ensure users stay current with the latest version.

enableAtak
Type: boolean

Enables ATAK (Android Team Awareness Kit) integration for tactical communication and situational awareness.

enableCrashReports
Type: boolean

Allow users to report crashes.

enableFileDownload
Type: boolean

Specifies whether users can download files from messages to their devices.

enableGuestFederation
Type: boolean

Allows users to communicate with guest users from other Wickr networks and federated external networks.

enableNotificationPreview
Type: boolean

Enables message preview text in push notifications, allowing users to see message content before opening the app.

enableOpenAccessOption
Type: boolean

Allow users to avoid censorship when they are geo-blocked or have network limitations.

enableRestrictedGlobalFederation
Type: boolean

Enables restricted global federation, limiting external communication to only specified permitted networks.

federationMode
Type: int

The local federation mode controlling how users can communicate with other networks. Values: 0 (none), 1 (federated), 2 (restricted).

filesEnabled
Type: boolean

Enables file sharing capabilities, allowing users to send and receive files in conversations.

forceDeviceLockout
Type: int

Defines the number of failed login attempts before data stored on the device is reset. Should be less than lockoutThreshold.

forceOpenAccess
Type: boolean

Automatically enable and enforce Wickr open access on all devices. Valid only if enableOpenAccessOption settings is enabled.

forceReadReceipts
Type: boolean

Allow user approved bots to read messages in rooms without using a slash command.

globalFederation
Type: boolean

Allows users to communicate with users on other Wickr instances (Wickr Enterprise) outside the current network.

isAtoEnabled
Type: boolean

Enforces a two-factor authentication when a user adds a new device to their account.

isLinkPreviewEnabled
Type: boolean

Enables automatic preview of links shared in messages, showing webpage thumbnails and descriptions.

locationAllowMaps
Type: boolean

Allows map integration in location sharing, enabling users to view shared locations on interactive maps. Only allowed when location setting is enabled.

locationEnabled
Type: boolean

Enables location sharing features, allowing users to share their current location with others.

lockoutThreshold
Type: int

The number of failed password attempts before a user account is locked out.

maxAutoDownloadSize
Type: long (int|float)

The maximum file size in bytes that will be automatically downloaded without user confirmation. Only allowed if fileDownload is enabled. Valid Values [512000 (low_quality), 7340032 (high_quality) ]

maxBor
Type: int

The maximum burn-on-read (BOR) time in seconds, which determines how long messages remain visible before auto-deletion after being read.

maxTtl
Type: long (int|float)

The maximum time-to-live (TTL) in seconds for messages, after which they will be automatically deleted from all devices.

messageForwardingEnabled
Type: boolean

Enables message forwarding, allowing users to forward messages from one conversation to another.

passwordRequirements
Type: PasswordRequirements structure

The password complexity requirements that users must follow when creating or changing passwords.

permittedNetworks
Type: Array of strings

A list of network IDs that are permitted for local federation when federation mode is set to restricted.

permittedWickrAwsNetworks
Type: Array of WickrAwsNetworks structures

A list of permitted Wickr networks for global federation, restricting communication to specific approved networks.

permittedWickrEnterpriseNetworks
Type: Array of PermittedWickrEnterpriseNetwork structures

A list of permitted Wickr Enterprise networks for global federation, restricting communication to specific approved networks.

presenceEnabled
Type: boolean

Enables presence indicators that show whether users are online, away, or offline.

quickResponses
Type: Array of strings

A list of pre-defined quick response message templates that users can send with a single tap.

showMasterRecoveryKey
Type: boolean

Users will get a master recovery key that can be used to securely sign in to their Wickr account without having access to their primary device for authentication. Available in SSO enabled network.

shredder
Type: ShredderSettings structure

The message shredder configuration that controls secure deletion of messages and files from devices.

ssoMaxIdleMinutes
Type: int

The duration for which users SSO session remains inactive before automatically logging them out for security. Available in SSO enabled network.

SecurityGroupSettingsRequest

Description

Contains the security group configuration settings that can be specified when creating or updating a security group. This is a subset of SecurityGroupSettings containing only the modifiable federation and security settings.

Members
enableGuestFederation
Type: boolean

Guest users let you work with people outside your organization that only have limited access to Wickr. Only valid when federationMode is set to Global.

enableRestrictedGlobalFederation
Type: boolean

Enables restricted global federation to limit communication to specific permitted networks only. Requires globalFederation to be enabled.

federationMode
Type: int

The local federation mode. Values: 0 (none), 1 (federated - all networks), 2 (restricted - only permitted networks).

globalFederation
Type: boolean

Allow users to securely federate with all Amazon Web Services Wickr networks and Amazon Web Services Enterprise networks.

lockoutThreshold
Type: int

The number of failed password attempts before a user account is locked out.

permittedNetworks
Type: Array of strings

A list of network IDs that are permitted for local federation when federation mode is set to restricted.

permittedWickrAwsNetworks
Type: Array of WickrAwsNetworks structures

A list of permitted Amazon Web Services Wickr networks for restricted global federation.

permittedWickrEnterpriseNetworks
Type: Array of PermittedWickrEnterpriseNetwork structures

A list of permitted Wickr Enterprise networks for restricted global federation.

Setting

Description

Represents a single network-level configuration setting with its name, value, and data type. Settings control network-wide behaviors and features.

Members
optionName
Required: Yes
Type: string

The name of the network setting (e.g., 'enableClientMetrics', 'dataRetention').

type
Required: Yes
Type: string

The data type of the setting value (e.g., 'boolean', 'string', 'number').

value
Required: Yes
Type: string

The current value of the setting as a string. Boolean values are represented as 'true' or 'false'.

ShredderSettings

Description

Configuration for the message shredder feature, which securely deletes messages and files from devices to prevent data recovery.

Members
canProcessManually
Type: boolean

Specifies whether users can manually trigger the shredder to delete content.

intensity
Type: int

Prevents Wickr data from being recovered by overwriting deleted Wickr data. Valid Values: Must be one of [0, 20, 60, 100]

UnauthorizedError

Description

The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired.

Members
message
Type: string

A message explaining why the authentication failed.

UpdateUserDetails

Description

Contains the modifiable details for updating an existing user, including name, password, security group membership, and invitation settings.

A user can only be assigned to a single security group. Attempting to add a user to multiple security groups is not supported and will result in an error.

Members
codeValidation
Type: boolean

Indicates whether the user can be verified through a custom invite code.

firstName
Type: string

The new first name for the user.

inviteCode
Type: string

A new custom invite code for the user.

inviteCodeTtl
Type: int

The new time-to-live for the invite code in days.

lastName
Type: string

The new last name for the user.

securityGroupIds
Type: Array of strings

The updated list of security group IDs to which the user should belong.

username
Type: string

The new username or email address for the user.

User

Description

Represents a user account in a Wickr network with detailed profile information, status, security settings, and authentication details.

codeValidation, inviteCode and inviteCodeTtl are restricted to networks under preview only.

Members
cell
Type: string

The phone number minus country code, used for cloud deployments.

challengeFailures
Type: int

The number of failed password attempts for enterprise deployments, used for account lockout policies.

codeValidation
Type: boolean

Indicates whether the user can be verified through a custom invite code.

countryCode
Type: string

The country code for the user's phone number, used for cloud deployments.

firstName
Type: string

The first name of the user.

inviteCode
Type: string

The invitation code for this user, used during registration to join the network.

isAdmin
Type: boolean

Indicates whether the user has administrator privileges in the network.

isInviteExpired
Type: boolean

Indicates whether the user's email invitation code has expired, applicable to cloud deployments.

isUser
Type: boolean

Indicates whether this account is a user (as opposed to a bot or other account type).

lastName
Type: string

The last name of the user.

otpEnabled
Type: boolean

Indicates whether one-time password (OTP) authentication is enabled for the user.

scimId
Type: string

The SCIM (System for Cross-domain Identity Management) identifier for the user, used for identity synchronization. Currently not used.

securityGroups
Type: Array of strings

A list of security group IDs to which the user is assigned, determining their permissions and feature access.

status
Type: int

The current status of the user (1 for pending invitation, 2 for active).

suspended
Type: boolean

Indicates whether the user is currently suspended and unable to access the network.

type
Type: string

The descriptive type of the user account (e.g., 'user').

uname
Type: string

The unique identifier for the user.

userId
Type: string

The unique identifier for the user within the network.

username
Type: string

The email address or username of the user. For bots, this must end in 'bot'.

ValidationError

Description

One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry.

Members
reasons
Type: Array of ErrorDetail structures

A list of validation error details, where each item identifies a specific field that failed validation and explains the reason for the failure.

WickrAwsNetworks

Description

Identifies a Amazon Web Services Wickr network by region and network ID, used for configuring permitted networks for global federation.

Members
networkId
Required: Yes
Type: string

The network ID of the Wickr Amazon Web Services network.

region
Required: Yes
Type: string

The Amazon Web Services region identifier where the network is hosted (e.g., 'us-east-1').