Save how-it-works block

Replace the 'how it works' blocks for a company. Deletes all existing blocks for the given company_id + type, then inserts the supplied blocks. Each block's image may be an existing URL (stored as-is) or a data:image/.base64.. data URI, which is decoded and uploaded to S3 (how-it-works/<uniqid>.<ext>), with the resulting public URL stored as image_url.

Auth: Both — authentication bearer token. Target company comes from the company_id body field; no ownership/partner-tree scoping, so any authenticated Partner or Account user can write blocks for any company id. Role only changes which company_id you pass.

Rate limit: No rate limit.

Request

  • Body:
FieldTypeRequiredNotes
company_idintegerrequiredMust be an existing account.
typestringoptional (nullable)One of landing_page, widget. Used both for the pre-delete scope and stored on each row; if omitted, rows are deleted/saved with type = null.
howItWorksarrayrequiredFull replacement set of blocks.
howItWorks.*.contentstringrequiredHTML content of the block.
howItWorks.*.imagestringrequiredExisting URL (stored verbatim) or a base64 data:image/. URI (decoded + uploaded to S3).
howItWorks.*.imageDirectionstringrequiredOne of left, right.

Response{ data. } envelope (nested). The endpoint returns no persisted rows.

  • data.status (string) — literal "success".
  • data.message (string) — "Block content saved successfully".
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
integer
string
howItWorks
array of objects
howItWorks
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json