newsletter

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-newsletter"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/6ddb6b60-e4af-4ab8-9e30-d59475817fd4/social-card.svg?v=3e7ae33eec8b" alt="newsletter" width="600" height="315"></a>
GEThttps://hermeticor.com/v1/newsletter/members

Parameters

statusstringquery
trialing | active | past_due | canceled | paused | comped | gifted
tierIdstringquery
limitintegerquery
= 50
cursorstringquery

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/newsletter/members" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "profileId": "string",
      "email": "string",
      "tierId": "string",
      "tierName": "string",
      "status": "trialing",
      "interval": "month",
      "source": "string",
      "mrrMinor": 0,
      "currency": "string",
      "periodEnd": "2024-01-01T00:00:00Z",
      "trialEnd": "2024-01-01T00:00:00Z",
      "cancelAtPeriodEnd": true,
      "stripeCustomerId": "string",
      "stripeSubscriptionId": "string"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem194[]required
Show child parameters
idstringrequired
profileIdstringrequired
emailstringrequired
tierIdstringrequired
tierNamestringrequired
statusstringrequired
trialing | active | past_due | canceled | paused | comped | gifted
intervalstringrequired
month | year
sourcestringrequired
mrrMinorintegerrequired
currencystringrequired
periodEndstringrequired
trialEndstringrequired
cancelAtPeriodEndbooleanrequired
stripeCustomerIdstringrequired
stripeSubscriptionIdstringrequired
nextCursorstringrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · GET /v1/newsletter/members

POSThttps://hermeticor.com/v1/newsletter/members/comp

Grant free paid access (optionally until a date)

Request body

application/json
emailstring
profileIdstring
tierIdstringrequired
expiresAtstring
{
  "email": "string",
  "profileId": "string",
  "tierId": "string",
  "expiresAt": "2024-01-01T00:00:00Z"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/members/comp" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"string","profileId":"string","tierId":"string","expiresAt":"2024-01-01T00:00:00Z"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "id": "string",
  "profileId": "string",
  "email": "string",
  "tierId": "string",
  "tierName": "string",
  "status": "trialing",
  "interval": "month",
  "source": "string",
  "mrrMinor": 0,
  "currency": "string",
  "periodEnd": "2024-01-01T00:00:00Z",
  "trialEnd": "2024-01-01T00:00:00Z",
  "cancelAtPeriodEnd": true,
  "stripeCustomerId": "string",
  "stripeSubscriptionId": "string"
}
Schema
idstringrequired
profileIdstringrequired
emailstringrequired
tierIdstringrequired
tierNamestringrequired
statusstringrequired
trialing | active | past_due | canceled | paused | comped | gifted
intervalstringrequired
month | year
sourcestringrequired
mrrMinorintegerrequired
currencystringrequired
periodEndstringrequired
trialEndstringrequired
cancelAtPeriodEndbooleanrequired
stripeCustomerIdstringrequired
stripeSubscriptionIdstringrequired
4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

DELETEhttps://hermeticor.com/v1/newsletter/members/{profileId}/comp

Parameters

profileIdstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/newsletter/members/{profileId}/comp" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

POSThttps://hermeticor.com/v1/newsletter/members/import

Import paid subscribers with their existing Stripe customer/subscription ids. Reads from Stripe only: nobody is charged or re-subscribed.

Request body

application/json
rowsobject[]required
Show child parameters
emailstringrequired
stripeCustomerIdstring
stripeSubscriptionIdstring
tierIdstringrequired
intervalstring
month | year = month
statusstring
active | trialing | past_due | canceled = active
periodEndstring
amountMinorinteger
dryRunboolean
= false
attestedBystring
{
  "rows": [
    {
      "email": "string",
      "stripeCustomerId": "string",
      "stripeSubscriptionId": "string",
      "tierId": "string",
      "interval": "month",
      "status": "active",
      "periodEnd": "2024-01-01T00:00:00Z",
      "amountMinor": 0
    }
  ],
  "dryRun": false,
  "attestedBy": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/members/import" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rows":[{"email":"string","stripeCustomerId":"string","stripeSubscriptionId":"string","tierId":"string","interval":"month","status":"active","periodEnd":"2024-01-01T00:00:00Z","amountMinor":0}],"dryRun":false,"attestedBy":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "imported": 0,
  "failed": [
    {
      "row": 0,
      "error": "string"
    }
  ],
  "dryRun": true
}
Schema
importedintegerrequired
failedErrorsItem2[]required
Show child parameters
rowintegerrequired
errorstringrequired
dryRunbooleanrequired
4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

POSThttps://hermeticor.com/v1/newsletter/members/{profileId}/change-plan

Upgrade or downgrade (prorated)

Parameters

profileIdstringpathrequired

Request body

application/json
tierIdstringrequired
intervalstring
month | year
{
  "tierId": "string",
  "interval": "month"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/members/{profileId}/change-plan" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tierId":"string","interval":"month"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

POSThttps://hermeticor.com/v1/newsletter/members/{profileId}/cancel

Cancel at period end, or immediately

Parameters

profileIdstringpathrequired

Request body

application/json
immediatelyboolean
= false
{
  "immediately": false
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/members/{profileId}/cancel" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"immediately":false}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

POSThttps://hermeticor.com/v1/newsletter/members/{profileId}/resume

Parameters

profileIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/members/{profileId}/resume" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

POSThttps://hermeticor.com/v1/newsletter/members/{profileId}/pause

Parameters

profileIdstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/members/{profileId}/pause" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

POSThttps://hermeticor.com/v1/newsletter/members/{profileId}/portal

Stripe customer portal link for this member

Parameters

profileIdstringpathrequired

Request body

application/json
returnUrlstring
{
  "returnUrl": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/newsletter/members/{profileId}/portal" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"returnUrl":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "url": "string"
}
Schema
urlstringrequired
4XX Default Response

Same as 4XX · GET /v1/newsletter/members

5XX Default Response

Same as 4XX · GET /v1/newsletter/members

Updated