Skip to main content
Social Accounts

Move between social groups

Reassign a connected social account to another profile without reconnecting it.

Move an integration when an account changes clients, brands, or workspaces. The integration keeps its ID, OAuth credentials, and existing posts.

From the dashboard

Open Dashboard → Integrations, find the account, and select Move. Choose a destination social group, then confirm the move.

Choose Default to remove the account from its current social group.

Endpoint

PATCH https://api.postpeer.dev/v1/connect/integrations/{id}

Parameters

LocationParameterTypeDescription
PathidstringIntegration ID from the List endpoint
BodyprofileIdstring | nullDestination profile ID. Pass null to move the integration to Default.

The destination profile must be active and belong to the same project as the integration.

Move to another social group

curl -X PATCH "https://api.postpeer.dev/v1/connect/integrations/abc123" \
  -H "x-access-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "profileId": "profile_acme" }'
const response = await fetch(
	'https://api.postpeer.dev/v1/connect/integrations/abc123',
	{
		method: 'PATCH',
		headers: {
			'x-access-key': process.env.POSTPEER_API_KEY!,
			'Content-Type': 'application/json',
		},
		body: JSON.stringify({ profileId: 'profile_acme' }),
	},
);

const result = await response.json();
import os
import requests

response = requests.patch(
    "https://api.postpeer.dev/v1/connect/integrations/abc123",
    headers={"x-access-key": os.environ["POSTPEER_API_KEY"]},
    json={"profileId": "profile_acme"},
)
response.raise_for_status()
result = response.json()

Move to Default

Set profileId to null:

curl -X PATCH "https://api.postpeer.dev/v1/connect/integrations/abc123" \
  -H "x-access-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "profileId": null }'

Response

The response returns the updated integration:

{
	"success": true,
	"integration": {
		"id": "abc123",
		"platform": "twitter",
		"username": "@postpeer",
		"profileId": "profile_acme",
		"authStatus": "active",
		"createdAt": "2026-03-28T10:00:00.000Z"
	}
}

Destination conflicts

A project can contain only one copy of the same social account in each profile. If the destination already contains that account, the API returns 409. Choose another profile or disconnect the duplicate integration before retrying.

Status codes

CodeMeaning
200Integration moved
400Invalid profileId or request body
404Integration or destination profile not found
409The social account already exists in the destination profile

See Create a profile to add a destination social group.

On this page