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.

Operations 1

GET /manifest Get personalization manifest #

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/contentstack-manifest-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

contentstack-manifest-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Contentstack Personalize Edge Manifest API
  description: The Contentstack Personalize Edge API enables real-time, dynamic personalization interactions using edge computing to deliver targeted content experiences.
  version: v1
  contact:
    name: Contentstack Support
    url: https://www.contentstack.com/contact
  termsOfService: https://www.contentstack.com/legal/terms-of-service
servers:
- url: https://personalize-edge.contentstack.com
  description: AWS North America Production Server
- url: https://eu-personalize-edge.contentstack.com
  description: AWS Europe Production Server
- url: https://au-personalize-edge.contentstack.com
  description: AWS Australia Production Server
- url: https://azure-na-personalize-edge.contentstack.com
  description: Azure North America Production Server
- url: https://azure-eu-personalize-edge.contentstack.com
  description: Azure Europe Production Server
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:
  responses:
    BadRequest:
      description: The request is malformed or contains invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The request is not authorized for this project.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  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.
  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
externalDocs:
  description: Contentstack Personalize Edge API Documentation
  url: https://www.contentstack.com/docs/developers/apis/personalize-edge-api