Save FAQ entries

Overview

Replace the FAQ entries for an account. Within a DB transaction it deletes all existing FAQ entries for the given company_id + type, then inserts the supplied FAQ entries.

Prerequisites

  • A bearer token. Callable with Partner and Account tokens.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

POST /api/v1/account/faq/save

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Who can call it: Partner and Account tokens.

  • Target company comes from the company_id body field. There is no ownership/partner-tree scoping, so any authenticated Partner or Account user can write FAQs for any company id.

  • Role only changes which company_id you pass.

Rate limit

  • No rate limit.

Request body

  • Body:
FieldTypeRequiredDescription
company_idintegerrequiredMust be an existing account.
typestringoptional (nullable)One of landing_page, widget. The endpoint stores scopes the pre-delete and on each row; if omitted, rows are deleted/saved with type = null.
faqsarrayrequiredFull replacement set of FAQ entries.
faqs.*.questionstringrequiredFAQ question text.
faqs.*.answerstringrequiredFAQ answer text.
faqs.*.statusstringrequiredOne of active, inactive.
{
  "company_id": 42,
  "type": "landing_page",
  "faqs": [
    {
      "question": "How do I leave a review?",
      "answer": "Click the link in the email we sent you.",
      "status": "active"
    },
    {
      "question": "Can I edit my review?",
      "answer": "Contact support to make changes.",
      "status": "inactive"
    }
  ]
}

Response

  • data.status (string) — literal "success".
  • data.message (string) — "FAQ saved successfully".
  • data.data (array) — the faqs array exactly as submitted.

200 OK · 200

{
  "data": {
    "status": "success",
    "data": [
      {
        "question": "How long does delivery take?",
        "answer": "Most orders arrive within 3-5 business days.",
        "status": "active"
      },
      {
        "question": "Do you offer refunds?",
        "answer": "Yes, within 30 days of purchase.",
        "status": "inactive"
      }
    ],
    "message": "FAQ saved successfully"
  }
}

422 Validation error · 422

{
  "message": "The faqs field is required.",
  "errors": {
    "faqs": ["The faqs field is required."],
    "faqs.0.status": ["The selected faqs.0.status is invalid."]
  }
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
422Validation error
500Unexpected server error

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/account/faq/save" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"company_id": 42, "type": "landing_page", "faqs": [{"question": "How do I leave a review?", "answer": "Click the link in the email we sent you.", "status": "active"}, {"question": "Can I edit my review?", "answer": "Contact support to make changes.", "status": "inactive"}]}'

Did this page help you?