Update Post
The updatePost
mutation allows you to update an existing post with new properties in your Teachify school.
Input Parameters
Field | Type | Description |
---|---|---|
id | String! | ID of the post to update |
input | AdminPostInput! | Input object containing post update details |
AdminPostInput Fields
Field | Type | Required | Description |
---|---|---|---|
title | String! | Yes | Post title |
subtitle | String | No | Post subtitle |
body | String! | Yes | Post body content |
excerpt | String | No | Post excerpt |
slug | String! | Yes | URL slug for the post. Must contain only lowercase letters, numbers, and hyphens |
accessType | String! | Yes | Access type for the post (login_required, paid, public_access) |
published | Boolean | No | Whether the post is published |
publishedAt | Int | No | Unix timestamp when the post should be published |
categoryId | String | No | ID of category to associate with this post |
tagList | [String!] | No | Tags to associate with this post |
userId | String | No | ID of the user (author) for this post |
Return Type
type AdminPostUpdatePayload { # Array of error messages, if any occurred during the operation errors: [String!]
# The updated post object, null if operation failed post: AdminPost}
Example
mutation UpdatePost { updatePost( id: "post_12345" input: { title: "Advanced GraphQL Techniques" subtitle: "Take your GraphQL skills to the next level" body: "In this advanced guide, we'll explore..." excerpt: "Master advanced GraphQL patterns" slug: "advanced-graphql-techniques" accessType: "paid" published: true tagList: ["graphql", "advanced", "optimization"] } ) { post { id title subtitle slug accessType published publishedAt tags updatedAt } errors }}
Sample Response
{ "data": { "updatePost": { "post": { "id": "post_12345", "title": "Advanced GraphQL Techniques", "subtitle": "Take your GraphQL skills to the next level", "slug": "advanced-graphql-techniques", "accessType": "paid", "published": true, "publishedAt": 1687436400, "tags": ["graphql", "advanced", "optimization"], "updatedAt": 1687436500 }, "errors": [] } }}
Common Errors
Error | Description |
---|---|
Post not found | The specified post ID does not exist |
Title cannot be empty | The post title is required |
Body cannot be empty | The post body content is required |
Slug already exists | The provided slug is already in use by another post |
Invalid access type | The accessType must be one of: login_required, paid, public_access |
Category not found | The specified category ID does not exist |
User not found | The specified user ID does not exist |
Related Resources
- Create Post - Create a new post
- Delete Post - Delete a post
- Post Management - Overview of post operations
For more information about the Teachify Admin API, please refer to the API Overview.