Get the workspace
The workspace that owns the API key: identity, postal address, quota usage, sending state and review state.
Requires the workspace:read scope.
ApiKeyAuthorization<token>Api-Key mc_... — a workspace API key.
application/json- response
id*stringname*stringpostalAddress*|nullusage*sendingStatus*review*frequencyCap*|nullsendWindow*|nullcurl -X GET 'https://api.mailcrate.io/public/workspace' \ -H 'Authorization: Api-Key <api_key>'{ "id": "string", "name": "string", "postalAddress": {}, "usage": {}, "sendingStatus": { "state": "active", "reason": "bounce-rate", "pausedAt": "2019-08-24T14:15:22Z" }, "review": { "sendingQuotaExempt": true, "firstLargeCampaignApproved": true, "threshold": 0 }, "frequencyCap": {}, "sendWindow": {}}Update a webhook endpoint PUT
Requires the `webhook:write` scope.
Update the workspace PUT
Patch semantics despite the verb: an omitted field is left alone and `null` clears it. Accepts `postalAddress`, `frequencyCap` and `sendWindow`; everything else on the workspace is read-only here, and unknown fields are rejected. **`frequencyCap`** is `{ maxSends: 1-50, windowHours: 1-720 }`: at most `maxSends` marketing emails to one contact in a rolling window, counted across campaigns, journeys and API sends. Transactional mail is never counted or blocked. A campaign skips a contact at the cap (a `suppressed` delivery with reason `frequency-cap`), a journey step waits until there is room, and a marketing-lane API send answers `200` with a `suppressed` delivery. **`sendWindow`** is `{ days: [0-6, Sunday = 0], start: "HH:mm", end: "HH:mm", timezone }`, with `end` after `start`. It is copied onto campaign drafts created afterwards, where it becomes the campaign's own setting; changing it does not move existing campaigns. Requires the `workspace:write` scope.