public static function create(
        string $name,
        string $status,
        string $avatarUuid,
        int $monetaryAccountId = null,
        Geolocation $location = null,
        array $notificationFilters = null,
        array $tabTextWaitingScreen = null,
        array $customHeaders = []
    ): BunqResponseInt {
        $apiClient = new ApiClient(static::getApiContext());
        $responseRaw = $apiClient->post(
            vsprintf(
                self::ENDPOINT_URL_CREATE,
                [static::determineUserId(), static::determineMonetaryAccountId($monetaryAccountId)]
            ),
            [
                self::FIELD_NAME => $name,
                self::FIELD_STATUS => $status,
                self::FIELD_AVATAR_UUID => $avatarUuid,
                self::FIELD_LOCATION => $location,
                self::FIELD_NOTIFICATION_FILTERS => $notificationFilters,
                self::FIELD_TAB_TEXT_WAITING_SCREEN => $tabTextWaitingScreen,
            ],
            $customHeaders
        );

        return BunqResponseInt::castFromBunqResponse(
            static::processForId($responseRaw)
        );
    }