blogposts
add-blog-post-permissions
Add blog post permissions
Adds or replaces direct content permissions for the specified principals on a blog post. Permissions for other principals are preserved; use PUT to replace all permissions at once.
A principal can hold only one read or update permission. Adding read for a principal that currently has update downgrades that principal to read; adding update upgrades them. If the same request contains both operations for a principal, update takes precedence.
Reasserting a principal's existing permission is idempotent and returns a successful response without creating a duplicate entry.
Permissions required: Permission to edit the blog post or administer the space.
POST /blogposts/{id}/permissions
| Flag | Type | Required | Description |
|---|---|---|---|
--allow-self-lockout | string | No | If false (default), the request is rejected when it would remove the calling user's own edit access. |
Set to true to allow the operation even when it locks out the caller. | |||
--body | string | No | request body (JSON string, @file, or - for stdin) |
--id | string | Yes | The ID of the blog post. |
Example:
cf blogposts add-blog-post-permissions --id <id>create-blog-post
Create a blog post with storage format body
POST /blogposts
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | Blog post body in storage format XML (required) |
--space-id | string | No | Space ID to create blog post in (required) |
--title | string | No | Blog post title (required) |
Example:
cf blogposts create-blog-postcreate-property
Create content property for blog post
Creates a new property for a blogpost.
Permissions required: Permission to update the blog post.
POST /blogposts/{blogpost-id}/properties
| Flag | Type | Required | Description |
|---|---|---|---|
--blogpost-id | string | Yes | The ID of the blog post to create a property for. |
--body | string | No | request body (JSON string, @file, or - for stdin) |
Example:
cf blogposts create-property --blogpost-id <blogpost-id>delete-blog-post
Delete a blog post (moves to trash)
DELETE /blogposts/{id}
| Flag | Type | Required | Description |
|---|---|---|---|
--id | string | No | Blog post ID to delete (required) |
Example:
cf blogposts delete-blog-postdelete-blog-post-permissions
Delete blog post permissions
Deletes direct content permissions from a blog post. See DELETE /pages/{id}/permissions for filter semantics.
Permissions required: Permission to edit the blog post or administer the space.
DELETE /blogposts/{id}/permissions
| Flag | Type | Required | Description |
|---|---|---|---|
--allow-self-lockout | string | No | If false (default), the request is rejected when it would remove the calling user's own edit access. |
Set to true to allow the operation even when it locks out the caller. | |||
--id | string | Yes | The ID of the blog post. |
--operation | string | No | Filter by operation. Must be provided together with principal-type and principal-id. |
--principal-id | string | No | Filter by principal ID. Must be provided together with principal-type. |
--principal-type | string | No | Filter by principal type. Must be provided together with principal-id. |
Example:
cf blogposts delete-blog-post-permissions --id <id>delete-property-by-id
Delete content property for blogpost by id
Deletes a content property for a blogpost by its id.
Permissions required: Permission to edit the blog post.
DELETE /blogposts/{blogpost-id}/properties/{property-id}
| Flag | Type | Required | Description |
|---|---|---|---|
--blogpost-id | string | Yes | The ID of the blog post the property belongs to. |
--property-id | string | Yes | The ID of the property to be deleted. |
Example:
cf blogposts delete-property-by-id --blogpost-id <blogpost-id> --property-id <property-id>get-attachments
Get attachments for blog post
Returns the attachments of specific blog post. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.
Permissions required: Permission to view the content of the blog post and its corresponding space.
GET /blogposts/{id}/attachments
| Flag | Type | Required | Description |
|---|---|---|---|
--cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. |
--filename | string | No | Filters on the file-name of attachments. Only one may be specified. |
--id | string | Yes | The ID of the blog post for which attachments should be returned. |
--limit | string | No | Maximum number of attachments per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. |
--mediaType | string | No | Filters on the mediaType of attachments. Only one may be specified. |
--sort | string | No | Used to sort the result by a particular field. |
--status | string | No | Filter the results to attachments based on their status. By default, current and archived are used. |
Example:
cf blogposts get-attachments --id <id>get-blog-post-by-id
Get blog post by ID with storage body
GET /blogposts/{id}
| Flag | Type | Required | Description |
|---|---|---|---|
--body-format | string | No | Body format (default: storage) |
--id | string | No | Blog post ID (required) |
Example:
cf blogposts get-blog-post-by-idget-blog-post-classification-level
Get blog post classification level
Returns the classification level for a specific blog post.
Permissions required: 'Permission to access the Confluence site ('Can use' global permission) and permission to view the blog post. 'Permission to edit the blog post is required if trying to view classification level for a draft.
GET /blogposts/{id}/classification-level
| Flag | Type | Required | Description |
|---|---|---|---|
--id | string | Yes | The ID of the blog post for which classification level should be returned. |
--status | string | No | Status of blog post from which classification level will fetched. |
Example:
cf blogposts get-blog-post-classification-level --id <id>get-blog-post-footer-comments
Get footer comments for blog post
Returns the root footer comments of specific blog post. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.
Permissions required: Permission to view the content of the blog post and its corresponding space.
GET /blogposts/{id}/footer-comments
| Flag | Type | Required | Description |
|---|---|---|---|
--body-format | string | No | The content format type to be returned in the body field of the response. If available, the representation will be available under a response field of the same name under the body field. |
--cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. |
--id | string | Yes | The ID of the blog post for which footer comments should be returned. |
--limit | string | No | Maximum number of footer comments per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. |
--sort | string | No | Used to sort the result by a particular field. |
--status | string | No | Filter the footer comment being retrieved by its status. |
Example:
cf blogposts get-blog-post-footer-comments --id <id>get-blog-post-inline-comments
Get inline comments for blog post
Returns the root inline comments of specific blog post. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.
Permissions required: Permission to view the content of the blog post and its corresponding space.
GET /blogposts/{id}/inline-comments
| Flag | Type | Required | Description |
|---|---|---|---|
--body-format | string | No | The content format type to be returned in the body field of the response. If available, the representation will be available under a response field of the same name under the body field. |
--cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. |
--id | string | Yes | The ID of the blog post for which inline comments should be returned. |
--limit | string | No | Maximum number of inline comments per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. |
--resolution-status | string | No | Filter the inline comment being retrieved by its resolution status. |
--sort | string | No | Used to sort the result by a particular field. |
--status | string | No | Filter the inline comment being retrieved by its status. |
Example:
cf blogposts get-blog-post-inline-comments --id <id>get-blog-post-labels
Get labels for blog post
Returns the labels of specific blog post. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.
Permissions required: Permission to view the content of the blog post and its corresponding space. Only labels that the user has permission to view will be returned.
GET /blogposts/{id}/labels
| Flag | Type | Required | Description |
|---|---|---|---|
--cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. |
--id | string | Yes | The ID of the blog post for which labels should be returned. |
--limit | string | No | Maximum number of labels per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. |
--prefix | string | No | Filter the results to labels based on their prefix. |
--sort | string | No | Used to sort the result by a particular field. |
Example:
cf blogposts get-blog-post-labels --id <id>get-blog-post-like-count
Get like count for blog post
Returns the count of likes of specific blog post.
Permissions required: Permission to view the content of the blog post and its corresponding space.
GET /blogposts/{id}/likes/count
| Flag | Type | Required | Description |
|---|---|---|---|
--id | string | Yes | The ID of the blog post for which like count should be returned. |
Example:
cf blogposts get-blog-post-like-count --id <id>get-blog-post-like-users
Get account IDs of likes for blog post
Returns the account IDs of likes of specific blog post.
Permissions required: Permission to view the content of the blog post and its corresponding space.
GET /blogposts/{id}/likes/users
| Flag | Type | Required | Description |
|---|---|---|---|
--cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. |
--id | string | Yes | The ID of the blog post for which account IDs should be returned. |
--limit | string | No | Maximum number of account IDs per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. |
Example:
cf blogposts get-blog-post-like-users --id <id>get-blog-post-operations
Get permitted operations for blog post
Returns the permitted operations on specific blog post.
Permissions required: Permission to view the parent content of the blog post and its corresponding space.
GET /blogposts/{id}/operations
| Flag | Type | Required | Description |
|---|---|---|---|
--id | string | Yes | The ID of the blog post for which operations should be returned. |
Example:
cf blogposts get-blog-post-operations --id <id>get-blog-post-permissions
Get blog post permissions
Returns the direct content permissions on a blog post with optional filtering by operation, principal-type, and principal-id. Results are cursor-paginated (max 250 per page).
Permissions required: Permission to view the blog post.
GET /blogposts/{id}/permissions
| Flag | Type | Required | Description |
|---|---|---|---|
--cursor | string | No | Opaque cursor for pagination. Use the value from the previous response's _links.next. |
--id | string | Yes | The ID of the blog post. |
--limit | string | No | Maximum number of permission entries to return. Must be between 1 and 250. |
--operation | string | No | Filter by operation (read or update). |
--principal-id | string | No | Filter by principal ID. Must be provided together with principal-type. |
--principal-type | string | No | Filter by principal type (user or group). May be used without principal-id to return all permissions for that type. |
Example:
cf blogposts get-blog-post-permissions --id <id>get-blog-post-restriction-state
Get blog post restriction state
Returns the restriction state of a blog post.
Permissions required: Permission to view the blog post.
GET /blogposts/{id}/restriction-state
| Flag | Type | Required | Description |
|---|---|---|---|
--id | string | Yes | The ID of the blog post. |
Example:
cf blogposts get-blog-post-restriction-state --id <id>get-blog-post-version-details
Get version details for blog post version
Retrieves version details for the specified blog post and version number.
Permissions required: Permission to view the blog post.
GET /blogposts/{blogpost-id}/versions/{version-number}
| Flag | Type | Required | Description |
|---|---|---|---|
--blogpost-id | string | Yes | The ID of the blog post for which version details should be returned. |
--version-number | string | Yes | The version number of the blog post to be returned. |
Example:
cf blogposts get-blog-post-version-details --blogpost-id <blogpost-id> --version-number <version-number>get-blog-post-versions
Get blog post versions
Returns the versions of specific blog post.
Permissions required: Permission to view the blog post and its corresponding space.
GET /blogposts/{id}/versions
| Flag | Type | Required | Description |
|---|---|---|---|
--body-format | string | No | The content format types to be returned in the body field of the response. If available, the representation will be available under a response field of the same name under the body field. |
--cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. |
--id | string | Yes | The ID of the blog post to be queried for its versions. If you don't know the blog post ID, use Get blog posts and filter the results. |
--limit | string | No | Maximum number of versions per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. |
--sort | string | No | Used to sort the result by a particular field. |
Example:
cf blogposts get-blog-post-versions --id <id>get-blog-posts
List blog posts in a space
GET /blogposts
| Flag | Type | Required | Description |
|---|---|---|---|
--space-id | string | No | Filter blog posts by space ID |
Example:
cf blogposts get-blog-postsget-content-properties
Get content properties for blog post
Retrieves all Content Properties tied to a specified blog post.
Permissions required: Permission to view the blog post.
GET /blogposts/{blogpost-id}/properties
| Flag | Type | Required | Description |
|---|---|---|---|
--blogpost-id | string | Yes | The ID of the blog post for which content properties should be returned. |
--cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. |
--key | string | No | Filters the response to return a specific content property with matching key (case sensitive). |
--limit | string | No | Maximum number of attachments per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. |
--sort | string | No | Used to sort the result by a particular field. |
Example:
cf blogposts get-content-properties --blogpost-id <blogpost-id>get-content-properties-by-id
Get content property for blog post by id
Retrieves a specific Content Property by ID that is attached to a specified blog post.
Permissions required: Permission to view the blog post.
GET /blogposts/{blogpost-id}/properties/{property-id}
| Flag | Type | Required | Description |
|---|---|---|---|
--blogpost-id | string | Yes | The ID of the blog post for which content properties should be returned. |
--property-id | string | Yes | The ID of the property being requested |
Example:
cf blogposts get-content-properties-by-id --blogpost-id <blogpost-id> --property-id <property-id>get-custom-content-by-type-in-blog-post
Get custom content by type in blog post
Returns all custom content for a given type within a given blogpost. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.
Permissions required: Permission to view the custom content, the container of the custom content (blog post), and the corresponding space.
GET /blogposts/{id}/custom-content
| Flag | Type | Required | Description |
|---|---|---|---|
--body-format | string | No | The content format types to be returned in the body field of the response. If available, the representation will be available under a response field of the same name under the body field. |
Note: If the custom content body type is storage, the storage and atlas_doc_format body formats are able to be returned. If the custom content body type is raw, only the raw body format is able to be returned. | | --cursor | string | No | Used for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results. | | --id | string | Yes | The ID of the blog post for which custom content should be returned. | | --limit | string | No | Maximum number of pages per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results. | | --sort | string | No | Used to sort the result by a particular field. | | --type | string | No | The type of custom content being requested. See: https://developer.atlassian.com/cloud/confluence/custom-content/ for additional details on custom content. |
Example:
cf blogposts get-custom-content-by-type-in-blog-post --id <id>post-blog-post-classification-level
Reset blog post classification level
Resets the classification level for a specific blog post for the space
default classification level.
Permissions required: 'Permission to access the Confluence site ('Can use' global permission) and permission to view the blog post.
POST /blogposts/{id}/classification-level/reset
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--id | string | Yes | The ID of the blog post for which classification level should be updated. |
Example:
cf blogposts post-blog-post-classification-level --id <id>post-redact-blog
Redact Content in a Confluence Blog Post
Redacts sensitive content in a Confluence blog post by replacing specified text ranges with redaction markers. Each redaction in the response includes a unique UUID for restoration (except code block redactions). The response metadata items maintain the same order as the input redaction pointers, and completely overlapping redactions are merged into a single redaction with one UUID.
Note: This endpoint requires Atlassian Guard Premium.
POST /blogposts/{id}/redact
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--id | string | Yes | The ID of the blog post to redact content from. |
Example:
cf blogposts post-redact-blog --id <id>put-blog-post-classification-level
Update blog post classification level
Updates the classification level for a specific blog post.
Permissions required: 'Permission to access the Confluence site ('Can use' global permission) and permission to edit the blog post.
PUT /blogposts/{id}/classification-level
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | request body (JSON string, @file, or - for stdin) |
--id | string | Yes | The ID of the blog post for which classification level should be updated. |
Example:
cf blogposts put-blog-post-classification-level --id <id>set-blog-post-permissions
Set blog post permissions
Replaces all direct content permissions on a blog post with the provided set. Any permissions not included in the request body are removed.
Permissions required: Permission to edit the blog post or administer the space.
PUT /blogposts/{id}/permissions
| Flag | Type | Required | Description |
|---|---|---|---|
--allow-self-lockout | string | No | If false (default), the request is rejected when it would remove the calling user's own edit access. |
Set to true to allow the operation even when it locks out the caller. | |||
--body | string | No | request body (JSON string, @file, or - for stdin) |
--id | string | Yes | The ID of the blog post. |
Example:
cf blogposts set-blog-post-permissions --id <id>set-blog-post-restriction-state
Set blog post restriction state
Sets the restriction state of a blog post.
Permissions required: Permission to edit the blog post or administer the space.
PUT /blogposts/{id}/restriction-state
| Flag | Type | Required | Description |
|---|---|---|---|
--allow-self-lockout | string | No | If false (default), the request is rejected when it would remove the calling user's own edit access. |
Set to true to allow the operation even when it locks out the caller. | |||
--body | string | No | request body (JSON string, @file, or - for stdin) |
--id | string | Yes | The ID of the blog post. |
Example:
cf blogposts set-blog-post-restriction-state --id <id>update-blog-post
Update a blog post with automatic version increment
PUT /blogposts/{id}
| Flag | Type | Required | Description |
|---|---|---|---|
--body | string | No | Blog post body in storage format XML (required) |
--id | string | No | Blog post ID to update (required) |
--title | string | No | Blog post title (required) |
Example:
cf blogposts update-blog-postupdate-property-by-id
Update content property for blog post by id
Update a content property for blog post by its id.
Permissions required: Permission to edit the blog post.
PUT /blogposts/{blogpost-id}/properties/{property-id}
| Flag | Type | Required | Description |
|---|---|---|---|
--blogpost-id | string | Yes | The ID of the blog post the property belongs to. |
--body | string | No | request body (JSON string, @file, or - for stdin) |
--property-id | string | Yes | The ID of the property to be updated. |
Example:
cf blogposts update-property-by-id --blogpost-id <blogpost-id> --property-id <property-id>