Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/confluence-version-api"
All apis
curl "https://apis.io/api/v1/apis?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.
openapi: 3.2.0
info:
title: Confluence Cloud REST API v2 Version API
description: This document describes Confluence's v2 APIs. This is intended to be an iteration on the existing Confluence Cloud REST API with improvements in both endpoint definitions and performance.
termsOfService: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
version: 2.0.0
servers:
- url: https://{your-domain}/wiki/api/v2
variables:
your-domain:
default: no-default
description: Specific domain of the Confluence site being used. Must be provided.
tags:
- name: Version
description: ''
paths:
/attachments/{id}/versions:
get:
tags:
- Version
operationId: getAttachmentVersions
summary: Get attachment versions
description: 'Returns the versions of specific attachment.
**Permissions required**:
Permission to view the attachment and its corresponding space.'
parameters:
- name: id
in: path
required: true
description: The ID of the attachment to be queried for its versions. If you don't know the attachment ID, use Get attachments and filter the results.
schema:
type: string
pattern: (att)?[0-9]+
- name: cursor
in: query
required: false
description: 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.
schema:
type: string
- name: limit
in: query
description: 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.
schema:
format: int32
default: 25
minimum: 1
maximum: 250
type: integer
- name: sort
in: query
required: false
description: Used to sort the result by a particular field.
schema:
$ref: '#/components/schemas/VersionSortOrder'
responses:
'200':
description: Returned if the requested attachment versions are returned.
content:
application/json:
schema:
title: MultiEntityResult<Version>
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/AttachmentVersion'
_links:
$ref: '#/components/schemas/MultiEntityLinks'
headers:
Link:
schema:
type: string
description: 'This header contains URL(s) within angle brackets and a relation description for each URL, describing how the provided URL relates to the incoming request''s URL. For example, rel="next" would be the URL necessary to get the next page of information. Example response header format: `Link: </wiki/api/v2/attachments/<id>/versions?cursor=<opaque cursor token>>; rel="next", <https://site.atlassian.net/wiki>; rel="base"`
'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
requested page or the page was not found.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:attachment:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:attachment:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/attachments/{attachment-id}/versions/{version-number}:
get:
tags:
- Version
operationId: getAttachmentVersionDetails
summary: Get version details for attachment version
description: 'Retrieves version details for the specified attachment and version number.
**Permissions required**:
Permission to view the attachment.'
parameters:
- name: attachment-id
in: path
required: true
description: The ID of the attachment for which version details should be returned.
schema:
pattern: (att)?0-9+
type: string
- name: version-number
in: path
required: true
description: The version number of the attachment to be returned.
schema:
format: int64
type: integer
responses:
'200':
description: Returned if the requested version details are successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedVersion'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
specified attachment, the attachment was not found, or the version number does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:attachment:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:attachment:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/blogposts/{id}/versions:
get:
tags:
- Version
operationId: getBlogPostVersions
summary: Get blog post versions
description: 'Returns the versions of specific blog post.
**Permissions required**:
Permission to view the blog post and its corresponding space.'
parameters:
- name: id
in: path
required: true
description: 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.
schema:
format: int64
type: integer
- name: body-format
in: query
description: 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.
schema:
$ref: '#/components/schemas/PrimaryBodyRepresentation'
- name: cursor
in: query
required: false
description: 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.
schema:
type: string
- name: limit
in: query
description: 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.
schema:
format: int32
default: 25
minimum: 1
maximum: 250
type: integer
- name: sort
in: query
required: false
description: Used to sort the result by a particular field.
schema:
$ref: '#/components/schemas/VersionSortOrder'
responses:
'200':
description: Returned if the requested blog post versions are returned.
content:
application/json:
schema:
title: MultiEntityResult<Version>
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/BlogPostVersion'
_links:
$ref: '#/components/schemas/MultiEntityLinks'
headers:
Link:
schema:
type: string
description: 'This header contains URL(s) within angle brackets and a relation description for each URL, describing how the provided URL relates to the incoming request''s URL. For example, rel="next" would be the URL necessary to get the next page of information. Example response header format: `Link: </wiki/api/v2/blogposts/<id>/versions?cursor=<opaque cursor token>>; rel="next", <https://site.atlassian.net/wiki>; rel="base"`
'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
requested page or the page was not found.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:page:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:page:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/blogposts/{blogpost-id}/versions/{version-number}:
get:
tags:
- Version
operationId: getBlogPostVersionDetails
summary: Get version details for blog post version
description: 'Retrieves version details for the specified blog post and version number.
**Permissions required**:
Permission to view the blog post.'
parameters:
- name: blogpost-id
in: path
required: true
description: The ID of the blog post for which version details should be returned.
schema:
format: int64
type: integer
- name: version-number
in: path
required: true
description: The version number of the blog post to be returned.
schema:
format: int64
type: integer
responses:
'200':
description: Returned if the requested version details are successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedVersion'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
specified blog post, the blog post was not found, or the version number does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:page:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:page:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/pages/{id}/versions:
get:
tags:
- Version
operationId: getPageVersions
summary: Get page versions
description: 'Returns the versions of specific page.
**Permissions required**:
Permission to view the page and its corresponding space.'
parameters:
- name: id
in: path
required: true
description: The ID of the page to be queried for its versions. If you don't know the page ID, use Get pages and filter the results.
schema:
format: int64
type: integer
- name: body-format
in: query
description: 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.
schema:
$ref: '#/components/schemas/PrimaryBodyRepresentation'
- name: cursor
in: query
required: false
description: 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.
schema:
type: string
- name: limit
in: query
description: 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.
schema:
format: int32
default: 25
minimum: 1
maximum: 250
type: integer
- name: sort
in: query
required: false
description: Used to sort the result by a particular field.
schema:
$ref: '#/components/schemas/VersionSortOrder'
responses:
'200':
description: Returned if the requested page versions are returned.
content:
application/json:
schema:
title: MultiEntityResult<Version>
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/PageVersion'
_links:
$ref: '#/components/schemas/MultiEntityLinks'
headers:
Link:
schema:
type: string
description: 'This header contains URL(s) within angle brackets and a relation description for each URL, describing how the provided URL relates to the incoming request''s URL. For example, rel="next" would be the URL necessary to get the next page of information. Example response header format: `Link: </wiki/api/v2/pages/<id>/versions?cursor=<opaque cursor token>>; rel="next", <https://site.atlassian.net/wiki>; rel="base"`
'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
requested page or the page was not found.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:page:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:page:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/pages/{page-id}/versions/{version-number}:
get:
tags:
- Version
operationId: getPageVersionDetails
summary: Get version details for page version
description: 'Retrieves version details for the specified page and version number.
**Permissions required**:
Permission to view the page.'
parameters:
- name: page-id
in: path
required: true
description: The ID of the page for which version details should be returned.
schema:
format: int64
type: integer
- name: version-number
in: path
required: true
description: The version number of the page to be returned.
schema:
format: int64
type: integer
responses:
'200':
description: Returned if the requested version details are successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedVersion'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
specified page, the page was not found, or the version number does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:page:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:page:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/custom-content/{custom-content-id}/versions:
get:
tags:
- Version
operationId: getCustomContentVersions
summary: Get custom content versions
description: 'Returns the versions of specific custom content.
**Permissions required**:
Permission to view the custom content and its corresponding page and space.'
parameters:
- name: custom-content-id
in: path
required: true
description: The ID of the custom content to be queried for its versions. If you don't know the custom content ID, use Get custom-content by type and filter the results.
schema:
format: int64
type: integer
- name: body-format
in: query
description: '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.'
schema:
$ref: '#/components/schemas/CustomContentBodyRepresentation'
- name: cursor
in: query
required: false
description: 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.
schema:
type: string
- name: limit
in: query
description: 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.
schema:
format: int32
default: 25
minimum: 1
maximum: 250
type: integer
- name: sort
in: query
required: false
description: Used to sort the result by a particular field.
schema:
$ref: '#/components/schemas/VersionSortOrder'
responses:
'200':
description: Returned if the requested custom content versions are returned.
content:
application/json:
schema:
title: MultiEntityResult<Version>
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/CustomContentVersion'
_links:
$ref: '#/components/schemas/MultiEntityLinks'
headers:
Link:
schema:
type: string
description: 'This header contains URL(s) within angle brackets and a relation description for each URL, describing how the provided URL relates to the incoming request''s URL. For example, rel="next" would be the URL necessary to get the next page of information. Example response header format: `Link: </wiki/api/v2/custom-content/<id>/versions?cursor=<opaque cursor token>>; rel="next", <https://site.atlassian.net/wiki>; rel="base"`
'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
requested custom content or the custom content was not found.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:custom-content:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:custom-content:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/custom-content/{custom-content-id}/versions/{version-number}:
get:
tags:
- Version
operationId: getCustomContentVersionDetails
summary: Get version details for custom content version
description: 'Retrieves version details for the specified custom content and version number.
**Permissions required**:
Permission to view the page.'
parameters:
- name: custom-content-id
in: path
required: true
description: The ID of the custom content for which version details should be returned.
schema:
format: int64
type: integer
- name: version-number
in: path
required: true
description: The version number of the custom content to be returned.
schema:
format: int64
type: integer
responses:
'200':
description: Returned if the requested version details are successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedVersion'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the
specified custom content, the custom content was not found, or the version number does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:custom-content:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:custom-content:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/footer-comments/{id}/versions:
get:
tags:
- Version
operationId: getFooterCommentVersions
summary: Get footer comment versions
description: 'Retrieves the versions of the specified footer comment.
**Permissions required**:
Permission to view the content of the page or blog post and its corresponding space.'
parameters:
- name: id
in: path
required: true
description: The ID of the footer comment for which versions should be returned
schema:
format: int64
type: integer
- name: body-format
in: query
description: 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.
schema:
$ref: '#/components/schemas/PrimaryBodyRepresentation'
- name: cursor
in: query
required: false
description: 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.
schema:
type: string
- name: limit
in: query
description: 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.
schema:
format: int32
default: 25
minimum: 1
maximum: 250
type: integer
- name: sort
in: query
required: false
description: Used to sort the result by a particular field.
schema:
$ref: '#/components/schemas/VersionSortOrder'
responses:
'200':
description: Returned if the requested footer comment versions are returned.
content:
application/json:
schema:
title: MultiEntityResult<Version>
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/CommentVersion'
_links:
$ref: '#/components/schemas/MultiEntityLinks'
headers:
Link:
schema:
type: string
description: 'This header contains URL(s) within angle brackets and a relation description for each URL, describing how the provided URL relates to the incoming request''s URL. For example, rel="next" would be the URL necessary to get the next page of information. Example response header format: `Link: </wiki/api/v2/footer-comments/<id>/versions?cursor=<opaque cursor token>>; rel="next", <https://site.atlassian.net/wiki>; rel="base"`
'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the specified page
or blog post, the footer comment was not found, or the version number does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:comment:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:comment:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/footer-comments/{id}/versions/{version-number}:
get:
tags:
- Version
operationId: getFooterCommentVersionDetails
summary: Get version details for footer comment version
description: 'Retrieves version details for the specified footer comment version.
**Permissions required**:
Permission to view the content of the page or blog post and its corresponding space.'
parameters:
- name: id
in: path
required: true
description: The ID of the footer comment for which version details should be returned.
schema:
format: int64
type: integer
- name: version-number
in: path
required: true
description: The version number of the footer comment to be returned.
schema:
format: int64
type: integer
responses:
'200':
description: Returned if the requested version details are successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedVersion'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the specified page
or blog post, the footer comment was not found, or the version number does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:comment:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:comment:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/inline-comments/{id}/versions:
get:
tags:
- Version
operationId: getInlineCommentVersions
summary: Get inline comment versions
description: 'Retrieves the versions of the specified inline comment.
**Permissions required**:
Permission to view the content of the page or blog post and its corresponding space.'
parameters:
- name: id
in: path
required: true
description: The ID of the inline comment for which versions should be returned
schema:
format: int64
type: integer
- name: body-format
in: query
description: 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.
schema:
$ref: '#/components/schemas/PrimaryBodyRepresentation'
- name: cursor
in: query
required: false
description: 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.
schema:
type: string
- name: limit
in: query
description: 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.
schema:
format: int32
default: 25
minimum: 1
maximum: 250
type: integer
- name: sort
in: query
required: false
description: Used to sort the result by a particular field.
schema:
$ref: '#/components/schemas/VersionSortOrder'
responses:
'200':
description: Returned if the requested inline comment versions are returned.
content:
application/json:
schema:
title: MultiEntityResult<Version>
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/CommentVersion'
_links:
$ref: '#/components/schemas/MultiEntityLinks'
headers:
Link:
schema:
type: string
description: 'This header contains URL(s) within angle brackets and a relation description for each URL, describing how the provided URL relates to the incoming request''s URL. For example, rel="next" would be the URL necessary to get the next page of information. Example response header format: `Link: </wiki/api/v2/inline-comments/<id>/versions?cursor=<opaque cursor token>>; rel="next", <https://site.atlassian.net/wiki>; rel="base"`
'
'400':
description: Returned if an invalid request is provided.
content: {}
'401':
description: 'Returned if the authentication credentials are incorrect or missing
from the request.'
content: {}
'404':
description: 'Returned if the calling user does not have permission to view the specified page
or blog post, the inline comment was not found, or the version number does not exist.'
content: {}
security:
- basicAuth: []
- oAuthDefinitions:
- read:comment:confluence
x-atlassian-oauth2-scopes:
- scheme: oAuthDefinitions
state: Current
scopes:
- read:comment:confluence
x-atlassian-connect-scope: READ
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
/inline-comments/{id}/versions/{version-number}:
get:
tags:
- Version
operationId: getInlineCommentVersionDetails
summary: Get
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/confluence/refs/heads/main/openapi/confluence-version-api-openapi.yml