---
title: "Finalize a switch/reconnect onto an existing integration"
method: POST
path: "/app-listings/connections/{connection_id}/claim-onto-existing/"
tags: ["app-listings"]
---

# Finalize a switch/reconnect onto an existing integration

`POST /app-listings/connections/{connection_id}/claim-onto-existing/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/app-listings/connections/{connection_id}/claim-onto-existing/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Re-authorize an existing integration in place from a switch/reconnect OAuth grant. The target integration and intent are read from the pending connection (bound server-side from the OAuth state), so the grant can only re-authorize the integration it was started for. Preserves every sync, schedule, mapping, alert, and history row on the connection.

## Path parameters

- `connection_id` string, required

## Response `200`

Successful Response

- AppListingClaimOntoExistingResponseSchema: The integration a switch/reconnect re-authorized in place.
  - `integration_id` string, uuid, required: The existing integration, now re-authorized (same id, now one-click).

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Pending connection or target not found
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/dc5ac3c84444?raw)
