{"name":"marketing","stage":"ga","description":"Package marketing is lifecycle email: drip sequences that reach the right people.","operations":[{"operationId":"get_marketing_audiences","method":"GET","href":"/v1/marketing/audiences","summary":"Returns the org's saved audiences, most recently updated first."},{"operationId":"post_marketing_audiences","method":"POST","href":"/v1/marketing/audiences","summary":"Saves a cohort filter for the caller's org."},{"operationId":"delete_marketing_audiences_by_id","method":"DELETE","href":"/v1/marketing/audiences/{id}","summary":"Removes one of the caller org's audiences and answers 204."},{"operationId":"get_marketing_audiences_by_id","method":"GET","href":"/v1/marketing/audiences/{id}","summary":"Returns one of the caller org's saved audiences."},{"operationId":"get_marketing_audiences_by_id_preview","method":"GET","href":"/v1/marketing/audiences/{id}/preview","summary":"Evaluates the cohort LIVE — the same resolution an enrollment would run — and reports how big it is and how many real mailboxes it reaches."},{"operationId":"get_marketing_beta","method":"GET","href":"/v1/marketing/beta","summary":"Answers the signed-in caller's waitlist record: the application as it stands, the betas asked for, the points and the actions that earned them, and the place on the waitlist."},{"operationId":"put_marketing_beta","method":"PUT","href":"/v1/marketing/beta","summary":"Writes the signed-in caller's application: the program, the answers, the betas asked for and the lead it was filed under."},{"operationId":"post_marketing_beta_actions","method":"POST","href":"/v1/marketing/beta/actions","summary":"Counts one action of the signed-in caller: a star on a Hanzo repository, verified on GitHub for the login named, or a follow of a founder's link, taken on trust."},{"operationId":"get_marketing_beta_invites","method":"GET","href":"/v1/marketing/beta/invites","summary":"Answers the caller's invites, newest first, with how many were sent, how many joined, and how many more they may send now."},{"operationId":"post_marketing_beta_invites","method":"POST","href":"/v1/marketing/beta/invites","summary":"Reserves an invite for each address the limits admit and answers the message the member's mailbox sends for each: subject, text and HTML, the unsubscribe headers, with the member's referral link for that invite and a one-click unsubscribe for that address."},{"operationId":"post_marketing_beta_invites_sent","method":"POST","href":"/v1/marketing/beta/invites/sent","summary":"Records what the member's browser did with its reservations: the invites sent, and the ones that failed with the mailbox's reason."},{"operationId":"post_marketing_beta_request","method":"POST","href":"/v1/marketing/beta/request","summary":"Adds betas to those the signed-in caller asked for, creating the record when there is none."},{"operationId":"get_marketing_calendar","method":"GET","href":"/v1/marketing/calendar","summary":"Returns the org's calendar, latest scheduled first, optionally narrowed to one status."},{"operationId":"post_marketing_calendar","method":"POST","href":"/v1/marketing/calendar","summary":"Adds a post to the content calendar."},{"operationId":"delete_marketing_calendar_by_id","method":"DELETE","href":"/v1/marketing/calendar/{id}","summary":"Removes one of the caller org's posts and answers 204."},{"operationId":"get_marketing_calendar_by_id","method":"GET","href":"/v1/marketing/calendar/{id}","summary":"Returns one of the caller org's posts, including the exact error behind a failed publish."},{"operationId":"put_marketing_calendar_by_id","method":"PUT","href":"/v1/marketing/calendar/{id}","summary":"Replaces a post's editable fields."},{"operationId":"get_marketing_campaigns","method":"GET","href":"/v1/marketing/campaigns","summary":"Returns the org's campaigns, most recently updated first, optionally narrowed to one lifecycle status."},{"operationId":"post_marketing_campaigns","method":"POST","href":"/v1/marketing/campaigns","summary":"Registers a campaign in the caller's org."},{"operationId":"delete_marketing_campaigns_by_id","method":"DELETE","href":"/v1/marketing/campaigns/{id}","summary":"Removes one of the caller org's campaigns and answers 204."},{"operationId":"get_marketing_campaigns_by_id","method":"GET","href":"/v1/marketing/campaigns/{id}","summary":"Returns one of the caller org's campaigns."},{"operationId":"put_marketing_campaigns_by_id","method":"PUT","href":"/v1/marketing/campaigns/{id}","summary":"Replaces a campaign's editable fields."},{"operationId":"post_marketing_campaigns_by_id_schedule","method":"POST","href":"/v1/marketing/campaigns/{id}/schedule","summary":"Sets a campaign's send time and moves it to \"scheduled\"."},{"operationId":"get_marketing_click","method":"GET","href":"/v1/marketing/click","summary":"Follows a tracked email link."},{"operationId":"post_marketing_leads","method":"POST","href":"/v1/marketing/leads","summary":"Files one public form in the deployment's own CRM."},{"operationId":"post_marketing_leads_esign","method":"POST","href":"/v1/marketing/leads/esign","summary":"Takes Hanzo eSign's webhook: a SAFE was signed, countersigned, completed, declined or voided, and the investor's form in the brand's CRM moves to that status."},{"operationId":"post_marketing_leads_resume","method":"POST","href":"/v1/marketing/leads/resume","summary":"Signs a form the careers page posts one resume through, into the brand org's private careers bucket, and answers the key to name on the application (`resume_file`)."},{"operationId":"post_marketing_mail","method":"POST","href":"/v1/marketing/mail","summary":"Sends one email from the org to one person, the way a person on the org's team writes back to a lead from its record."},{"operationId":"get_marketing_promos","method":"GET","href":"/v1/marketing/promos","summary":"Returns every promo the deployment offers with its live counters: how many orgs have redeemed it and how many redemptions remain under the cap."},{"operationId":"get_marketing_promos_by_code_eligibility","method":"GET","href":"/v1/marketing/promos/{code}/eligibility","summary":"Prices a promo against a plan and seat count."},{"operationId":"post_marketing_promos_by_code_redeem","method":"POST","href":"/v1/marketing/promos/{code}/redeem","summary":"Records the caller org's claim on a promo."},{"operationId":"get_marketing_promos_by_code_redemption","method":"GET","href":"/v1/marketing/promos/{code}/redemption","summary":"Returns the caller org's OWN redemption of a promo — an org-scoped read, so it can never surface another tenant's."},{"operationId":"get_marketing_sequences","method":"GET","href":"/v1/marketing/sequences","summary":"Returns the org's drip sequences, most recently updated first."},{"operationId":"post_marketing_sequences","method":"POST","href":"/v1/marketing/sequences","summary":"Registers a drip sequence in the caller's org."},{"operationId":"get_marketing_sequences_by_id","method":"GET","href":"/v1/marketing/sequences/{id}","summary":"Returns one of the caller org's sequences together with its steps in send order."},{"operationId":"post_marketing_sequences_by_id_enroll","method":"POST","href":"/v1/marketing/sequences/{id}/enroll","summary":"Adds one contact or a whole audience to a sequence and schedules the first step for each."},{"operationId":"get_marketing_sequences_by_id_enrollments","method":"GET","href":"/v1/marketing/sequences/{id}/enrollments","summary":"Returns who is walking one sequence, most recently enrolled first, with each walk's current step and next due time."},{"operationId":"post_marketing_sequences_by_id_enrollments_by_eid_cancel","method":"POST","href":"/v1/marketing/sequences/{id}/enrollments/{eid}/cancel","summary":"Stops one walk mid-sequence and answers 204: no further step is sent, and steps already delivered are not recalled."},{"operationId":"post_marketing_sequences_by_id_status","method":"POST","href":"/v1/marketing/sequences/{id}/status","summary":"Flips draft/active/archived — the activation gate for sending, since only an active sequence accepts enrollments."},{"operationId":"get_marketing_sequences_by_id_steps","method":"GET","href":"/v1/marketing/sequences/{id}/steps","summary":"Returns one sequence's steps in send order."},{"operationId":"post_marketing_sequences_by_id_steps","method":"POST","href":"/v1/marketing/sequences/{id}/steps","summary":"Appends a message to the END of a sequence: the new step's idx is one past the last, so steps arrive in the order they are added."},{"operationId":"get_marketing_summary","method":"GET","href":"/v1/marketing/summary","summary":"Rolls up the caller org's campaigns: how many there are, how many are active, and the summed budget and spend in cents."},{"operationId":"delete_marketing_suppressions","method":"DELETE","href":"/v1/marketing/suppressions","summary":"Re-subscribes an address on one channel and answers 204."},{"operationId":"get_marketing_suppressions","method":"GET","href":"/v1/marketing/suppressions","summary":"Returns the org's opt-out list, newest first — everyone the send gate will refuse to deliver to."},{"operationId":"post_marketing_suppressions","method":"POST","href":"/v1/marketing/suppressions","summary":"Records an opt-out for the org (admin / self-service management)."},{"operationId":"get_marketing_suppressions_check","method":"GET","href":"/v1/marketing/suppressions/check","summary":"Answers whether the org's send gate refuses an address, and which list holds it, by the same check every commercial send asks."},{"operationId":"get_marketing_unsubscribe","method":"GET","href":"/v1/marketing/unsubscribe","summary":"Is the PUBLIC one-click endpoint (no principal): a recipient clicks the signed link in an email footer."},{"operationId":"post_marketing_unsubscribe","method":"POST","href":"/v1/marketing/unsubscribe","summary":"Is the one-click unsubscribe a mail client sends from the List-Unsubscribe header (RFC 8058): the same signed link the footer carries, POSTed with the form body List-Unsubscribe=One-Click."}],"_links":{"describedby":{"href":"/v1/openapi.json?capability=marketing"},"self":{"href":"/v1/marketing"},"up":{"href":"/v1"}}}