Deprecation of MIG Key Identification Fields
Interactions API
As part of our migration away from manually provisioned MIG Keys, several legacy fields previously used to identify MIG Keys by Data Sources and Data Destinations are being fully deprecated. These fields are no longer required for key creation and will no longer appear in Interactions API responses:
sourceKeyIdisSandboxvendororganizationNamecommitteeNamestate
To support a more secure and consistent model, we now expose a publicKeyId, which uniquely identifies a MIG Key without exposing its secret value. All API responses that previously relied on the deprecated fields now reference structured objects containing the Movement App and Workspace metadata associated with the key.
Updated API Behavior
Breaking Change: auth/me Response Payload
The auth/me endpoint no longer returns organizationName, committeeName, or state details as top-level string fields. These values are now derived from the Workspace associated with the MIG Key.
Before
{
"source": "Super Cool Tool",
"organizationName": "Upstream Org For America",
"committeeName": "Poppy for Governor",
"state": "MA",
"destinations": [
{
"id": 99,
"name": "My Data Warehouse"
}
],
"isSandbox": true
}After
{
"publicKeyId": 3434,
"source": {
"movementAppId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Super Cool Tool"
},
"workspace": {
"workspaceId": 123,
"displayName": "Poppy for Governor",
"type": "Organization"
},
"expireDate": "2025-12-10T19:45:57.599Z",
"destinations": [
{
"id": 99,
"name": "My Data Warehouse"
}
]
}What Changed & Why
publicKeyIdreplaces the legacy mutable string identifiers. MIG Keys now have a stable, non-secret numeric identifier you can safely store, log, and communicate.sourceis now a structured object representing the Movement App associated with the key.workspacewas introduced as a structured object to replace the separate text fields fororganizationName,committeeName, andstate.isSandboxhas been removed; sandbox keys are no longer separately modeled in the Interactions API. All MIG Keys for non-production Movement Apps are considered sandbox.
Breaking Change: Pub/Sub Message Payload
The Interactions Pub/Sub message format has been updated to remove legacy vendor, organizationName, and committeeName identifiers. Instead, messages now use the same Public Key ID, Movement App information, and Workspace metadata as the auth/me endpoint.
Before
{
"source": {
"vendorKeyId": "32",
"vendor": "Voter Tool XYZ",
"organizationName": "Upstream Org for America",
"committeeName": "Poppy for Governor",
"state": "MA"
},
...
}After
{
"source": {
"publicKeyId": "32",
"name": "Voter Tool XYZ",
"workspace": {
"workspaceId": 12345,
"displayName": "Poppy for Governor",
"type": "Organization"
}
},
...
}What Changed & Why
publicKeyIdreplacesvendorKeyId. This ensures consistent identification of MIG Keys across all Interactions API surfaces and the Console.- The name of the Movement App information appears as
source.name, replacing the legacyvendorfield. - Workspace metadata replaces
organizationName,committeeName, andstatetext fields. This ensures an accurate, normalized representation of the entity the app is authorized to act on behalf of.
