qna_questions_apply
# qna_questions_apply
Changes questions in the Q&A app (pApp A00009). Another app code is refused before any request. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once.
## Inputs
| Field | Required here | Contract |
| --- | --- | --- |
| `action` | Yes | When alternative 1: one of: `update`, `visibility`, `delete` (by `kind`) |
| `action.postId` | Yes | When alternative 1 and `action.kind` is `update`: integer; greater than 0 |
| `action.fields` | No | When alternative 1 and `action.kind` is `update`: object or object or object or object or object or object or object or object |
| `action.fields.title` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 1: string; min length 2; max length 200 |
| `action.fields.content` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 1: string; min length 2; max length 60000; Original editor HTML, conservatively limited to 60,000 serialized UTF-16 units. The source limits visible characters; rich documents over this bound require the console. Uploads use existing approved resource URLs. |
| `action.fields.uploadFileSrc` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 1: string; max length 4096; format `uri` or null |
| `action.fields.publishedAt` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 1: string; pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$` |
| `action.fields.title` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 2: string; min length 1; max length 100 |
| `action.fields.content` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 2: string; min length 2; max length 50000 |
| `action.fields.publishedAt` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 2: string; pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$` |
| `action.fields.thumbnailSrc` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 2: string; max length 4096; format `uri` or `` |
| `action.fields.coverImageSrc` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 2: string; max length 4096; format `uri` or `` |
| `action.fields.content` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 3: string; min length 2; max length 20000 |
| `action.fields.publishedAt` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 3: string; pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$` |
| `action.fields.title` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: string; min length 1; max length 200 |
| `action.fields.content` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: string; min length 0; max length 5000 |
| `action.fields.introduction` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: string; min length 0; max length 200 |
| `action.fields.uploadFileSrc` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: string; max length 4096; format `uri` |
| `action.fields.uploadFileSrcs` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: array; items: string; max length 4096; format `uri`; min items 1; max items 10; Complete retained file list when editing a resource. Preserve existing URLs when adding a file; the final file cannot be removed. |
| `action.fields.thumbnailSrc` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: string; max length 4096; format `uri` or `` |
| `action.fields.coverImageSrc` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: string; max length 4096; format `uri` or `` |
| `action.fields.publishedAt` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: string; pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$` |
| `action.fields.contentRatingsAge` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 4: integer; minimum 0 |
| `action.fields.title` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: string; min length 1; max length 50 |
| `action.fields.content` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: string; min length 2; max length 50000 or ``; Optional photobook text: empty or 2–50,000 UTF-16 units. Creation omits empty text; update sends an explicit empty string to clear it. |
| `action.fields.introduction` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: string; min length 0; max length 120 |
| `action.fields.publishedAt` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: string; pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$` |
| `action.fields.contentRatingsAge` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: integer; minimum 0 |
| `action.fields.storyResource` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: object |
| `action.fields.storyResource.type` | Yes | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: `IMAGE` |
| `action.fields.storyResource.imageSrcs` | Yes | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: array; items: string; max length 4096; format `uri`; min items 1; max items 50 |
| `action.fields.storyResource.audioSrcs` | Yes | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: array; max items 50 |
| `action.fields.storyResource.audioUse` | Yes | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 5: boolean |
| `action.fields.title` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 6: string; min length 2; max length 200 |
| `action.fields.content` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 6: string; min length 2; max length 20000 |
| `action.fields.boardCategoryId` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 6: integer; greater than 0 |
| `action.fields.boardCategoryLabelIds` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 6: array; items: integer; greater than 0; max items 1 |
| `action.fields.uploadFileSrcs` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 6: array; items: string; max length 4096; format `uri`; max items 100 |
| `action.fields.publishedAt` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 6: string; pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$` |
| `action.fields.content` | No | When alternative 1 and `action.kind` is `update` and `action.fields` is alternative 7: string; min length 2; max length 5000 |
| `action.articleImageUploads` | No | When alternative 1 and `action.kind` is `update`: object |
| `action.articleImageUploads.thumbnailTaskId` | No | When alternative 1 and `action.kind` is `update`: string; pattern `^[A-Za-z0-9_-]{8,80}$` |
| `action.articleImageUploads.coverTaskId` | No | When alternative 1 and `action.kind` is `update`: string; pattern `^[A-Za-z0-9_-]{8,80}$` |
| `action.timelineSelection` | No | When alternative 1 and `action.kind` is `update`: object |
| `action.timelineSelection.labelIds` | Yes | When alternative 1 and `action.kind` is `update`: array; items: integer; greater than 0; max items 50 |
| `action.postId` | Yes | When alternative 1 and `action.kind` is `visibility`: integer; greater than 0 |
| `action.isPublished` | Yes | When alternative 1 and `action.kind` is `visibility`: boolean |
| `action.postId` | Yes | When alternative 1 and `action.kind` is `delete`: integer; greater than 0 |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `delete`: `DELETE_POST`; Permanent removal has no source undo. Confirm the exact selected post. |
| `instanceCode` | No | When alternative 1: string; pattern `^A00009$`; Optional: which installed Q&A app to use (its code, such as A00009 or A90109). Omit it when only one is installed; when several are, pick one from the installed list. |
| `confirmToken` | No | When alternative 1: string; pattern `^ct[a-f\d]{32}$`; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute. |
| `action` | Yes | When alternative 2: one of: `article_selection`, `article_selection`, `article_selection`, `article_selection`, `article_selection` (by `kind`) |
| `action.operation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `publish` |
| `action.postIds` | Yes | When alternative 2 and `action.kind` is `article_selection`: array; items: integer; greater than 0; min items 1; max items 100 |
| `action.confirmation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `PUBLISH_SELECTED_ARTICLES` |
| `action.operation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `unpublish` |
| `action.postIds` | Yes | When alternative 2 and `action.kind` is `article_selection`: array; items: integer; greater than 0; min items 1; max items 100 |
| `action.confirmation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `UNPUBLISH_SELECTED_ARTICLES` |
| `action.operation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `delete` |
| `action.postIds` | Yes | When alternative 2 and `action.kind` is `article_selection`: array; items: integer; greater than 0; min items 1; max items 100 |
| `action.confirmation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `DELETE_SELECTED_ARTICLES` |
| `action.operation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `pin` |
| `action.postIds` | Yes | When alternative 2 and `action.kind` is `article_selection`: array; items: integer; greater than 0; min items 1; max items 100 |
| `action.confirmation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `PIN_SELECTED_POSTS` |
| `action.operation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `unpin` |
| `action.postIds` | Yes | When alternative 2 and `action.kind` is `article_selection`: array; items: integer; greater than 0; min items 1; max items 100 |
| `action.confirmation` | Yes | When alternative 2 and `action.kind` is `article_selection`: `UNPIN_SELECTED_POSTS` |
| `instanceCode` | No | When alternative 2: string; pattern `^A00009$`; Optional: which installed Q&A app to use (its code, such as A00009 or A90109). Omit it when only one is installed; when several are, pick one from the installed list. |
| `confirmToken` | No | When alternative 2: string; pattern `^ct[a-f\d]{32}$`; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute. |