Properties
| Name | Type | Description |
|---|---|---|
| version | object | The new version for the updated content. Set this to the current version number incremented by one, unless you are changing the status to 'draft' which must have a version number of 1. To get the curr |
| title | string | The updated title of the content. If you are updating a non-draft `page` or `blogpost`, title is required. If you are not changing the title, set this field to the the current title. |
| type | string | The type of content. Set this to the current type of the content. For example, - page - blogpost - comment - attachment |
| status | string | The updated status of the content. Note, if you change the status of a page from 'current' to 'draft' and it has an existing draft, the existing draft will be deleted in favor of the updated page. |
| ancestors | array | The new parent for the content. Only one parent content 'id' can be specified. |
| body | object | The updated body of the content. Does not apply to attachments. If you are not sure how to generate these formats, you can create a page in the Confluence application, retrieve the content using [Get |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ContentUpdate",
"title": "ContentUpdate",
"required": [
"type",
"version"
],
"type": "object",
"additionalProperties": true,
"properties": {
"version": {
"nullable": true,
"required": [
"number"
],
"type": "object",
"additionalProperties": true,
"properties": {
"number": {
"type": "integer",
"description": "The version number.",
"format": "int32"
},
"message": {
"type": "string",
"description": "An optional message to be stored with the corresponding version.",
"nullable": true
}
},
"description": "The new version for the updated content. Set this to the current version number incremented by one, unless you are changing the status to 'draft' which must have a version number of 1.\n\nTo get the current version number, use [Get content by ID](#api-content-id-get) and retrieve `version.number`.",
"example": "example_value"
},
"title": {
"nullable": true,
"maxLength": 255,
"type": "string",
"description": "The updated title of the content. If you are updating a non-draft `page` or `blogpost`, title is required. If you are not changing the title, set this field to the the current title.",
"example": "Example Title"
},
"type": {
"nullable": true,
"type": "string",
"description": "The type of content. Set this to the current type of the content. For example, - page - blogpost - comment - attachment",
"example": "example_value"
},
"status": {
"type": "string",
"description": "The updated status of the content. Note, if you change the status of a page from\n'current' to 'draft' and it has an existing draft, the existing draft will be deleted\nin favor of the updated page.",
"enum": [
"current",
"trashed",
"deleted",
"historical",
"draft"
],
"example": "current"
},
"ancestors": {
"nullable": true,
"type": "array",
"description": "The new parent for the content. Only one parent content 'id' can be specified.",
"items": {
"required": [
"id"
],
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "The `id` of the parent content."
}
}
},
"example": []
},
"body": {
"type": "object",
"properties": {
"view": {
"$ref": "#/components/schemas/ContentBodyCreate"
},
"export_view": {
"$ref": "#/components/schemas/ContentBodyCreate"
},
"styled_view": {
"$ref": "#/components/schemas/ContentBodyCreate"
},
"storage": {
"$ref": "#/components/schemas/ContentBodyCreateStorage"
},
"editor": {
"$ref": "#/components/schemas/ContentBodyCreate"
},
"editor2": {
"$ref": "#/components/schemas/ContentBodyCreate"
},
"wiki": {
"$ref": "#/components/schemas/ContentBodyCreate"
},
"atlas_doc_format": {
"$ref": "#/components/schemas/ContentBodyCreate"
},
"anonymous_export_view": {
"$ref": "#/components/schemas/ContentBodyCreate"
}
},
"description": "The updated body of the content. Does not apply to attachments.\nIf you are not sure how to generate these formats, you can create a page in the\nConfluence application, retrieve the content using [Get content](#api-content-get),\nand expand the desired content format, e.g. `expand=body.storage`.",
"example": "example_value"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/atlassian-contentupdate"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.