---
title: "Submit answers"
method: POST
path: "/api/apps/{app_id}/virality/submit-answers"
---

# Submit answers

`POST /api/apps/{app_id}/virality/submit-answers`

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Submits your answers to the questions from [Start social content flow](/api-reference/start-social-content-flow) and returns a content strategy to review.

Key each answer by the question `id`. Send `social_url` to match the writing voice of your own social profile. Answers replace any previously submitted for the app, and generating a new strategy discards the previous one. This endpoint fails with a 409 while a content plan is generating.

Accept the strategy by calling [Generate content plan](/api-reference/generate-content-plan), or change it first with [Refine content strategy](/api-reference/refine-content-strategy).

This endpoint calls a language model, so expect it to take a few seconds. It shares a limit of 15 requests per minute with the other social content endpoints.

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>

## Path parameters

- `app_id` string, required — ID of the app.

## Request body

- SubmitAnswersPayload
  - `answers` object, required — Your answers, keyed by the `id` of each question returned by [Start social content flow](/api-reference/start-social-content-flow). Send at most 10. Answers longer than 2000 characters are truncated, and a key containing `$` or `.` or longer than 200 characters is dropped.
  - `social_url` string, nullable — HTTPS URL of your social profile, used to match the writing voice of the generated content. Omit it to skip voice matching.

## Response `200`

Successful Response

- StrategyResponse — The app's social content strategy after the change.
  - `strategy_text` string — The content strategy, written as prose for you to review. Refine it with [Refine content strategy](/api-reference/refine-content-strategy), or accept it and call [Generate content plan](/api-reference/generate-content-plan).

## Other responses

- `400` — The request is invalid.
- `401` — Missing or invalid credentials.
- `403` — You don't have editor access to this app, or you used a workspace API key.
- `404` — App not found, or the social content feature is not enabled for your account.
- `409` — A content plan is currently generating for this app.
- `422` — Validation Error
- `429` — Rate limit exceeded (15 requests per minute).
- `500` — Generating the strategy failed. Retry the request.

## Changes

- **2026-08-25** `8dfd9c46c0b9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/idealspot/apis/base44-app-management-api/changes/api/apps/:app_id/virality/submit-answers/post.md)

---

[API](https://skmtc.dev/idealspot/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/idealspot/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/idealspot/base44-app-management-api/revisions/394136a6cdd4/schema)
