# Organization API: Billing & Payouts: Store

> The 1 Organization API operations for store.

Source: https://www.coritan.com/docs/api/reference/organizations/billing-payouts/store/

Part of [Billing & Payouts](/docs/api/reference/organizations/billing-payouts/).

## Operations

| Method | Path | Summary |
| --- | --- | --- |
| POST | [`/api/v1/orgs/{org_slug}/store/webhooks/emailoctopus`](#op-post-api-v1-orgs-org-slug-store-webhooks-emailoctopus) | Contact events from EmailOctopus: who left the list, so the store stops emailing them too |

### Contact events from EmailOctopus: who left the list, so the store stops emailing them too {#op-post-api-v1-orgs-org-slug-store-webhooks-emailoctopus}

`POST /api/v1/orgs/{org_slug}/store/webhooks/emailoctopus`

Contact events from EmailOctopus: who left the list, so the store stops emailing them too.

In EmailOctopus, select your name, then Integrations & APIs, Webhooks and Add endpoint, with this
URL (the store's EmailOctopus integration answers it as ``webhook_url``) and at least the email events
Unsubscribed, Bounced and Complained. Save the endpoint's secret (View secret) as the integration's
``webhook_secret`` (``PUT .../commerce/integrations/emailoctopus``).

Each event for the integration's ``list_id`` whose contact unsubscribed, bounced or complained
(``contact.unsubscribed``, ``contact.bounced``, ``contact.complained``, or ``contact.created`` or
``contact.updated`` with ``contact_status`` ``UNSUBSCRIBED``, ``BOUNCED`` or ``COMPLAINED``) puts
``contact_email_address`` on the store's suppression list with the reason ``unsubscribed``,
``bounced`` or ``complained`` and the source ``emailoctopus``. That stops the store's marketing
emails to the address and turns off the marketing consent of the customer who has it. A contact who
joins or rejoins the list changes nothing in the store. The request is checked against
``EmailOctopus-Signature``: ``sha256=`` and the hex HMAC-SHA256 of the raw body under the secret.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `401` | The EmailOctopus-Signature header is missing or does not match the body. |
| `404` | The store is unknown, or its EmailOctopus integration has no webhook secret. |
| `413` | The body is larger than 2 MB. |
| `422` | The body is not a JSON list of EmailOctopus events. |
| `429` | More than 600 requests in an hour from one IP address. |

Fields of a `200` response:

| Field | Type | Description |
| --- | --- | --- |
| `received` | integer | The events in the request. |
| `suppressed` | integer | Addresses the events put on the suppression list. |
| `already` | integer | Addresses that were on the suppression list already. |
| `ignored` | integer | Events for another list, or for a change that is not an unsubscribe, a bounce or a complaint. |
