contentstack Manifest API

The manifest endpoint returns a list of all active experiences and their corresponding variants that are activated for the current user based on their attributes and audience membership.

OpenAPI Specification

contentstack-manifest-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Contentstack Analytics Accounts Manifest API
  description: The Contentstack Analytics API provides access to usage and performance metrics for CMS, Launch, and Automate products within a Contentstack organization. Developers can retrieve analytics data programmatically to build custom dashboards, monitor content delivery performance, and track platform usage against plan limits. The API returns structured data suitable for aggregation with external analytics and business intelligence tools. Access is restricted to organization Owners and Admins. Requests use async job-based processing where initial POST calls queue the job and a subsequent GET call retrieves the results.
  version: v2
  contact:
    name: Contentstack Support
    url: https://www.contentstack.com/contact
  termsOfService: https://www.contentstack.com/legal/terms-of-service
servers:
- url: https://api.contentstack.io
  description: AWS North America Production Server
- url: https://eu-api.contentstack.com
  description: AWS Europe Production Server
- url: https://au-api.contentstack.com
  description: AWS Australia Production Server
security:
- bearerAuth: []
- authtokenAuth: []
tags:
- name: Manifest
  description: The manifest endpoint returns a list of all active experiences and their corresponding variants that are activated for the current user based on their attributes and audience membership.
paths:
  /manifest:
    get:
      operationId: getManifest
      summary: Get personalization manifest
      description: Returns a list of all active personalization experiences and their corresponding content variant mappings for the current user. The manifest is evaluated in real-time based on the user's attributes and current audience memberships. This endpoint is called at the beginning of a user session to determine which content variants to display.
      tags:
      - Manifest
      parameters:
      - $ref: '#/components/parameters/ProjectUid'
      - $ref: '#/components/parameters/PersonalizeUserUid'
      - name: x-forwarded-for
        in: header
        description: Original client IP address for geolocation-based targeting.
        schema:
          type: string
      - name: user-agent
        in: header
        description: User agent string for device-based targeting rules.
        schema:
          type: string
      - name: referer
        in: header
        description: Referring URL for referral-based audience rules.
        schema:
          type: string
      - name: x-page-url
        in: header
        description: Current page URL for page-based audience targeting rules.
        schema:
          type: string
      - name: x-live-attributes
        in: header
        description: JSON-encoded object of real-time attribute values to evaluate audience rules against without persisting them.
        schema:
          type: string
      responses:
        '200':
          description: The personalization manifest with active experiences and variants.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Manifest'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    ManifestExperience:
      type: object
      description: An active experience entry in the manifest with variant assignment.
      properties:
        experience_uid:
          type: string
          description: Unique identifier of the experience.
        experience_short_uid:
          type: string
          description: Short identifier of the experience for use in content querying.
        variant_uid:
          type: string
          description: Unique identifier of the variant assigned to this user.
        variant_short_uid:
          type: string
          description: Short identifier of the variant for use in content querying.
    Manifest:
      type: object
      description: The personalization manifest containing active experiences and their variant assignments for the current user.
      properties:
        experiences:
          type: array
          description: List of active experience objects with assigned variants.
          items:
            $ref: '#/components/schemas/ManifestExperience'
    Error:
      type: object
      description: Standard error response.
      properties:
        message:
          type: string
          description: Human-readable description of the error.
        status:
          type: integer
          description: HTTP status code.
  responses:
    Forbidden:
      description: The request is not authorized for this project.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request is malformed or contains invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    ProjectUid:
      name: x-project-uid
      in: header
      required: true
      description: The UID of the Contentstack Personalize project.
      schema:
        type: string
    PersonalizeUserUid:
      name: x-cs-personalize-user-uid
      in: header
      required: false
      description: The unique identifier for the end user. If not provided, a new anonymous user will be created and the UID returned in the response headers.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 Bearer token (M2M) with analytics access.
    authtokenAuth:
      type: apiKey
      in: header
      name: authtoken
      description: Contentstack user authtoken. Only organization Owners and Admins can access analytics.
externalDocs:
  description: Contentstack Analytics API Documentation
  url: https://www.contentstack.com/docs/developers/apis/analytics-api