@@ -89,16 +89,17 @@ console.log(newsletter._response.status); // 200
8989 - [ ` cloudnode.account.updateIdentity(username, [name]) ` ] ( #cloudnodeaccountupdateidentityusername-name )
9090 - [ ` cloudnode.auth.login(user, password) ` ] ( #cloudnodeauthloginuser-password )
9191 - [ ` cloudnode.auth.register(username, email, password) ` ] ( #cloudnodeauthregisterusername-email-password )
92- - [ ` cloudnode.newsletter.get(id) ` ] ( #cloudnodenewslettergetid )
93- - [ ` cloudnode.newsletter.list([limit], [page]) ` ] ( #cloudnodenewsletterlistlimit-page )
94- - [ ` cloudnode.newsletter.subscribe(id, email, [data]) ` ] ( #cloudnodenewslettersubscribeid-email-data )
95- - [ ` cloudnode.newsletters.listSubscriptions([limit], [page]) ` ] ( #cloudnodenewsletterslistsubscriptionslimit-page )
96- - [ ` cloudnode.newsletters.unsubscribe(subscription) ` ] ( #cloudnodenewslettersunsubscribesubscription )
92+ - [ ` cloudnode.newsletters.get(id) ` ] ( #cloudnodenewslettersgetid )
93+ - [ ` cloudnode.newsletters.list([limit], [page]) ` ] ( #cloudnodenewsletterslistlimit-page )
9794 - [ ` cloudnode.projects.create(name) ` ] ( #cloudnodeprojectscreatename )
9895 - [ ` cloudnode.projects.delete(id) ` ] ( #cloudnodeprojectsdeleteid )
9996 - [ ` cloudnode.projects.get(id) ` ] ( #cloudnodeprojectsgetid )
10097 - [ ` cloudnode.projects.list([limit], [page]) ` ] ( #cloudnodeprojectslistlimit-page )
10198 - [ ` cloudnode.projects.update(id, name) ` ] ( #cloudnodeprojectsupdateid-name )
99+ - [ ` cloudnode.subscriptions.create(newsletter, email, [data]) ` ] ( #cloudnodesubscriptionscreatenewsletter-email-data )
100+ - [ ` cloudnode.subscriptions.delete(id) ` ] ( #cloudnodesubscriptionsdeleteid )
101+ - [ ` cloudnode.subscriptions.get(id) ` ] ( #cloudnodesubscriptionsgetid )
102+ - [ ` cloudnode.subscriptions.list([limit], [page]) ` ] ( #cloudnodesubscriptionslistlimit-page )
102103 - [ ` cloudnode.token.create(permissions, lifetime, [note]) ` ] ( #cloudnodetokencreatepermissions-lifetime-note )
103104 - [ ` cloudnode.token.get(id) ` ] ( #cloudnodetokengetid )
104105 - [ ` cloudnode.token.getRequest(id, request) ` ] ( #cloudnodetokengetrequestid-request )
@@ -376,9 +377,9 @@ Create an account and session. After signing up, a welcome e-mail is sent to con
376377 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
377378 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
378379
379- <a name =" cloudnodenewslettergetid " ></a >
380+ <a name =" cloudnodenewslettersgetid " ></a >
380381
381- ### ` cloudnode.newsletter .get(id) `
382+ ### ` cloudnode.newsletters .get(id) `
382383
383384Get newsletter
384385
@@ -389,9 +390,9 @@ Get newsletter
389390 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
390391 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
391392
392- <a name =" cloudnodenewsletterlistlimit -page" ></a >
393+ <a name =" cloudnodenewsletterslistlimit -page" ></a >
393394
394- ### ` cloudnode.newsletter .list([limit], [page]) `
395+ ### ` cloudnode.newsletters .list([limit], [page]) `
395396
396397List newsletters
397398
@@ -402,52 +403,6 @@ List newsletters
402403 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
403404 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
404405
405- <a name =" cloudnodenewslettersubscribeid-email-data " ></a >
406-
407- ### ` cloudnode.newsletter.subscribe(id, email, [data]) `
408-
409- Subscribe to newsletter
410-
411- - ` id ` <code >[ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) </code > A newsletter ID.
412- - ` email ` <code >[ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) </code > Subscriber's email address.
413- - ` data ` <code >[ Record] ( https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type ) < ; [ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) , [ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) | [ number] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number ) | [ boolean] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean ) ></code > Additional data that this newsletter requires.
414- - Returns: <code >[ Promise] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise ) < ; [ Cloudnode.ApiResponse] ( #class-cloudnodeapiresponset ) < ; [ Cloudnode.NewsletterSubscription] ( #interface-cloudnodenewslettersubscription ) >></code >
415- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RESOURCE_NOT_FOUND"}</code >
416- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INVALID_DATA"}</code >
417- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "CONFLICT"}</code >
418- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RATE_LIMITED"}</code >
419- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
420- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
421-
422- <a name =" cloudnodenewsletterslistsubscriptionslimit-page " ></a >
423-
424- ### ` cloudnode.newsletters.listSubscriptions([limit], [page]) `
425-
426- List subscriptions of the authenticated user. Requires token with scope ` newsletter.subscriptions.list.own ` .
427-
428- - ` limit ` <code >[ number] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number ) </code > The number of subscriptions to return per page. No more than 50. Default: ` 10 `
429- - ` page ` <code >[ number] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number ) </code > The page number. No more than 2³² (4294967296). Default: ` 1 `
430- - Returns: <code >[ Promise] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise ) < ; [ Cloudnode.ApiResponse] ( #class-cloudnodeapiresponset ) < ; [ Cloudnode.PaginatedData] ( #interface-cloudnodepaginateddatat ) < ; [ Cloudnode.DatedNewsletterSubscription[ ]] ( #interface-cloudnodedatednewslettersubscription ) >>></code >
431- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "UNAUTHORIZED"}</code >
432- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "NO_PERMISSION"}</code >
433- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RATE_LIMITED"}</code >
434- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
435- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
436-
437- <a name =" cloudnodenewslettersunsubscribesubscription " ></a >
438-
439- ### ` cloudnode.newsletters.unsubscribe(subscription) `
440-
441- Revoke a subscription (unsubscribe)
442-
443- - ` subscription ` <code >[ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) </code > The ID of the subscription to revoke.
444- - Returns: <code >[ Promise] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise ) < ; [ Cloudnode.ApiResponse] ( #class-cloudnodeapiresponset ) < ; [ void] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined ) >></code >
445- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RESOURCE_NOT_FOUND"}</code >
446- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INVALID_DATA"}</code >
447- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RATE_LIMITED"}</code >
448- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
449- - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
450-
451406<a name =" cloudnodeprojectscreatename " ></a >
452407
453408### ` cloudnode.projects.create(name) `
@@ -525,6 +480,65 @@ Update a project. Requires token with scope `projects.update.own`.
525480 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
526481 - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
527482
483+ <a name =" cloudnodesubscriptionscreatenewsletter-email-data " ></a >
484+
485+ ### ` cloudnode.subscriptions.create(newsletter, email, [data]) `
486+
487+ Subscribe to newsletter
488+
489+ - ` newsletter ` <code >[ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) </code > The ID of the newsletter to subscribe to.
490+ - ` email ` <code >[ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) </code > Subscriber's email address.
491+ - ` data ` <code >[ Record] ( https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type ) < ; [ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) , [ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) | [ number] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number ) | [ boolean] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean ) ></code > Additional data that this newsletter requires.
492+ - Returns: <code >[ Promise] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise ) < ; [ Cloudnode.ApiResponse] ( #class-cloudnodeapiresponset ) < ; [ Cloudnode.NewsletterSubscription] ( #interface-cloudnodenewslettersubscription ) >></code >
493+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RESOURCE_NOT_FOUND"}</code >
494+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INVALID_DATA"}</code >
495+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "CONFLICT"}</code >
496+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RATE_LIMITED"}</code >
497+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
498+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
499+
500+ <a name =" cloudnodesubscriptionsdeleteid " ></a >
501+
502+ ### ` cloudnode.subscriptions.delete(id) `
503+
504+ Unsubscribe from newsletter
505+
506+ - ` id ` <code >[ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) </code > The ID of the subscription to revoke.
507+ - Returns: <code >[ Promise] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise ) < ; [ Cloudnode.ApiResponse] ( #class-cloudnodeapiresponset ) < ; [ void] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined ) >></code >
508+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RESOURCE_NOT_FOUND"}</code >
509+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INVALID_DATA"}</code >
510+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RATE_LIMITED"}</code >
511+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
512+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
513+
514+ <a name =" cloudnodesubscriptionsgetid " ></a >
515+
516+ ### ` cloudnode.subscriptions.get(id) `
517+
518+ Get newsletter subscription
519+
520+ - ` id ` <code >[ string] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String ) </code > The ID of the subscription to get.
521+ - Returns: <code >[ Promise] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise ) < ; [ Cloudnode.ApiResponse] ( #class-cloudnodeapiresponset ) < ; [ Cloudnode.DatedNewsletterSubscription] ( #interface-cloudnodedatednewslettersubscription ) >></code >
522+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RESOURCE_NOT_FOUND"}</code >
523+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RATE_LIMITED"}</code >
524+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
525+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
526+
527+ <a name =" cloudnodesubscriptionslistlimit-page " ></a >
528+
529+ ### ` cloudnode.subscriptions.list([limit], [page]) `
530+
531+ List newsletter subscriptions. Requires token with scope ` newsletter.subscriptions.list.own ` .
532+
533+ - ` limit ` <code >[ number] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number ) </code > The number of subscriptions to return per page. No more than 50. Default: ` 10 `
534+ - ` page ` <code >[ number] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number ) </code > The page number. No more than 2³² (4294967296). Default: ` 1 `
535+ - Returns: <code >[ Promise] ( https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise ) < ; [ Cloudnode.ApiResponse] ( #class-cloudnodeapiresponset ) < ; [ Cloudnode.PaginatedData] ( #interface-cloudnodepaginateddatat ) < ; [ Cloudnode.DatedNewsletterSubscription[ ]] ( #interface-cloudnodedatednewslettersubscription ) >>></code >
536+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "UNAUTHORIZED"}</code >
537+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "NO_PERMISSION"}</code >
538+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "RATE_LIMITED"}</code >
539+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "INTERNAL_SERVER_ERROR"}</code >
540+ - Throws: <code >[ Cloudnode.Error] ( #interface-cloudnodeerror ) & {code: "MAINTENANCE"}</code >
541+
528542<a name =" cloudnodetokencreatepermissions-lifetime-note " ></a >
529543
530544### ` cloudnode.token.create(permissions, lifetime, [note]) `
0 commit comments