---
title: "Migrate Card Views"
method: POST
path: "/crm/extensions/cards-dev/2026-09/{appId}/views/migrate"
tags: ["Advanced"]
---

# Migrate Card Views

`POST /crm/extensions/cards-dev/2026-09/{appId}/views/migrate`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/crm/extensions/cards-dev/2026-09/{appId}/views/migrate`
- Auth: API key in query parameter `hapikey`

Swaps a Legacy CRM Card with an App Card in views. Reference the "Migrate a legacy CRM card to an app card" docs for more information

## Path parameters

- `appId` integer, required

## Request body

- CardMigrateViewsRequest
  - `allowDuplicateAppCardIds` boolean, required: A boolean flag indicating whether duplicate app card IDs are allowed during the migration process.
  - `appCardId` integer, required: The unique identifier for the new app card to which views will be migrated. This is an integer in int64 format.
  - `helpdeskAppCardId` integer: The unique identifier for the helpdesk app card, if applicable. This is an integer in int64 format.
  - `legacyCrmCardId` integer, required: The unique identifier for the legacy CRM card. This is an integer in int64 format.
  - `tabAppCardId` integer

## Response `200`

successful operation

- CardMigrateViewsResponse
  - `endedAt` integer: The timestamp for when the migration ended.
  - `message` string, required: A human readable message describing the progress of the migration.
  - `remainingPortalCount` integer: The number of portals that remain to be swapped from the Legacy CRM Card to the App Card
  - `startedAt` integer: The timestamp for when the migration started.
  - `totalPortalCount` integer: The total number of portals that have access to the Legacy CRM Card

## Other responses

- `default`: An error occurred.

## Changes

- **2026-10-10** (2026-09) `de6dd5bf92b9`: 1 info
  - added the new optional request property `tabAppCardId`
- **2026-09-22** (2026-09) `5e23d07dffc8`: 2 info
  - the endpoint scheme security `developer_hapikey` was added to the API
  - the endpoint scheme security `oauth2` was removed from the API
- **2026-09-03** (2026-09) `6db00ea2894f`: 1 breaking, 6 info
  - added the new required request property `allowDuplicateAppCardIds`
  - the endpoint scheme security `oauth2` was added to the API
  - the endpoint scheme security `developer_hapikey` was removed from the API
  - added the optional property `endedAt` to the response with the `200` status
  - …3 more

[Operation history](https://skmtc.dev/hubspot/apis/crm-public-app-crm-cards/changes/crm/extensions/cards-dev/2026-09/:appId/views/migrate/post.md)

---

[API](https://skmtc.dev/hubspot/apis/crm-public-app-crm-cards.md) - [All operations](https://skmtc.dev/hubspot/apis/crm-public-app-crm-cards/llms.txt) - [OpenAPI document](https://skmtc.dev/hubspot/apis/crm-public-app-crm-cards/revisions/de6dd5bf92b9?raw)
