sitecore Collections API

Endpoints for creating, retrieving, updating, and deleting site collections within an XM Cloud tenant. Collections group related sites that share resources and organizational context.

Operations 7

GET /api/v1/collections List site collections #
POST /api/v1/collections Create a site collection #
GET /api/v1/collections/{collectionId} Get a site collection #
PUT /api/v1/collections/{collectionId} Update a site collection #
DELETE /api/v1/collections/{collectionId} Delete a site collection #
POST /api/v1/collections/name/validate Validate a site collection name #
POST /api/v1/collections/sort Sort site collections #

Work with this as data

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/sitecore-collections-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 Specification

sitecore-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sitecore XM Cloud REST Collections API
  description: The Sitecore XM Cloud REST API provides endpoints for creating and managing collections, sites, pages, languages, and publishing jobs within an XM Cloud tenant.
  version: v1
  contact:
    name: Sitecore Support
    url: https://www.sitecore.com/support
  termsOfService: https://www.sitecore.com/legal/terms-of-service
servers:
- url: https://xmapps-api.sitecorecloud.io
  description: XM Apps Production Server
- url: https://edge-platform.sitecorecloud.io
  description: Experience Edge Platform Server
security:
- bearerAuth: []
tags:
- name: Collections
  description: Endpoints for creating, retrieving, updating, and deleting site collections within an XM Cloud tenant. Collections group related sites that share resources and organizational context.
paths:
  /api/v1/collections:
    get:
      operationId: listCollections
      summary: List site collections
      description: Retrieves a list of all site collections within the authenticated XM Cloud tenant. Returns collection metadata including names, identifiers, and associated site counts.
      tags:
      - Collections
      parameters:
      - $ref: '#/components/parameters/environmentId'
      responses:
        '200':
          description: A list of site collections
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SiteCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createCollection
      summary: Create a site collection
      description: Creates a new site collection within the XM Cloud tenant. Site collections group related sites together and allow shared resource management. The collection name must be unique within the tenant.
      tags:
      - Collections
      parameters:
      - $ref: '#/components/parameters/environmentId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCollectionRequest'
      responses:
        '201':
          description: Site collection created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCollection'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/collections/{collectionId}:
    get:
      operationId: getCollection
      summary: Get a site collection
      description: Retrieves a specific site collection by its unique identifier. Returns full collection metadata including associated sites and configuration.
      tags:
      - Collections
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/environmentId'
      responses:
        '200':
          description: Site collection details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateCollection
      summary: Update a site collection
      description: Updates the properties of an existing site collection, such as its name or description. All updateable fields must be provided in the request body.
      tags:
      - Collections
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/environmentId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCollectionRequest'
      responses:
        '200':
          description: Site collection updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCollection'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteCollection
      summary: Delete a site collection
      description: Permanently deletes a site collection and all of its associated sites. This operation is irreversible. All sites within the collection must be removed or the operation will return an error.
      tags:
      - Collections
      parameters:
      - $ref: '#/components/parameters/collectionId'
      - $ref: '#/components/parameters/environmentId'
      responses:
        '204':
          description: Site collection deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v1/collections/name/validate:
    post:
      operationId: validateCollectionName
      summary: Validate a site collection name
      description: Validates whether a proposed site collection name is available and meets naming requirements before creating a collection. Returns validation status and any error messages.
      tags:
      - Collections
      parameters:
      - $ref: '#/components/parameters/environmentId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidateNameRequest'
      responses:
        '200':
          description: Validation result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateNameResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/collections/sort:
    post:
      operationId: sortCollections
      summary: Sort site collections
      description: Updates the sort order of site collections as they appear in the Content Editor, Pages, and API responses. Accepts an ordered list of collection identifiers.
      tags:
      - Collections
      parameters:
      - $ref: '#/components/parameters/environmentId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SortRequest'
      responses:
        '200':
          description: Sort order updated successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    ValidateNameResponse:
      type: object
      description: Result of a name validation check
      properties:
        isValid:
          type: boolean
          description: Whether the name is valid and available
        errors:
          type: array
          description: List of validation error messages if the name is invalid
          items:
            type: string
    ValidateNameRequest:
      type: object
      description: Request body for validating a name
      required:
      - name
      properties:
        name:
          type: string
          description: The name to validate
    SortRequest:
      type: object
      description: Request body for updating the sort order of items
      required:
      - ids
      properties:
        ids:
          type: array
          description: Ordered list of item identifiers representing the new sort order
          items:
            type: string
    CreateCollectionRequest:
      type: object
      description: Request body for creating or updating a site collection
      required:
      - name
      properties:
        name:
          type: string
          description: The name for the site collection
          maxLength: 100
        displayName:
          type: string
          description: The human-readable display name for the collection
    ProblemDetails:
      type: object
      description: RFC 7807 problem details response for errors
      properties:
        type:
          type: string
          description: A URI reference identifying the problem type
        title:
          type: string
          description: A short human-readable summary of the problem
        status:
          type: integer
          description: The HTTP status code for this occurrence of the problem
        detail:
          type: string
          description: A human-readable explanation of the problem
        instance:
          type: string
          description: A URI reference identifying the specific occurrence of the problem
    SiteSummary:
      type: object
      description: A summary representation of a site within a collection
      properties:
        id:
          type: string
          description: The unique identifier of the site
        name:
          type: string
          description: The name of the site
    SiteCollection:
      type: object
      description: A site collection that groups related sites within an XM Cloud tenant
      properties:
        id:
          type: string
          description: The unique identifier of the site collection
        name:
          type: string
          description: The display name of the site collection
        displayName:
          type: string
          description: The human-readable display name for the collection
        sortOrder:
          type: integer
          description: The sort position of this collection relative to others
        sites:
          type: array
          description: Sites contained within this collection
          items:
            $ref: '#/components/schemas/SiteSummary'
  responses:
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    BadRequest:
      description: The request body or parameters are invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    Unauthorized:
      description: Authentication token is missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  parameters:
    environmentId:
      name: sc_env
      in: query
      description: The XM Cloud environment identifier
      required: false
      schema:
        type: string
    collectionId:
      name: collectionId
      in: path
      description: The unique identifier of the site collection
      required: true
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained via OAuth 2.0 client credentials flow. Request tokens from https://auth.sitecorecloud.io/oauth/token using automation client credentials created in the Sitecore Cloud Portal. Tokens expire after 24 hours.
externalDocs:
  description: Sitecore XM Cloud Developer Documentation
  url: https://doc.sitecore.com/xmc/en/developers/xm-cloud/sitecore-xm-cloud.html