PlatformEventMigration

Represents configuration settings for performing a one-time migration of standard volume platform events to high volume platform events.

Version 

Introduced in API version 67.0.

Supported SOAP API Calls 

create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()

Supported REST API Methods 

DELETE, GET, HEAD, PATCH, POST, Query

Fields 

DeveloperName 

  • Type: string

  • Required: No

  • Properties: Create, Filter, Group, Sort, Update

  • Description: The unique name for the PlatformEventMigration object.

This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance can slow down while Salesforce generates one for each record.

Note

Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.

Note

EndDate 

  • Type: datetime
  • Required: No
  • Properties: Filter, Nillable, Sort

EventObject 

  • Type: picklist

  • Required: No

  • Properties: Create, Filter, Group, Restricted picklist, Sort

  • Description: The ID of a standard volume platform event that needs to be migrated to a high volume platform event. You can find the ID by executing this Tooling API SOQL query in the developer console: SELECT Id FROM CustomObject WHERE DeveloperName='YourStandardVolumePlatformEvent' The name to use as the DeveloperName of your SVPE is labeled Object Name in the UI.

HighVolumePosition 

  • Type: int
  • Required: No
  • Properties: Filter, Group, Nillable, Sort

Language 

  • Type: picklist

  • Required: No

  • Properties: Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update

  • Description: The language of the Platform Event Migration.

  • Possible values:

    • en_US — English

    • de — German

    • es — Spanish

    • fr — French

    • it — Italian

    • ja — Japanese

    • sv — Swedish

    • ko — Korean

    • zh_TW — Chinese (Traditional)

    • zh_CN — Chinese (Simplified)

    • pt_BR — Portuguese (Brazil)

    • nl_NL — Dutch

    • da — Danish

    • th — Thai

    • fi — Finnish

    • ru — Russian

    • es_MX — Spanish (Mexico)

    • no — Norwegian

ManageableState 

  • Type: picklist

  • Required: No

  • Properties: Filter, Group, Nillable, Restricted picklist, Sort

  • Description: Indicates the manageable state of the specified component that is contained in a package.

  • Possible values:

    • beta — beta

    • deleted — deleted

    • deprecated — deprecated

    • deprecatedEditable — deprecatedEditable

    • installed — installed

    • installedEditable — installedEditable

    • released — released

    • unmanaged — unmanaged

MasterLabel 

  • Type: string

  • Required: No

  • Properties: Create, Filter, Group, Sort, Update

  • Description: Label for PlatformEventMigration.

MigrationStatus 

  • Type: picklist

  • Required: No

  • Properties: Filter, Group, Nillable, Restricted picklist, Sort

  • Possible values:

    • MIGRATING — MIGRATING

    • COMPLETED — COMPLETED

NamespacePrefix 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: The namespace prefix associated with this object. Each Developer Edition organization that creates a managed package has a unique namespace prefix. Limit: 15 characters. You can refer to a component in a managed package by using the namespacePrefix__componentName notation.

The namespace prefix can have one of the following values:

  • In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is an exception if an object is in an installed managed package. In that case, the object has the namespace prefix of the installed managed package. This field’s value is the namespace prefix of the Developer Edition organization of the package developer.
  • In organizations that are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.

StartDate 

  • Type: datetime
  • Required: No
  • Properties: Filter, Nillable, Sort

Usage 

All standard volume platform events must be migrated to high volume platform events before Winter ‘27. This API provides a means for migration. Standard volume platform events that aren’t migrated won’t work starting in Winter ‘27.

Before starting a migration, ensure that all publish activity has stopped and all subscribers, including triggers and flows, are done processing, then perform a POST request to this endpoint.

1/services/data/v67.0/tooling/sobjects/PlatformEventMigration

Provide the values in the request body. This example request starts migrating the standard volume platform event 01Ixx0000005aUJ to a high volume platform event.

1{
2          "DeveloperName":"svpeConfig",
3          "MasterLabel":"svpeConfig",
4          "EventObject": "01Ixx0000005aUJ"
5        }

A successful POST request returns a response that includes an ID.

1{
2          "id":"1hXxx00000000mPEAQ",
3          "Success":true,
4          "Errors":[],
5          "Warnings":[],
6          "infos":[]
7        }

To check the status of your migration, use the ID in a GET request to this endpoint.

1/services/data/v67.0/tooling/sobjects/PlatformEventMigration<ID>

All these requests use the endpoint with the PlatformEventMigration record ID appended.

  • Get the status of a specific migration with a GET request.
  • Delete a specific migration with a DELETE request. Deleting a migration may not work because the migration could finish processing before the DELETE request is received. Because migration is a one-way door, it can’t be undone after it’s already happened.
  • Update a specific migration with a PATCH request. For this request, include the PlatformEventMigration definition in the request body.

Once a migration has started, publishes won’t work and you’ll be unable to create new triggers or flows until the migration finishes. A migration usually takes 10–15 minutes, but can last as long as 24 hours in some cases. You will receive an email when the migration is complete.

Also, you can query and retrieve the configurations in your org with SOQL. If querying from the Developer Console Query Editor, ensure that you select Use Tooling API. This example query retrieves all configurations set up in your Salesforce org.

1SELECT Id, DeveloperName, MasterLabel, EventObject, MigrationStatus, StartDate, EndDate, HighVolumePosition FROM PlatformEventMigration

DID THIS ARTICLE SOLVE YOUR ISSUE?
Let us know so we can improve!