# Optimove Developers Hub Documentation > The Optimove Developer Hub is here to empower developers to build highly personalized marketing journeys at scale. Our comprehensive API guides, web SDK, and mobile SDK resources will provide you with the tools and knowledge you need to unlock the full potential of Optimove's technology! ## Guides - [Tech Onboarding Gateway](https://developer.optimove.com/docs/tech-onboarding-gateway.md) - [Optimove Data Delivery Guide](https://developer.optimove.com/docs/optimove-data-delivery-guide.md) - [Your Data Extraction & Load (ETL)](https://developer.optimove.com/docs/your-data-extraction-load-etl.md) - [Data Integrity and Validation](https://developer.optimove.com/docs/data-integrity-and-validation.md) - [Prepare Your Data for Optimove](https://developer.optimove.com/docs/prepare-your-data-for-optimove-1.md): Welcome to Optimove! - [Data Delivery to Optimove](https://developer.optimove.com/docs/data-delivery-to-optimove.md): This section covers the various methods available to deliver data to Optimove, allowing you to choose the most suitable approach for your system. It includes a link to the QA processes documentation and an overview of the batch data process to help ensure smooth and accurate data transfers. - [Data Sources Documentation: Files](https://developer.optimove.com/docs/data-sources-documentation-files.md): This section provides details on data sources that can be delivered as files to Optidata, along with the specific prerequisites required for successful integration. Optidata supports various file formats and transfer methods, allowing for flexible data ingestion through file-based delivery. - [Data Sources Documentation: Database](https://developer.optimove.com/docs/data-sources-documentation-database.md): This section outlines the supported database-to-database (DB to DB) connections for Optidata, including prerequisites for each source. Leveraging Matillion’s capabilities, Optidata can connect to several popular databases, enabling direct data extraction and integration. - [Guide for Iceberg Integration (Databricks)](https://developer.optimove.com/docs/guide-for-iceberg-integration-databricks.md) - [Guide for Iceberg Integration (Snowflake on AWS)](https://developer.optimove.com/docs/guide-for-iceberg-integration-snowflake-on-aws.md) - [Guide for Iceberg Integration (Snowflake on GCP)](https://developer.optimove.com/docs/guide-for-iceberg-integration-snowflake-on-gcp.md) - [Zero Copy Prerequisites: Snowflake Connection](https://developer.optimove.com/docs/zero-copy-prerequisites-snowflake-connection.md) - [In-Depth Data Handling: Missing Files & Data Validation](https://developer.optimove.com/docs/in-depth-data-handling.md): For a deeper technical insight, this section explains how to handle missing files and manage Data Validation. Practical examples are provided to guide you through these processes effectively. - [Bingo](https://developer.optimove.com/docs/prepare-your-data-for-optimove-bingo.md) - [Casino](https://developer.optimove.com/docs/prepare-your-data-for-optimove-casino.md) - [Ecommerce](https://developer.optimove.com/docs/prepare-your-data-for-optimove-ecommerce.md) - [Forex](https://developer.optimove.com/docs/prepare-your-data-for-optimove-forex.md) - [Lottery](https://developer.optimove.com/docs/lottery.md) - [Multi: Sport and Casino](https://developer.optimove.com/docs/prepare-your-data-for-optimove-multi-sport-and-casino.md) - [Poker](https://developer.optimove.com/docs/prepare-your-data-for-optimove-poker.md) - [Social Gaming](https://developer.optimove.com/docs/prepare-your-data-for-optimove-social-gaming.md) - [Sport](https://developer.optimove.com/docs/prepare-your-data-for-optimove-sport.md) - [Streaming](https://developer.optimove.com/docs/prepare-your-data-for-optimove-streaming.md) - [Sweepstakes Casino](https://developer.optimove.com/docs/prepare-your-data-for-optimove-sweepstakes-casino.md) - [Trading](https://developer.optimove.com/docs/trading.md) - [Batch Data Process](https://developer.optimove.com/docs/data-delivery-to-optimove-batch-data-process.md): The batch data process provides guidance on how to extract and load your data into Optimove. Details on full and incremental data loads, handling missing files, and CDE (Custom Data Extensions) are covered here. For a more technical dive, check the "In-Depth Data Handling" section. Additionally, this page includes links to essential resources, such as the ETL form documentation and data delivery guidelines. - [Check Missing Files: Ensuring Your Data Integrity in Optimove](https://developer.optimove.com/docs/check-missing-files-ensuring-your-data-integrity-in-optimove.md) - [Data Volume Validation: Ensuring Data Completeness in Optimove](https://developer.optimove.com/docs/check-data-exists-ensuring-data-completeness-in-optimove.md) - [Batch Process Trigger Daily API](https://developer.optimove.com/docs/batch-process-trigger-daily-api.md) - [Event-based Integration (EBI)](https://developer.optimove.com/docs/event-based-integration-ebi.md) - [Batch Data QA Processes](https://developer.optimove.com/docs/qa-processes-copy.md): This article provides a comprehensive data QA checklist to validate the initial data load, ensuring that all critical data is accurate, consistent, and fully prepared for upload to Optimove. By following these guidelines for batch data, you can ensure high data integrity and minimize unnecessary back-and-forth communication. - [Optimove's OOTB Solution Guide](https://developer.optimove.com/docs/optimoves-ootb-solution-guide.md) - [Casino Vertical](https://developer.optimove.com/docs/casino-vertical.md) - [Sports Vertical](https://developer.optimove.com/docs/sports-vertical.md) - [Multi - Sports & Casino Vertical](https://developer.optimove.com/docs/multi-sports-casino-vertical.md) - [E-Commerce Vertical](https://developer.optimove.com/docs/e-commerce.md) - [Forex Vertical](https://developer.optimove.com/docs/forex-vertical.md) - [Social Gaming Vertical](https://developer.optimove.com/docs/social-gaming-vertical.md) - [Sweepstakes Casino Vertical](https://developer.optimove.com/docs/sweepstakes-casino.md) - [Lottery Vertical](https://developer.optimove.com/docs/lottery-vertical.md) - [Optimove's OOTB Events for Data Integration](https://developer.optimove.com/docs/optimoves-ootb-events-for-data-integration.md) - [Mandatory Properties for Standard Events](https://developer.optimove.com/docs/mandatory-properties-for-standard-events.md) - [Login Event](https://developer.optimove.com/docs/login-event.md) - [Registration Initiated](https://developer.optimove.com/docs/registration-started.md) - [Registration Failed](https://developer.optimove.com/docs/registration-failed.md) - [Registration Completed](https://developer.optimove.com/docs/registration.md) - [User Details Update](https://developer.optimove.com/docs/user-details-update.md) - [Adact Game Finished](https://developer.optimove.com/docs/adact-game-finished.md) - [Deposit Initiated](https://developer.optimove.com/docs/standard-deposit-initiated.md) - [Deposit Limit Updated](https://developer.optimove.com/docs/deposit-limit-updated.md) - [Deposit Limit Exceeded](https://developer.optimove.com/docs/deposit-limit-exceeded.md) - [Standard Deposit](https://developer.optimove.com/docs/standard-deposit.md) - [Deposit Cancellation](https://developer.optimove.com/docs/deposit-cancellation.md) - [Standard Withdrawal](https://developer.optimove.com/docs/standard-withdrawal.md) - [Withdrawal Cancellation](https://developer.optimove.com/docs/withdrawal-cancellation.md) - [Game Launch](https://developer.optimove.com/docs/game-launch.md) - [Sweepstakes Game Launch](https://developer.optimove.com/docs/sweepstakes-game-launch.md) - [Game Session](https://developer.optimove.com/docs/game-session.md) - [Sweepstakes Game Session](https://developer.optimove.com/docs/sweepstakes-game-session.md) - [Game Close](https://developer.optimove.com/docs/game-close.md) - [Sweepstakes Game Close](https://developer.optimove.com/docs/sweepstakes-game-close.md) - [Added to Betslip](https://developer.optimove.com/docs/added-to-betslip.md) - [Bet Placement](https://developer.optimove.com/docs/bet-placement.md) - [Bet Settled](https://developer.optimove.com/docs/bet-settled.md) - [Balance Update](https://developer.optimove.com/docs/balance-update.md) - [Sweepstakes Balance Update](https://developer.optimove.com/docs/sweepstakes-balance-update.md) - [Self-Exclusion: Initiated](https://developer.optimove.com/docs/self-exclusion-initiated-1.md) - [Self-Exclusion: Activated](https://developer.optimove.com/docs/self-exclusion-activated.md) - [Self-Exclusion: Updated](https://developer.optimove.com/docs/self-exclusion-updated.md) - [Self-Exclusion: Violation Attempt](https://developer.optimove.com/docs/self-exclusion-violation-attempt.md) - [Self-Exclusion: Lifted](https://developer.optimove.com/docs/self-exclusion-lifted.md) - [Product View](https://developer.optimove.com/docs/product-view.md) - [Added to Wishlist](https://developer.optimove.com/docs/add-to-wishlist.md) - [Removed from Wishlist](https://developer.optimove.com/docs/remove-from-wishlist.md) - [Added to Cart](https://developer.optimove.com/docs/add-to-cart.md) - [Items in Cart](https://developer.optimove.com/docs/items-in-cart.md): An event that describes the current state of items in shopping cart. - [Removed from Cart](https://developer.optimove.com/docs/remove-from-cart.md) - [Online Order (Opti-X)](https://developer.optimove.com/docs/online-order-opti-x.md) - [Empty Cart (Opti-X)](https://developer.optimove.com/docs/empty-cart-opti-x.md) - [Cart Checkout Completed](https://developer.optimove.com/docs/cart-checkout-completed.md) - [Order Started](https://developer.optimove.com/docs/order-started.md) - [Order Completed](https://developer.optimove.com/docs/order-completed.md) - [Order Shipped](https://developer.optimove.com/docs/order-shipped.md) - [Order Fulfilled](https://developer.optimove.com/docs/order-fulfilled.md) - [Order Failed](https://developer.optimove.com/docs/order-failed.md) - [Product Refund](https://developer.optimove.com/docs/product-refund.md) - [Product Return](https://developer.optimove.com/docs/product-return.md) - [API Integrations](https://developer.optimove.com/docs/api-integrations.md) - [Integrate your Service with Optimove](https://developer.optimove.com/docs/integrate-your-service-with-optimove.md) - [Setting Up Conditional Execution](https://developer.optimove.com/docs/conditional-execution.md) - [API ChannelID Values](https://developer.optimove.com/docs/api-channelid-values.md) - [Promotion System Integration](https://developer.optimove.com/docs/promotion-system-integration.md) - [Promo System Safeguards and Best Practices](https://developer.optimove.com/docs/system-safeguards-and-best-practices.md) - [External Vendors Campaign Engagement Metrics](https://developer.optimove.com/docs/external-vendors-campaign-engagement-metrics.md): Learn how to send campaign metrics for campaigns that are executed externally to Optimove - [SFTP Integration](https://developer.optimove.com/docs/sftp-integration.md) - [Sandbox Environment Usage Guide](https://developer.optimove.com/docs/sandbox.md) - [Optimove MCP Connector](https://developer.optimove.com/docs/optimove-mcp-connector.md) - [Web SDK Integration](https://developer.optimove.com/docs/web-sdk-integration.md) - [Verifying the SDK Implementation](https://developer.optimove.com/docs/verifying-the-sdk-implementation.md) - [Preference Center Integration Guide](https://developer.optimove.com/docs/preference-center-integration-guide.md) - [Optimove Basic Web SDK Using GTM](https://developer.optimove.com/docs/optimove-basic-web-sdk-using-gtm.md) - [Initializing the SDK](https://developer.optimove.com/docs/initializing-the-sdk.md) - [Recognizing a Returning Customer](https://developer.optimove.com/docs/returning-customer.md): Associating a Visitor with a Recognized Customer - Returning Customer ## - [Registering a New Customer](https://developer.optimove.com/docs/associating-a-visitor-with-a-recognized-customer.md): Associating a Visitor with a Recognized Customer - Registering a New Customer - [Reporting Server-Side Events](https://developer.optimove.com/docs/serverside.md) - [Integrating Optimove with Segment](https://developer.optimove.com/docs/integrating-optimove-with-segment.md) - [Monitoring Events in Optimove](https://developer.optimove.com/docs/monitoring-events-in-optimove.md) - [Introduction to the Customer Lists API](https://developer.optimove.com/docs/introduction-to-the-customer-lists-api.md) - [Campaign API Overview](https://developer.optimove.com/docs/campaign-api-overview.md) - [Create a Scheduled Campaign Draft](https://developer.optimove.com/docs/create-a-scheduled-campaign-draft.md) - [Mobile](https://developer.optimove.com/docs/optimobile-getting-started.md) - [Webpage Pop-up Tech Guide](https://developer.optimove.com/docs/webpage-pop-up-tech-guide.md) - [Web Push Platform Setup](https://developer.optimove.com/docs/web-push-platform-setup.md) - [Getting Started with Embedded Messaging](https://developer.optimove.com/docs/getting-started-with-embedded-messaging.md) - [SDK Setup & Local Development](https://developer.optimove.com/docs/sdk-setup-local-development.md) - [Using the SDK for Embedded Messaging](https://developer.optimove.com/docs/using-the-sdk-for-embedded-messaging.md) - [Styling & Customization](https://developer.optimove.com/docs/styling-customization.md) - [Supporting Visitors & Customers](https://developer.optimove.com/docs/supporting-visitors-customers.md) - [Web Inbox](https://developer.optimove.com/docs/web-inbox.md) - [Key Attributes for IP Warm-up and Email Deliverability](https://developer.optimove.com/docs/key-attributes-for-ip-warm-up-and-email-deliverability.md) - [Adding Optimove DNS Records to Your CDN](https://developer.optimove.com/docs/adding-optimove-dns-records-to-your-cdn.md) - [How to Fill Out the Email Request Form](https://developer.optimove.com/docs/how-to-fill-out-the-optimail-request-form.md) - [Product Recommendation Model](https://developer.optimove.com/docs/product-recommendation-model.md) - [Product Recommendation Campaigns](https://developer.optimove.com/docs/product-recommendation-campaigns.md) - [Transactional Emails](https://developer.optimove.com/docs/transactional-emails.md) - [Guide to SSL Click Tracking for Optimove and SendGrid](https://developer.optimove.com/docs/guide-to-ssl-click-tracking-for-optimove-and-sendgrid.md) - [Introduction to SMS](https://developer.optimove.com/docs/introduction-to-sms.md) - [Integrate your Service with SMS API](https://developer.optimove.com/docs/integrate-with-sms-api.md) - [SMS - Same Day Registration Events](https://developer.optimove.com/docs/optitext-sms-same-day-registration-events.md) - [SMS API](https://developer.optimove.com/docs/sms-api.md) - [Handshake Endpoint](https://developer.optimove.com/docs/handshake-endpoint.md) - [Campaign Transmission Webhook](https://developer.optimove.com/docs/campaign-transmission-webhook.md) - [Delivery Report Endpoint](https://developer.optimove.com/docs/delivery-report-endpoint.md) - [Incoming Messages Webhook](https://developer.optimove.com/docs/incoming-messages-webhook.md) - [IP Allowlist](https://developer.optimove.com/docs/ip-allowlist.md) - [Webhook Delivery Service](https://developer.optimove.com/docs/webhook-delivery-service.md) - [Data Connections API](https://developer.optimove.com/docs/data-connections-api.md) - [Using your Data Connections](https://developer.optimove.com/docs/using-your-data-connections.md) - [Walkthrough example for an Upload Data Connection](https://developer.optimove.com/docs/walkthrough-example-for-an-upload-data-connection.md) - [Managing Data Connections](https://developer.optimove.com/docs/managing-data-connections-data.md) - [Message Archiving](https://developer.optimove.com/docs/message-archiving.md): Message Archiving allows you to preserve campaign messages across various channels for customer service and regulatory compliance purposes. When enabled, each message sent during a campaign is archived and stored in your external storage bucket (e.g., Amazon S3 or GCS). - [Getting Started with Overlay Messaging](https://developer.optimove.com/docs/getting-started-with-overlay-messaging.md) - [Getting Started with Optimove Personalize](https://developer.optimove.com/docs/opti-x-getting-started-with-opti-x.md): Overview of required data to get started with Optimove Personalize and data ingestion methods - [Gaming Inventory](https://developer.optimove.com/docs/opti-x-gaming-inventory.md): Required data to get started with Opti-X - [Availability filters](https://developer.optimove.com/docs/availability-filters.md): Availability filters enable filtering recommendation by user attributes. - [Overview of Data Usage in Gaming](https://developer.optimove.com/docs/overview-of-data-usage.md) - [Sports Inventory](https://developer.optimove.com/docs/sports-inventory.md) - [Overview of Data Usage in Sports](https://developer.optimove.com/docs/overview-of-data-usage-in-sports.md) - [Prepare your Data Ecommerce Inventory](https://developer.optimove.com/docs/opti-x-prepare-you-data-ecommerce-inventory.md) - [Overview of Data Usage in Ecomm](https://developer.optimove.com/docs/overview-of-data-usage-in-ecomm.md) - [Lottery & Bingo](https://developer.optimove.com/docs/lottery-bingo.md): Required data to get started with Opti-X - [How to Deploy Optimove Personalize Banners](https://developer.optimove.com/docs/how-to-deploy-opti-x-banners.md) - [API Guides](https://developer.optimove.com/docs/api-guides-optix.md) - [Recommend API Guide](https://developer.optimove.com/docs/recommend-api-guide.md) - [Intelligent Layouts API Guide](https://developer.optimove.com/docs/intelligent-layouts-api-guide.md) - [Reference API Guide](https://developer.optimove.com/docs/reference-guide-api.md) - [Momentum API Guide](https://developer.optimove.com/docs/momentum-api-guide.md) - [Smart Search API Guide](https://developer.optimove.com/docs/smart-search-api-guide.md) - [Gaming Filtering](https://developer.optimove.com/docs/gaming-filtering.md) - [Sports Filtering](https://developer.optimove.com/docs/sports-filtering.md) - [AWS Kinesis producer testing](https://developer.optimove.com/docs/aws-kinesis-producer-testing.md) - [API Triggered Campaigns](https://developer.optimove.com/docs/api-triggered-campaigns.md) - [API & Webhooks: An Overview](https://developer.optimove.com/docs/api-webhooks-an-overview.md) - [How to Set Up Webhook Integration](https://developer.optimove.com/docs/how-to-set-up-webhook-integration.md) - [Webhook Event Reference](https://developer.optimove.com/docs/webhook-event-reference.md) - [Encoding Customer IDs for Gamify Campaigns](https://developer.optimove.com/docs/encoding-customer-ids-for-gamify-campaigns.md) - [MCP Minigame Creation](https://developer.optimove.com/docs/mcp-minigame-creation.md) - [Custom Widget UI Integration Guide](https://developer.optimove.com/docs/custom-widget-ui-integration-guide.md): Build your own loyalty widget frontend by calling the Optimove Loyalty System API directly. - [Gamify Loyalty Webhooks](https://developer.optimove.com/docs/gamify-loyalty-webhooks.md) - [Gamify Loyalty Widget SDK](https://developer.optimove.com/docs/gamify-loyalty-widget-sdk.md) - [Loyalty Events Schema](https://developer.optimove.com/docs/loyalty-events-schema.md) - [Introduction to Integrating with Promotions](https://developer.optimove.com/docs/introduction-to-integrating-with-optipromo.md) - [Glossary](https://developer.optimove.com/docs/glossary.md) - [Creating a Basic Promotion](https://developer.optimove.com/docs/creating-a-basic-promotion.md) - [Configuring Promotion Tiers](https://developer.optimove.com/docs/configuring-promotion-tiers.md) - [Setting Budgets and Constraints](https://developer.optimove.com/docs/setting-budgets-and-constraints.md) - [Adding Custom Properties](https://developer.optimove.com/docs/adding-custom-properties.md) - [Managing the Promotion Lifecycle](https://developer.optimove.com/docs/managing-the-promotion-lifecycle.md) - [Auto Flow](https://developer.optimove.com/docs/auto-flow.md) - [Advanced Control Flow](https://developer.optimove.com/docs/advanced-control-flow.md) - [API vs. UI Functionality](https://developer.optimove.com/docs/api-vs-ui-functionality.md) - [Promotions API Rate Limits & SLAs](https://developer.optimove.com/docs/promotions-api-rate-limits-slas.md) - [Data Share Overview](https://developer.optimove.com/docs/data-share-overview.md) - [Roles & Permissions](https://developer.optimove.com/docs/roles-permissions.md): Learn how to manage Roles and Permissions in Reader Accounts - [FAQ](https://developer.optimove.com/docs/faq.md): This document provides an overview of frequently asked questions regarding the implementation and use of Optimove Data Share solution - [Data Sharing Methods](https://developer.optimove.com/docs/data-sharing-methods.md): Learn about the different options to access the data shared by Optimove - [Data Unloading to S3](https://developer.optimove.com/docs/data-unloading-to-s3.md): Learn how to export data from Optimove Data Share to your S3 bucket - [Data Unloading to GCS](https://developer.optimove.com/docs/data-unloading-to-gcs.md): This guide explains how to export data to GCS, ad-hoc or recurring, from Snowflake Reader Accounts - [Data Shares Glossary](https://developer.optimove.com/docs/data-shares-glossary.md): Understand basic principles and terms of data objects in Optimove - [Entity Relation Diagram](https://developer.optimove.com/docs/entity-relation-diagram.md): Explore Data Share different entities and how they relate with one another - [Customer Profiles](https://developer.optimove.com/docs/customer-profiles.md) - [Views - Customer Profiles](https://developer.optimove.com/docs/views-customer-profiles.md) - [Campaigns](https://developer.optimove.com/docs/campaigns.md): Integrate data generated by the campaigns managed in Optimove to your own data warehouse and data visualization tools - [Scheduled Campaigns](https://developer.optimove.com/docs/scheduled-campaigns.md): Explore all past, present and future campaigns and all their different properties - [Campaign Results](https://developer.optimove.com/docs/campaign-results-1.md): Data and metrics of completed campaigns - [Targeted and Excluded Customers](https://developer.optimove.com/docs/targeted-customers.md): Historical record of all customers' campaign eligibility and prioritization according to marketing plan - [Triggered Campaigns](https://developer.optimove.com/docs/triggered-campaigns-1.md): Campaigns plan for triggered campaigns - [Triggered - Engaged Customers](https://developer.optimove.com/docs/views-engaged-customers.md): Targeting History under real time campaigns - [Engagement Activity](https://developer.optimove.com/docs/engagement-activity.md) - [Streams](https://developer.optimove.com/docs/streams.md) - [Streams Metadata](https://developer.optimove.com/docs/streams-metadata.md) - [Streams Results](https://developer.optimove.com/docs/streams-results.md) - [Campaigns in Streams](https://developer.optimove.com/docs/campaigns-in-streams.md) - [Customers in Treatments](https://developer.optimove.com/docs/customers-in-treatments.md) - [Purchases](https://developer.optimove.com/docs/purchases-games.md) - [Versioning Policy](https://developer.optimove.com/docs/versioning-policy.md) - [Changelog and Release Notes](https://developer.optimove.com/docs/changelog-and-release-notes.md): All release changes and updates in one place - [Version V1_6](https://developer.optimove.com/docs/version-v1_6.md) - [ Version V1_5](https://developer.optimove.com/docs/version-v1_5.md) - [Version V1_2](https://developer.optimove.com/docs/version-v1_2.md) - [Data Share Use Cases](https://developer.optimove.com/docs/data-share-use-cases.md) - [Data Samples](https://developer.optimove.com/docs/data-samples.md): Explore your data by executing these queries to get the best of data share - [Customer 360 View](https://developer.optimove.com/docs/customer-360-view.md) - [Control Groups Customers](https://developer.optimove.com/docs/customers-in-control-groups.md) - [Predictive Values View](https://developer.optimove.com/docs/customer-predictive-values.md) - [Targeted Yesterday](https://developer.optimove.com/docs/targeted-yesterday.md) - [IP Allow List](https://developer.optimove.com/docs/ip-whitelisting-guide.md) - [Jumpcloud Single-Sign-On](https://developer.optimove.com/docs/jumpcloud-single-sign-on.md) - [Remove PII Guide](https://developer.optimove.com/docs/remove-pii-guide.md) - [SR Code 5.1.12](https://developer.optimove.com/docs/multi-channel-preference-center-and-sr-code-5112.md) - [Onboarding & Integrations Set Up](https://developer.optimove.com/docs/onboarding-integrations-set-up.md) - [Business as Usual](https://developer.optimove.com/docs/business-as-usual.md) - [Recommended Real-Time Events](https://developer.optimove.com/docs/recommended-real-time-events.md) - [RSS Feed Changelog](https://developer.optimove.com/docs/rss-feed-changelog.md): Subscribe to Optimove's changelog and always stay up-to-date ## API Reference - [Optimove API Overview](https://developer.optimove.com/reference/optimove-api-overview-1.md) - [Glossary](https://developer.optimove.com/reference/glossary-1.md) - [General Information](https://developer.optimove.com/reference/general-information-1.md) - [Generating API Keys](https://developer.optimove.com/reference/generating-api-keys-2.md) - [Authentication Guide](https://developer.optimove.com/reference/authentication-guide-1.md) - [Roles & Permissions](https://developer.optimove.com/reference/roles-permissions-2.md) - [Understanding API Rate Limits](https://developer.optimove.com/reference/understanding-api-rate-limits.md) - [IP Allow List](https://developer.optimove.com/reference/ip-allow-list-1.md) - [Error Handling](https://developer.optimove.com/reference/error-handling.md) - [Last Data Update](https://developer.optimove.com/reference/get_general-getlastdataupdate.md): Returns the date of the most recently available customer data. - [Register Event Listener](https://developer.optimove.com/reference/post_general-registereventlistener.md): Specifies the URL of a listener to which Optimove will report events of the specified type (e.g., "campaign scheduled"). - [Unregister Event Listener](https://developer.optimove.com/reference/post_general-unregistereventlistener.md): Instructs Optimove to stop reporting events of the specified event type to a previously-registered listener. - [Registered Event Listeners](https://developer.optimove.com/reference/get_general-getregisteredeventlisteners.md) - [Api Key Info](https://developer.optimove.com/reference/get_apikey-info.md) - [Customer Attribute List](https://developer.optimove.com/reference/get_model-getcustomerattributelist.md): Returns all the available customer attribute names (which can be passed to certain other functions as an input parameter) and a description of each. - [Lifecycle Stage List](https://developer.optimove.com/reference/get_model-getlifecyclestagelist.md): Returns all available lifecycle stages (for use in other functions, e.g., GetCustomerFutureValues). - [Microsegment List](https://developer.optimove.com/reference/get_model-getmicrosegmentlist.md): Returns an array containing the details of all microsegments. - [MicroSegment Changers](https://developer.optimove.com/reference/get_model-getmicrosegmentchangers.md): Returns an array of customer IDs, and their before and after micro-segment IDs, for customers whose micro-segment changed during the last day for which data is available. - [All Actions](https://developer.optimove.com/reference/get_actions-getallactions.md): Returns all defined action IDs and corresponding action names. - [Actions By Target Group](https://developer.optimove.com/reference/get_actions-getactionsbytargetgroup.md): Returns all the recipient group IDs and action IDs associated with a particular target group on a particular date. - [Action ID](https://developer.optimove.com/reference/get_actions-getactionid.md): Returns the action ID associated with a particular action name. - [Action Name](https://developer.optimove.com/reference/get_actions-getactionname.md): Returns the action name associated with a particular action ID. - [Action Details By Target Group](https://developer.optimove.com/reference/get_actions-getactiondetailsbytargetgroup.md): Returns the action IDs, action duration (in days), lead time (in days) and the execution channels associated with a given target group on a particular date. - [Promo Codes](https://developer.optimove.com/reference/get_actions-getpromocodes.md): Returns all target group IDs, action IDs and promo codes for a particular date. - [Promo Codes By Campaign](https://developer.optimove.com/reference/get_actions-getpromocodesbycampaign.md): Returns the recipient group IDs, action IDs and promo codes for a particular campaign ID. - [Promo Codes By Target Group](https://developer.optimove.com/reference/get_actions-getpromocodesbytargetgroup.md): Returns all recipient group IDs, action IDs and promo codes associated with a given target group on a particular date. - [Executed Campaign Details](https://developer.optimove.com/reference/get_actions-getexecutedcampaigndetails.md): Returns details of every campaign executed on a particular date. - [Campaign Details](https://developer.optimove.com/reference/get_actions-getcampaigndetails.md): Returns details of a particular campaign. - [Execution Channels](https://developer.optimove.com/reference/get_actions-getexecutionchannels.md): Returns all execution channels that were ever in use in a campaign. This endpoint enables the user to see all the configured execution channels on its Optimove environment. - [Executed Campaigns By Channel](https://developer.optimove.com/reference/get_actions-getexecutedcampaignsbychannel.md): Returns the list of campaigns executed for a particular channel on a particular date. - [Executed Campaign Channel Details](https://developer.optimove.com/reference/get_actions-getexecutedcampaignchanneldetails.md): Returns the details of a particular channel used in a particular executed campaign. - [Target Groups By Date](https://developer.optimove.com/reference/get_groups-gettargetgroupsbydate.md): Returns the list of target group IDs for which an action was executed on a particular date. - [Target Group ID](https://developer.optimove.com/reference/get_groups-gettargetgroupid.md): Returns the target group ID associated with a particular target group name. - [Target Group Name](https://developer.optimove.com/reference/get_groups-gettargetgroupname.md): Returns the target group name associated with a particular target group ID. - [Target Group Details](https://developer.optimove.com/reference/get_groups-gettargetgroupdetails.md): Returns an array of IDs, names and priorities for all defined target groups. - [Currently Targeted Customers](https://developer.optimove.com/reference/get_customers-getcurrentlytargetedcustomers.md): Returns an array of all customer IDs currently included in one or more campaigns. - [Insert Or Update Customers](https://developer.optimove.com/reference/insert-or-update-customers.md): This endpoint allows tenants to insert new customers or update attributes for existing customers in batch. - [Insert Or Update Customer](https://developer.optimove.com/reference/put_customers-upsertcustomer.md): This endpoint allows tenants to insert new customers or update attributes for existing customers. - [Canceled Campaign Customers](https://developer.optimove.com/reference/get_customers-getcanceledcampaigncustomers.md): Returns an array of all customer IDs that had been included in a campaign that was canceled, along with their associated action IDs and promo codes. - [Processed Campaign Customers](https://developer.optimove.com/reference/get_customers-getprocessedcampaigncustomers.md): Returns an array of all customer IDs and associated promotion codes for a particular campaign ID. - [Customer Last Action Executed](https://developer.optimove.com/reference/get_customers-getcustomerlastactionexecuted.md): Returns details of the last action executed for a particular customer ID. - [Customer Actions By Target Group](https://developer.optimove.com/reference/get_customers-getcustomeractionsbytargetgroup.md): Returns a list of customers and the details of the marketing actions they received, for a particular target group ID on a particular date. - [Customer One Time Actions By Campaign](https://developer.optimove.com/reference/get_customers-getcustomeronetimeactionsbycampaign.md): Returns a list of customers and the details associated with a particular one-time campaign. - [Customer One Time Actions By Date](https://developer.optimove.com/reference/get_customers-getcustomeronetimeactionsbydate.md): Returns a list of customers and the details of the marketing actions they received as part of one-time campaigns executed on a particular date. - [Customers By Action](https://developer.optimove.com/reference/get_customers-getcustomersbyaction.md): Returns the list of customer IDs associated with a particular recipient group and action on a particular date, plus an optional customer attribute. - [Customers Action Ended By Date](https://developer.optimove.com/reference/get_customers-getcustomersactionendedbydate.md): Returns customer IDs and details of the campaigns they received, for action durations which ended on a particular date. - [Customer Send Details By Campaign](https://developer.optimove.com/reference/get_customers-getcustomersenddetailsbycampaign.md): Returns an array of all customer IDs, channel IDs, send times and channel send IDs for a particular campaign ID. - [Customer Send Details By Channel](https://developer.optimove.com/reference/get_customers-getcustomersenddetailsbychannel.md): Returns an array of all customer IDs, template IDs, send times and customer attributes for a particular combination of channel ID and campaign ID. - [Customer Execution Details By Campaign](https://developer.optimove.com/reference/get_customers-getcustomerexecutiondetailsbycampaign.md): Returns an array of all customer IDs and the details associated with each customer for a particular campaign ID. - [Customer Action Details By Date](https://developer.optimove.com/reference/get_customers-getcustomeractiondetailsbydate.md): Returns customer IDs and details of the campaigns sent to them on a particular date. - [Customer Product Details By Date](https://developer.optimove.com/reference/get_customers-getcustomerproductdetailsbydate.md): Returns an array of customer IDs and recommended Product IDs for each customer targeted by any product recommendation campaign on a particular date. - [Customer Product Details By Campaign](https://developer.optimove.com/reference/get_customers-getcustomerproductdetailsbycampaign.md): Returns an array of customer IDs and recommended Product IDs for each customer targeted by a particular product recommendation campaign. - [Customer Product Recommendations](https://developer.optimove.com/reference/get_customers-getcustomerproductrecommendations.md) - [Customer Future Values](https://developer.optimove.com/reference/get_customers-getcustomerfuturevalues.md): Returns customer IDs and their current future values. - [Customers Activity Event Attributes](https://developer.optimove.com/reference/get_customers-getcustomersactivityeventattributes.md): Returns an array of all customer IDs that triggered a particular SDK event on a particular date, along with associated details. - [Campaign Interaction Customers](https://developer.optimove.com/reference/get_customers-getcampaigninteractioncustomers.md): Returns an array of Customer IDs and associated details for each customer who performed a particular interaction (generated a particular event) via a particular channel on a particular date. - [Customer Channel Interactions](https://developer.optimove.com/reference/get_customers-getcustomerchannelinteractions.md): Returns the details of a particular customer’s interactions with campaigns sent during a particular date range. - [Customer Attributes](https://developer.optimove.com/reference/get_customers-ccid-attributes.md) - [Campaign Engagement Metrics](https://developer.optimove.com/reference/get_customers-getcampaignengagementmetrics.md): Returns the details of a particular customer’s interactions with scheduled and triggered campaigns sent during a particular date range. - [Add Customer Attribute](https://developer.optimove.com/reference/post_customers-addcustomerattribute.md): Add a new customer attribute. - [Update Customer Attributes](https://developer.optimove.com/reference/post_customers-updatecustomerattributes.md): Updates attribute values for particular customer IDs. - [Customer Attribute Changers](https://developer.optimove.com/reference/get_customers-getcustomerattributechangers.md): Returns an array of customer IDs, and their before and after attribute values, for customers whose selected attribute changed from the previous day to the current day. - [Remove Customer PII](https://developer.optimove.com/reference/post_customers-removecustomerpii.md): Causes Optimove to delete all personally identifiable information associated with specified customer IDs. - [Value Segments](https://developer.optimove.com/reference/get_segments-getvaluesegments.md): Returns all defined value segment names and IDs. - [Value Segment ID](https://developer.optimove.com/reference/get_segments-getvaluesegmentid.md): Returns the value segment ID associated with a particular value segment name. - [Value Segment Name](https://developer.optimove.com/reference/get_segments-getvaluesegmentname.md): Returns the value segment name associated with a particular value segment ID. - [Customers By Value Segment](https://developer.optimove.com/reference/get_segments-getcustomersbyvaluesegment.md): Returns the list of customer IDs associated with a particular value segment at the current time. Value segments can be tracked in Optimove's Customer Model page - [Value Segment Changers](https://developer.optimove.com/reference/get_segments-getvaluesegmentchangers.md): Returns all customer IDs in the database which changed value segments, along with their before and after value segment IDs. - [Channel Templates](https://developer.optimove.com/reference/get_integrations-getchanneltemplates.md): Returns an array of template IDs and associated names for a particular channel. - [Channel Template Details](https://developer.optimove.com/reference/get_integrations-getchanneltemplatedetails.md): Returns the content and attributes of a specific template for a specific channel. Currently, this endpoint supports only Optimail channel (ChannelID: 15). - [Add Channel Templates](https://developer.optimove.com/reference/post_integrations-addchanneltemplates.md): Adds template IDs and associated names that will be associated with a specified channel ID. - [Delete Channel Templates](https://developer.optimove.com/reference/post_integrations-deletechanneltemplates.md): Removes previously added channel templates. - [Add Channel Apps](https://developer.optimove.com/reference/post_integrations-addchannelapps.md): Adds app IDs and associated names that will be available for selection when running a campaign via the specified channel (typically required when using push notification channels). - [Delete Channel Apps](https://developer.optimove.com/reference/post_integrations-deletechannelapps.md): Removes previously added apps. - [Promotions](https://developer.optimove.com/reference/get_integrations-getpromotions.md): Returns an array of all defined promo codes and associated names. - [Add Promotions](https://developer.optimove.com/reference/post_integrations-addpromotions.md): Adds promo codes and associated names that will be available for selection when running a campaign. - [Delete Promotions](https://developer.optimove.com/reference/post_integrations-deletepromotions.md): Removes previously added promo codes. - [Activity Event List](https://developer.optimove.com/reference/get_integrations-getactivityeventlist.md): Returns all available custom SDK events with each event parameter's name and type. - [Update Campaign Metrics](https://developer.optimove.com/reference/post_integrations-updatecampaignmetrics.md): Reports to Optimove post-execution metrics for campaigns executed by a third-party marketing execution system. - [Update Campaign Interactions](https://developer.optimove.com/reference/post_integrations-updatecampaigninteractions.md): Reports to Optimove customer interactions with campaigns executed by a third-party marketing execution system. - [Update Customer Promotion Status](https://developer.optimove.com/reference/post_integrations-updatecustomerpromotionstatus.md): Informs Optimove of the status of activated promotions for particular customer IDs for a particular campaign ID. - [Set Customer Channel Preference](https://developer.optimove.com/reference/post_integrations-setcustomerchannelpreference.md): Set communication mode for particular customer IDs for particular channels. - [Template Folders](https://developer.optimove.com/reference/get_optimail-gettemplatefolders.md): Returns the names and IDs of all Optimail template folders for a particular brand. - [Email Parameters](https://developer.optimove.com/reference/get_optimail-getemailparameters.md): Returns all available parameters for use with Optimail templates for a particular brand. - [Add Template](https://developer.optimove.com/reference/post_optimail-addtemplate.md): Creates a new Optimail template. - [Update Template](https://developer.optimove.com/reference/post_optimail-updatetemplate.md): Updates an existing Optimail template. - [Unsubscribers](https://developer.optimove.com/reference/get_optimail-getunsubscribers.md): Allows to retrieve email addresses that are a part of a global unsubscribe list of a particular brand. - [Add Unsubscribers](https://developer.optimove.com/reference/post_optimail-addunsubscribers.md): Adds one or more email addresses to a global unsubscribe list of a particular brand. - [Delete Unsubscribers](https://developer.optimove.com/reference/post_optimail-deleteunsubscribers.md): Deletes one email addresses from the global unsubscribe list of a particular brand. - [Send Transactional Mail](https://developer.optimove.com/reference/post_transactionalmail-sendtransactionalmail.md): Sends a specific transactional email template to a list of recipients. - [Send Finalized Transactional Mail](https://developer.optimove.com/reference/post_transactionalmail-sendfinalizedtransactionalmail.md): Sends a transactional email template, containing your custom HTML content, to a list of recipients. - [Template Details](https://developer.optimove.com/reference/get_transactionalmail-gettemplatedetails.md): Returns an array of transactional template IDs and associated attributes. - [Transactional Template Metrics](https://developer.optimove.com/reference/get_transactionalmail-gettransactionaltemplatemetrics.md): Returns post-execution metrics for a specific transactional mail template over time. - [Transactional User Metrics](https://developer.optimove.com/reference/get_transactionalmail-gettransactionalusermetrics.md): Returns post-execution transactional email metrics for a specific recipient. - [/HealthCheck/HealthCheck](https://developer.optimove.com/reference/get_healthcheck-healthcheck.md) - [Creates a new customer list.](https://developer.optimove.com/reference/post_api-v2-target-group-customer-list.md) - [Updates a target group with a new customer list.](https://developer.optimove.com/reference/put_api-v2-target-group-customer-list.md) - [Gets a customer list by ID.](https://developer.optimove.com/reference/get_api-v2-target-group-customer-list-list-id.md) - [Creates a new target group with existing target group condition.](https://developer.optimove.com/reference/post_api-v2-target-group-existing-target-group.md) - [Updates a target group with existing target group condition.](https://developer.optimove.com/reference/put_api-v2-target-group-existing-target-group.md) - [Adds customers to an existing customer list.](https://developer.optimove.com/reference/post_api-v2-target-group-list-id-customers.md) - [Reload customers in a customer list.](https://developer.optimove.com/reference/put_api-v2-target-group-list-id-customers.md) - [Gets metadata for all customer lists.](https://developer.optimove.com/reference/get_api-v2-target-group-metadata.md) - [Create conditional execution approval.](https://developer.optimove.com/reference/post_conditional-execution-v2-triggered-approval.md): Creates a new conditional execution approval. - [Conditional execution settings](https://developer.optimove.com/reference/get_conditional-execution-v2-triggered-settings.md): Retrieves the conditional execution settings for the current tenant. - [Create conditional execution settings](https://developer.optimove.com/reference/post_conditional-execution-v2-triggered-settings.md): Creates new conditional execution settings for the current tenant. - [Update conditional execution settings](https://developer.optimove.com/reference/patch_conditional-execution-v2-triggered-settings.md): Updates the conditional execution settings for the current tenant. - [Conditional execution webhooks](https://developer.optimove.com/reference/get_conditional-execution-v2-triggered-webhooks.md): Retrieves all conditional execution webhooks for the current tenant. - [Create conditional execution webhook](https://developer.optimove.com/reference/post_conditional-execution-v2-triggered-webhooks.md): Creates a new conditional execution webhook. - [Conditional execution webhook](https://developer.optimove.com/reference/get_conditional-execution-v2-triggered-webhooks-id.md): Retrieves a specific conditional execution webhook by its ID. - [Delete conditional execution webhook](https://developer.optimove.com/reference/delete_conditional-execution-v2-triggered-webhooks-id.md): Deletes a specific conditional execution webhook by its ID. - [Register Event Listener](https://developer.optimove.com/reference/post_triggers-registereventlistener.md) - [Unregister Event Listener](https://developer.optimove.com/reference/post_triggers-unregistereventlistener.md) - [Removes customers from an existing customer list.](https://developer.optimove.com/reference/delete_api-v2-target-group-customer-list-list-id-customers.md) - [Overview](https://developer.optimove.com/reference/optimobile-api-overview.md): The OptiMobile API enables you to add device tokens using a No-SDK integration or send transactional push notifications and in-app messages. - [OptiMobile SDK Reference](https://developer.optimove.com/reference/api-reference-optimobile-sdk.md) - [Add Device](https://developer.optimove.com/reference/add-device.md): This endpoint can be used with Client or Server credentials and registers a device token for the Mobile Push channel, enabling push notifications without requiring a full SDK integration. - [Receiving Push Notifications](https://developer.optimove.com/reference/receiving-push-notifications-from-optimobile.md): If you use the No-SDK solution to send your Device Tokens to OptiMobile you will need to implement additional client side code to receive and make use of the advanced features of push notifications. - [Tracking Opens](https://developer.optimove.com/reference/tracking-opens.md): This endpoint can be used with Client or Server credentials and allows you to track a customer opening the push notification for channel metrics in mission control - [Remove Device](https://developer.optimove.com/reference/remove-device.md): This endpoint can be used with Client or Server credentials and disables a device token for the Mobile Push channel. - [Send Push](https://developer.optimove.com/reference/transactional-push.md): This endpoint can only be used with your Server credentials and allows you to send notifications directly to one or more customers. - [Cancel Scheduled Push](https://developer.optimove.com/reference/cancel-scheduled-push.md): This endpoint can only be used with your Server credentials and allows you to cancel a notification that has been scheduled to send in the future using the ID returned from the Send endpoint. - [Send In-App Message](https://developer.optimove.com/reference/transactional-in-app.md): This endpoint can only be used with your Server credentials and allows you to send in-app messages directly to one or more customers. - [Testing and Troubleshooting](https://developer.optimove.com/reference/testing-and-troubleshooting.md): In this guide you will find some common errors along with details of how to resolve them. However, if you continue to experience any problems, please contact support. - [Overview](https://developer.optimove.com/reference/overview-1.md) - [Get Embedded Messages](https://developer.optimove.com/reference/get-embedded-messages.md) - [Report Message Events](https://developer.optimove.com/reference/report-message-events.md) - [Get Embedded Messaging user messages for a specific container using POST](https://developer.optimove.com/reference/getembeddedmessagespost.md) - [Get Web Inbox user messages](https://developer.optimove.com/reference/getusermessages.md) - [Update Web Inbox message read status](https://developer.optimove.com/reference/updatemessagereadstatus.md): Implicitly raises any associated metrics e.g. opened. - [Report Web Inbox Message metrics](https://developer.optimove.com/reference/reportmessagemetrics.md) - [Delete Web Inbox message](https://developer.optimove.com/reference/deletemessage.md): Implicitly raises associated metric i.e. deleted. - [Unsubscribes](https://developer.optimove.com/reference/subscribers.md) - [Add Unsubscribes (V1)](https://developer.optimove.com/reference/add-unsubscribes.md) - [Delete Unsubscribes (V1)](https://developer.optimove.com/reference/delete-unsubscribes.md) - [Get Unsubscribes](https://developer.optimove.com/reference/get-unsubscribes.md) - [Add Unsubscribes (V2)](https://developer.optimove.com/reference/createsmsunsubscribes.md): Upserts one or more customer unsubscribe records. Valid entries are persisted with `consent = false` (unsubscribed). Invalid mobile numbers are skipped; see response codes for partial-success behavior. - [Delete Unsubscribes (V2)](https://developer.optimove.com/reference/deletesmsunsubscribes.md): Upserts one or more customer records with `consent = true` (resubscribed). Uses the same request body shape and validation as POST. - [Get Preferences](https://developer.optimove.com/reference/get-preferences.md): This API can be used to load a single customers preferences in order to drive a view or editing experience. - [Update Preferences](https://developer.optimove.com/reference/update-preferences.md): Updates topic preferences for customer within specified brand group. It is mandatory to pass preference status for all topics. - [Get Smart Campaign Preferences](https://developer.optimove.com/reference/get-smart-campaign-preferences.md): Loads a single customer's smart-campaign topic preferences for a brand group, suitable for driving a view or editing experience. Only topics configured as **Hide from UI** for the brand group are returned; visible (channel-scoped) topics are omitted. Unlike Get Preferences, this endpoint is not scoped to communication channels. - [Update Smart Campaign Preferences](https://developer.optimove.com/reference/update-smart-campaign-preferences.md): Updates smart-campaign topic preferences for a customer within the specified brand group. Unlike channel Update Preferences, this is a **partial** update: only topics present in the request body are written, and other smart-campaign topics keep their previous stored values. Each topicId must reference a **Hide from UI** topic in the given brand group. - [Topics](https://developer.optimove.com/reference/topics.md): The `topics` REST API controller manages preference topics within the preference center system. It provides a complete set of CRUD (Create, Read, Update, Delete) operations for managing topics that users can subscribe to or unsubscribe from. - [Get topics](https://developer.optimove.com/reference/gettopics.md): Returns a list of preference center topics, optionally filtered by brand group and visibility. For **SMART campaign topics**, set `hideFromUi=true` to get topics that are hidden from the preference center UI (and thus used for SMART campaigns). If `hideFromUi` is not provided, only customer-visible topics are returned. - [Create topic](https://developer.optimove.com/reference/createtopic.md): Creates a new preference center topic. For **SMART campaigns**, set `hideFromUi: true` so the topic is used for campaign logic but not shown in the customer-facing preference center. Name must be unique within the brand group. `brandGroupId` must reference an existing brand group. - [Update topic](https://developer.optimove.com/reference/updatetopic.md): Updates an existing preference center topic. **Note:** `hideFromUi` cannot be changed after creation, so SMART campaign topics remain hidden from the UI. - [Delete topic](https://developer.optimove.com/reference/deletetopic.md): Deletes a preference center topic (e.g. a SMART campaign topic no longer in use). Returns the deleted topic on success. - [Register Player](https://developer.optimove.com/reference/register-player.md): This endpoint allows you to pre-register players for a campaign. - [Prize Codes](https://developer.optimove.com/reference/prize-codes.md): This endpoint allows you to add a batch of unique prize codes to a specific prize within a campaign. This is useful for uploading voucher codes, gift card numbers, or any other unique codes you want to distribute as prizes. - [Assigned Prizes](https://developer.optimove.com/reference/assigned-prizes.md): This endpoint allows you to query prizes that have been assigned to players after they have completed a campaign. These assigned prizes may include unique prize codes that players can redeem. You can use this endpoint to fetch all assigned prizes for a specific campaign, additionally you can filter by a specific prize or player information. - [Leaderboard](https://developer.optimove.com/reference/leaderboard.md): This endpoint allows you to query leaderboard data for a campaign. It provides information such as player rankings, scores, and time played. Use this endpoint if you want to display a real-time leaderboard in your system to showcase player achievements and encourage competition. - [Segments](https://developer.optimove.com/reference/segments.md): This endpoint allows you to query available segments within your system. Each segment includes fields like campaignId, name, and campaignURL, which are essential for showing different campaigns to various user groups. This feature is particularly useful when you want to deliver personalized content—for example, displaying specific campaigns to users based on whether they are part of a 'paid' or 'free' segment. Segments are dynamically managed within the system, ensuring that users always see the most up-to-date campaigns without requiring manual updates on your end. - [Set Player Gameplay Limit](https://developer.optimove.com/reference/set-player-gameplay-limit.md): This endpoint allows you to set or update the maximum number of gameplays an individual player is allowed in a campaign. Use it when you want to control how many times a specific player can play — for example, granting extra attempts as a reward, or tightening the limit for a particular customer. The campaign must be configured with the **dynamic** gameplay limit type. Requests made against campaigns using any other gameplay limit type are rejected with a `400` response. - [Welcome to the Loyalty System](https://developer.optimove.com/reference/welcome-to-the-loyalty-system.md) - [Default Brand for Tenant](https://developer.optimove.com/reference/getdefaultbrand.md): Resolves the `brandId` (UUID) for your tenant. All other widget endpoints take `brandId`, not `tenantId`. Cache the result for the widget session. - [Widget Theme](https://developer.optimove.com/reference/getwidgettheme.md): Branding colors and CSS variables configured by the brand owner in the Optimove dashboard. Apply these to style your widget to match the brand's identity. > 🚧 CSS safety > > `globalCss` and `customCss` are raw values from the API. Before injecting them as live styles, allow-list the CSS properties and selectors your widget accepts to prevent unintended style injection. - [Player Profile](https://developer.optimove.com/reference/getplayerprofile.md): Display name and avatar for the logged-in player. - [Update Player Display Name](https://developer.optimove.com/reference/updateplayername.md): Updates the player's display name. Names must be unique within a tenant. - [Player Level and XP Progress](https://developer.optimove.com/reference/getplayerlevel.md): Current level, XP progress, and rewards for reaching the next level. Use this to render the XP progress bar and level badge. Draw the progress bar as `xpProgressInCurrentLevel / (xpForNextLevel - xpForCurrentLevel)`. Reward references (`currentLevelRewards[].rewardId`, `nextLevelRewards[].rewardId`) resolve to the rewards catalog (match against `id`). - [All Level Tiers for a Player](https://developer.optimove.com/reference/getallplayerlevels.md): Returns every level in the active level configuration with the same shape as the single-level endpoint, plus configuration metadata. Useful for rendering a full progress roadmap. - [Claim a Level Reward](https://developer.optimove.com/reference/claimlevelreward.md): Grants the rewards attached to a level the player has reached but not yet claimed. The list of claimable levels is surfaced in the `claimableLevels` array of the [Player level](/reference/getplayerlevel) response; render a per-entry "Claim" button. After a successful claim, re-fetch the player level data (the entry drops out of `claimableLevels`) and `GET /player-rewards/brand/{brandId}/player/{playerId}` so the player's balance reflects the new rewards. - [Player Missions](https://developer.optimove.com/reference/getplayermissions.md): Active and completed missions for the player. Each item pairs an `objective` (the task definition) with the player's `mission` progress record and the `rewards` granted on completion. > 📘 Render filtering > > Only render items where `objective.status === "active"`. The list may include objectives with status `draft`, `archived`, or `deleted` that should not be displayed to players. - [Single Mission by Objective](https://developer.optimove.com/reference/getplayermissionbyobjective.md): Returns a single mission item (object, not wrapped in an array) for a specific objective. Use after unlock or claim to refresh the player's state for that mission. - [Unlock a Mission (Spend Currency)](https://developer.optimove.com/reference/unlockmission.md): Some missions are locked behind an unlock cost. Call this when the player taps "Unlock". The required currency is deducted and the mission is activated so progress can begin. After a successful unlock, re-fetch `GET /player-rewards/brand/{brandId}/player/{playerId}` so the player's balance reflects the deduction. - [Claim a Mission Reward](https://developer.optimove.com/reference/claimmissionreward.md): Claims the reward for a completed mission. Show a "Claim" button when `mission.status === "completed"`. After a successful claim, re-fetch `GET /player-rewards/brand/{brandId}/player/{playerId}` so the player's balance reflects the new rewards. - [Calculated-Reward Missions for a Player](https://developer.optimove.com/reference/getplayercalculatedrewards.md): Returns active calculated-reward objectives the player is eligible for based on target-group membership. Calculated-reward missions issue a dynamic reward amount per qualifying event using a formula (`ebfrFormula`) rather than counting completions toward a fixed goal. These objectives are excluded from the regular [Player missions](/reference/getplayermissions) endpoint and have no `mission` progress record (rewards are issued per qualifying event, not accumulated toward a goal). Use this endpoint to display available calculated-reward missions in the widget. Only objectives with `status = "active"` are returned. Target-group filtering happens server-side. - [Brand Rewards Catalog](https://developer.optimove.com/reference/getrewardscatalog.md): All reward types configured for the brand. Cross-reference `rewardTypeId` from player rewards, mission rewards, and leaderboard prizes against this list to get names and icons. The catalog changes infrequently. Cache it for the widget session lifetime and re-fetch on the next page load. - [Player Reward Balances](https://developer.optimove.com/reference/getplayerrewards.md): Aggregated totals per reward type for the player. Use `rewardTypeId` to look up names and icons from the rewards catalog. - [Player Badges](https://developer.optimove.com/reference/getplayerbadges.md): Returns the badges (rewards with `type = "badge"`) earned by the player. - [List Leaderboards for a Brand](https://developer.optimove.com/reference/listleaderboards.md): All leaderboards and tournaments configured for the brand, including prize tiers, period dates, and reset cadence. For repeatable leaderboards, when a period ends the current instance moves to `rewarding`, then `archived`, and a new `active` instance appears in the list automatically. - [Player Enrollment and Score on a Leaderboard](https://developer.optimove.com/reference/getplayerleaderboardenrollment.md): Returns the player's enrollment status and current score on a specific leaderboard. For regular leaderboards `isEnrolled` is always `true` once the leaderboard is active. - [Tournament Enrollment Status](https://developer.optimove.com/reference/gettournamentenrollmentstatus.md): Lightweight check that returns the player's enrollment status without `totalAmount`. Use when you only need to know whether the player is enrolled. - [Enroll a Player in a Tournament](https://developer.optimove.com/reference/enrollintournament.md): Enrollment applies to tournament-type leaderboards only. Calling this on a regular leaderboard returns `400 "Only tournaments require enrollment"`. If `costAmount` is non-null in the response, re-fetch `GET /player-rewards/brand/{brandId}/player/{playerId}` so the player's balance reflects the entry fee. - [Player's Current Rank](https://developer.optimove.com/reference/getplayerleaderboardrank.md): Returns the player's current rank and score on a leaderboard. Returns `null` if the player has no recorded position. - [Top Players on a Leaderboard](https://developer.optimove.com/reference/getleaderboardtop.md): Returns the top players ordered by score descending. The response has no `rank` field. Derive rank from the array position (`index + 1`). - [Players in a Rank Range](https://developer.optimove.com/reference/getleaderboardrankrange.md): Returns players in the given inclusive rank range. Use for pagination, or to show "players around me". - [Get tenant data by id](https://developer.optimove.com/reference/tenantquery_getbyid-1.md): Retrieves tenant's data, including the full set of property schemas configured for the tenant. This endpoint is useful for understanding the current schema setup across different entity types. - [Add or change the promotion property schemas](https://developer.optimove.com/reference/tenantcommand_mergepromotionpropertyschemas.md): This endpoint allows you to define or update custom metadata fields (property schemas) associated with promotions across your tenant. These properties can be used to store additional context or attributes that aren’t part of the default promotion model. - [Set Default Amount Reward Type for Promotions](https://developer.optimove.com/reference/tenantcommand_mergeamountrewardtypes.md) - [Set Default Unit Reward Type for Promotions](https://developer.optimove.com/reference/tenantcommand_mergeunitrewardtypes.md) - [Get list of promotions](https://developer.optimove.com/reference/promotionquery_list.md) - [Get a promotion by id](https://developer.optimove.com/reference/promotionquery_getbyid.md) - [Create a promotion](https://developer.optimove.com/reference/promotioncommand_create-1.md): Create a new promotion with the specified promotion ID. The promotion ID must be unique and not already in use. The promotion ID is an optional field. If not provided, the system will generate a unique promotion ID. - [Archive an existing promotion](https://developer.optimove.com/reference/promotioncommand_archive-1.md) - [Activate a draft or deactivated promotion](https://developer.optimove.com/reference/promotioncommand_activate-1.md) - [Set the reward constraints for a promotion](https://developer.optimove.com/reference/promotioncommand_setrewardconstraints-1.md): Set the min and max rewards possible for this promotion, in cent amounts and in unit counts. - [Set the publishing budgets for a promotion](https://developer.optimove.com/reference/promotioncommand_setpublishingbudgets-1.md): Set the recurring and lifetime publishing budgets for this promotion, in promotion caps, in cent amounts and in unit counts. - [Refresh budgets status for a promotion](https://developer.optimove.com/reference/promotioncommand_requestbudgetsstatus-2.md): This updates budgets status for a promotion, should not be called directly, handled automatically. - [Deactivate an active promotion](https://developer.optimove.com/reference/promotioncommand_deactivate-1.md) - [Duplicate an existing promotion](https://developer.optimove.com/reference/promotioncommand_duplicate-1.md): Duplicate an existing promotion with the specified promotion ID. The promotion ID must be unique and not already in use. The promotion ID is an optional field. If not provided, the system will generate a unique promotion ID. New promotion will be created in DRAFT state, to allow further modifications. - [Set metadata in promotion](https://developer.optimove.com/reference/promotioncommand_setmetadata-1.md) - [Set the list of promotion tiers in a promotion](https://developer.optimove.com/reference/promotioncommand_setpromotiontiers-1.md): Set the list of promotion tiers in a promotion. Promotion tiers are used to define different levels of benefits that customers can receive based on their eligibility. Each promotion tier has a unique id, a name, and a set of benefits that are applied to customers who meet the conditions of the tier. Promotion tiers are priority ordered by their index in the array. Each promotion tier includes a condition tree that defines the conditions under which the tier will be applied. The condition tree is a hierarchical structure that defines the conditions under which the tier will be applied. The condition tree is composed of branches, each of which contains a condition that must be met for the tier to be applied. In order to connect branches into a tree, each branch has a unique id based on its index in the array, and an optional parent field with the index of the parent. Note that branches may only point to parents in LOWER index than themselves. - [Set promotion properties](https://developer.optimove.com/reference/promotioncommand_setproperties-1.md): Set properties in a promotion. Properties are key-value pairs that can be used to store additional information about the promotion. Values may be of different types, defined for all promotions, at the tenant level. - [Create a promotion transaction](https://developer.optimove.com/reference/promotioncommand_createtransaction-1.md): Create a promotion transaction for the specified, mandatory, promotion ID. The transaction may include multiple commands to create, update, or delete promotion data. The transaction will be committed atomically, ensuring that all commands are executed successfully or none are executed at all. - [Create a promocode](https://developer.optimove.com/reference/promocodecommand_create-1.md): Create a new promocode with the specified promocode ID. The promocode ID must be unique and not already in use. The promocode ID is an optional field. If not provided, the system will generate a unique promocode ID. - [Load codes file](https://developer.optimove.com/reference/promocodecommand_loadcodesfile.md): Notifies OptiPromo that a CSV file containing unique codes has been uploaded. - [Set the configuration of a personalized promocode](https://developer.optimove.com/reference/promocodecommand_configurepersonalized-1.md) - [Hide promocode from list](https://developer.optimove.com/reference/promocodecommand_hide-1.md) - [Link a promocode to campaign](https://developer.optimove.com/reference/promocodecommand_linkcampaign-1.md) - [Reassign the promocode to another promotion](https://developer.optimove.com/reference/promocodecommand_reassignpromotion-1.md) - [Show promocode in list](https://developer.optimove.com/reference/promocodecommand_show-1.md) - [Create a promocode transaction](https://developer.optimove.com/reference/promocodecommand_createtransaction-1.md): Create a promocode transaction for the specified, mandatory, promocode ID. The transaction may include multiple commands to create, update, or delete promocode data. The transaction will be committed atomically, ensuring that all commands are executed successfully or none are executed at all. - [Unlink a promocode from campaign](https://developer.optimove.com/reference/promocodecommand_unlinkcampaign-1.md) - [Customers Assignment](https://developer.optimove.com/reference/promocodequery_getcustomersassignment.md): Returns the customers assignment for a list of customers and promocodes - [Get upload URL for code files](https://developer.optimove.com/reference/promocodequery_getuploadurl-1.md): Get a signed upload URL for promocode files - [Get a promocode by id](https://developer.optimove.com/reference/promocodequery_getbyid.md) - [Report Customer Redemptions](https://developer.optimove.com/reference/promocodequery_customerredemptions-1.md): Persist the individual customer redemptions per promocode - [Customer Validation](https://developer.optimove.com/reference/promocodequery_validatecustomers.md): Validates each customer against the promotion's conditions and returns the results. The response includes the promocodeId and a list of customers with reward allocations for each customer. The effect will indicate which promotion tier was chosen for the customer, and what reward should be given. - [Publish a triggered campaign for real-time customer validation](https://developer.optimove.com/reference/publishercommand_publishtriggeredcampaign.md): Validates customer eligibility for a triggered campaign in real-time. Processes trigger context, user data, and campaign occurrence. Authentication via x-api-key header. Tenant ID is derived from the API key. - [Register webhooks for conditional campaign execution](https://developer.optimove.com/reference/publishercommand_registerwebhooks.md): Registers webhooks with Optimove for conditional campaign execution callbacks. Authentication via x-api-key header. Tenant ID is derived from the API key. - [Start a conditional execution campaign](https://developer.optimove.com/reference/publishercommand_startconditionalcampaign.md): Initiates a conditional execution campaign by campaign ID. Authentication via x-api-key header. Tenant ID is derived from the API key. - [/records](https://developer.optimove.com/reference/records.md): Opti-X Sports Inventory REST API - [/records](https://developer.optimove.com/reference/put_records.md) - [/records](https://developer.optimove.com/reference/post_records.md) - [/records](https://developer.optimove.com/reference/delete_records.md) - [List Data Connections](https://developer.optimove.com/reference/list_data_connections_connections_get.md) - [Create Data Connection](https://developer.optimove.com/reference/create_data_connection_connections_post.md) - [Get Data Connection](https://developer.optimove.com/reference/get_data_connection_connections__data_connection_uuid__get.md) - [Update Data Connection](https://developer.optimove.com/reference/update_data_connection_connections__data_connection_uuid__put.md) - [Delete Data Connection](https://developer.optimove.com/reference/delete_data_connection_connections__data_connection_uuid__delete.md) - [Get Data Connection References](https://developer.optimove.com/reference/get_data_connection_references_connections__data_connection_uuid__references_get.md) - [Add Data Connection Reference](https://developer.optimove.com/reference/add_data_connection_reference_connections__data_connection_uuid__references_post.md) - [Delete Reference From Data Connection](https://developer.optimove.com/reference/delete_reference_from_data_connection_connections__data_connection_uuid__references__data_connection_reference_source_uuid__delete.md) - [Upload Data To Data Connection](https://developer.optimove.com/reference/upload_data_to_data_connection_connections__data_connection_uuid__upload_data_post.md) - [Update Data In Data Connection](https://developer.optimove.com/reference/update_data_in_data_connection_connections__data_connection_uuid__update_data_put.md) - [Delete Data From Data Connection](https://developer.optimove.com/reference/delete_data_from_data_connection_connections__data_connection_uuid__delete_data_post.md) - [Clear Data From Data Connection](https://developer.optimove.com/reference/clear_data_from_data_connection_connections__data_connection_uuid__clear_post.md) - [Get Data Connection Schema](https://developer.optimove.com/reference/get_data_connection_schema_connections__data_connection_uuid__schema_get.md) - [Query Data Connection Data](https://developer.optimove.com/reference/query_data_connection_data_connections__data_connection_uuid__query_post.md) - [Emarsys External Content Lookup](https://developer.optimove.com/reference/emarsys_external_content_lookup_connections__data_connection_uuid__external_content_emarsys_post.md) - [Api Batch Query Data Connection Data](https://developer.optimove.com/reference/api_batch_query_data_connection_data_connections__data_connection_uuid__api_batch_query_post.md) ## Changelog - [Gamify API: Set Player Gameplay Limit](https://developer.optimove.com/changelog/gamify-api-set-player-gameplay-limit.md) - [Preference Center API: Smart Campaign Preferences endpoints + preference endpoint updates](https://developer.optimove.com/changelog/preference-center-api-smart-campaign-preferences-endpoints-preference-endpoint-updates.md) - [Data Share: V1.5 and V1.6 schema versions now available](https://developer.optimove.com/changelog/data-share-v15-and-v16-schema-versions-now-available.md) - [Conditional Execution endpoints — clearer parameters, responses, and error handling](https://developer.optimove.com/changelog/conditional-execution-endpoints-clearer-parameters-responses-and-error-handling.md) - [API Reference corrections: request body parameter types](https://developer.optimove.com/changelog/api-reference-corrections-request-body-parameter-types.md) - [Customer Execution Details By Campaign — customer attribute parameters documented](https://developer.optimove.com/changelog/customer-execution-details-by-campaign-customer-attribute-parameters-documented.md) - [AI Minigame Creator (MCP-driven generation)](https://developer.optimove.com/changelog/ai-minigame-creator-mcp-driven-generation.md) - [SMS API: new developer documentation (formerly OptiText)](https://developer.optimove.com/changelog/sms-api-new-developer-documentation-formerly-optitext.md) - [Events-based Integration (EBI) now available](https://developer.optimove.com/changelog/events-based-integration-ebi-now-available.md) - [Overlay Messaging: custom action handler for deep linking.](https://developer.optimove.com/changelog/overlay-messaging-custom-action-handler-for-deep-linking.md)