Skip to main content
Version: 2026.2

Webservice

CMF has a built-in REST webservice. It authenticates requests with API keys, which you configure for Pimcore users in Pimcore Studio.

Add the API key as an X-API-Key HTTP header (recommended) or an apikey URL parameter on your request.

The webservice also supports session authentication: if the request carries a valid Pimcore Studio user session (for example when testing in the browser), you do not need to add the X-API-Key header or the apikey parameter.

Configure the Symfony firewall in your security.yml; see the Installation chapter for details.

Webservice ConfigurationWebservice ConfigurationWebservice Configuration

API Reference

Customers API

Standard REST calls for customer CRUD actions:

PathMethodDescription
/__customermanagementframework/webservice/customersGETFetch all customers
/__customermanagementframework/webservice/customers/{id}GETFetch a single customer
/__customermanagementframework/webservice/customersPUT, POSTCreate a new customer
/__customermanagementframework/webservice/customers/{id}PUT, POSTUpdate a customer
/__customermanagementframework/webservice/customers/{id}DELETEDelete a customer

Filter GET requests with these query parameters:

ParameterPossible ValuesDescription
includeActivitiestrue/falseinclude the customer's activities in the result set
segmentsrepeated segments[] paramsfilter by segments, one parameter per segment ID
pageintpage number for paging
pageSizeintpage size for paging
modificationTimestampintfilter for customers with a newer modification timestamp

Pass one segments[] parameter per segment ID. The endpoint does not split comma-separated values, and a scalar segments=1 is rejected with HTTP 400:

GET /__customermanagementframework/webservice/customers?segments[]=1&segments[]=2&includeActivities=true

Activities API

Standard REST calls for activity CRUD actions:

PathMethodDescription
/__customermanagementframework/webservice/activitiesGETFetch all activities
/__customermanagementframework/webservice/activities/{id}GETFetch a single activity
/__customermanagementframework/webservice/activitiesPUT, POSTCreate a new activity
/__customermanagementframework/webservice/activities/{id}PUT, POSTUpdate an activity
/__customermanagementframework/webservice/activities/{id}DELETEDelete an activity

Filter GET requests with these query parameters:

ParameterPossible ValuesDescription
typestringfilter by activity type
modifiedSinceTimestamptimestamp/intget activities modified since the given timestamp
pageintpage number for paging
pageSizeintpage size for paging

Deletions API

Delivers information about deletions of customers and activities:

PathMethodDescription
/__customermanagementframework/webservice/deletionsGETFetch recorded deletions

Query parameters:

ParameterPossible ValuesRequiredDescription
entityTypecustomers/activitiesyesget deletions of customers or activities
deletionsSinceTimestamptimestamp/intnoget deletions recorded since the given timestamp

The request fails with an error if entityType is missing.

Segments API

Standard REST calls for customer segment CRUD actions:

PathMethodDescription
/__customermanagementframework/webservice/segmentsGETFetch all segments
/__customermanagementframework/webservice/segments/{id}GETFetch a single segment
/__customermanagementframework/webservice/segmentsPUT, POSTCreate a new segment
/__customermanagementframework/webservice/segments/{id}PUT, POSTUpdate a segment
/__customermanagementframework/webservice/segments/{id}DELETEDelete a segment

Filter GET requests with these query parameters:

ParameterPossible ValuesDescription
pageintpage number for paging
pageSizeintpage size for paging

Segment Groups API

Standard REST calls for customer segment group CRUD actions:

PathMethodDescription
/__customermanagementframework/webservice/segment-groupsGETFetch all segment groups
/__customermanagementframework/webservice/segment-groups/{id}GETFetch a single segment group
/__customermanagementframework/webservice/segment-groupsPUT, POSTCreate a new segment group
/__customermanagementframework/webservice/segment-groups/{id}PUT, POSTUpdate a segment group
/__customermanagementframework/webservice/segment-groups/{id}DELETEDelete a segment group

Filter GET requests with these query parameters:

ParameterPossible ValuesDescription
pageintpage number for paging
pageSizeintpage size for paging

Segments of Customers API

Adds and removes segments from a customer:

PathMethodDescription
/__customermanagementframework/webservice/segments-of-customersPUT, POSTAdd and/or remove segments
Example request body JSON:
{
"customerId": 12345,
"addSegments": [123,456],
"removeSegments": [567,789]
}