Skip to content

batch_create_user

batch_create_user(
    network_id: NetworkId,
    users: BatchCreateUserRequestItems,
    *,
    config_overrides: Optional[WickrClientConfig] = None,
    client_token: Optional[ClientToken] = None,
) -> BatchCreateUserResponse

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.

Parameters:

  • network_id (NetworkId) –

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

  • users (BatchCreateUserRequestItems) –

    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.

  • client_token (Optional[ClientToken], default: None ) –

    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.

Raises:

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Examples:

Create multiple users

>>> client.batch_create_user(network_id='12345678', users=[{'firstName': 'John', 'lastName': 'Doe', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe'], 'inviteCode': 'INVITE123', 'inviteCodeTtl': 7, 'codeValidation': True}, {'firstName': 'Jane', 'lastName': 'Smith', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe']}], client_token='550e8400-e29b-41d4-a716-446655440000')
Partial failure - duplicate user
>>> client.batch_create_user(network_id='12345678', users=[{'firstName': 'Alice', 'lastName': 'Johnson', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe']}, {'firstName': 'Bob', 'lastName': 'Wilson', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe']}])
Source code in docs_src/capo_wickr/_services/wickr.py
def batch_create_user(
    self,
    network_id: "capo_wickr.types.network_id.NetworkId",
    users: "capo_wickr.types.batch_create_user_request_items.BatchCreateUserRequestItems",
    *,
    config_overrides: Optional[WickrClientConfig] = None,
    client_token: Optional["capo_wickr.types.client_token.ClientToken"] = None,
) -> "capo_wickr.types.batch_create_user_response.BatchCreateUserResponse":
    """<p>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.</p> <note> <p> <code>codeValidation</code>, <code>inviteCode</code>, and <code>inviteCodeTtl</code> are restricted to networks under preview only.</p> </note>

    Args:
        network_id: <p>The ID of the Wickr network where users will be created.</p>
        users: <p>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.</p>
        client_token: <p>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.</p>

    Raises:
        capo_wickr.errors.bad_request_error.BadRequestError: <p>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.</p>
        capo_wickr.errors.forbidden_error.ForbiddenError: <p>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.</p>
        capo_wickr.errors.internal_server_error.InternalServerError: <p>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.</p>
        capo_wickr.errors.rate_limit_error.RateLimitError: <p>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.</p>
        capo_wickr.errors.resource_not_found_error.ResourceNotFoundError: <p>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.</p>
        capo_wickr.errors.unauthorized_error.UnauthorizedError: <p>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.</p>
        capo_wickr.errors.validation_error.ValidationError: <p>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.</p>
        capo_wickr.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Create multiple users

        >>> client.batch_create_user(network_id='12345678', users=[{'firstName': 'John', 'lastName': 'Doe', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe'], 'inviteCode': 'INVITE123', 'inviteCodeTtl': 7, 'codeValidation': True}, {'firstName': 'Jane', 'lastName': 'Smith', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe']}], client_token='550e8400-e29b-41d4-a716-446655440000')
        Partial failure - duplicate user

        >>> client.batch_create_user(network_id='12345678', users=[{'firstName': 'Alice', 'lastName': 'Johnson', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe']}, {'firstName': 'Bob', 'lastName': 'Wilson', 'username': '[email protected]', 'securityGroupIds': ['BCTY8Qhe']}])
    """

    def _handler(
        req: "OperationRequest[capo_wickr.types.batch_create_user_request.BatchCreateUserRequest]",
    ) -> OperationResponse[
        "capo_wickr.types.batch_create_user_response.BatchCreateUserResponse"
    ]:
        import capo_wickr._operations.wickr_admin_api.batch_create_user

        output, http_response = (
            capo_wickr._operations.wickr_admin_api.batch_create_user.batch_create_user(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_wickr.types.batch_create_user_request.BatchCreateUserRequest",
    ) -> dict[str, Any]:
        import capo_wickr.types.batch_create_user_request

        return capo_wickr.types.batch_create_user_request.redact_sensitive(input_)

    def _redact_output(
        output: "capo_wickr.types.batch_create_user_response.BatchCreateUserResponse",
    ) -> dict[str, Any]:
        import capo_wickr.types.batch_create_user_response

        return capo_wickr.types.batch_create_user_response.redact_sensitive(output)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "BatchCreateUser",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_wickr.types.batch_create_user_request.BatchCreateUserRequest = {
        "network_id": network_id,
        "users": users,
    }
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output