---
title: "Rename or rotate credentials (rotation re-runs registration) [write]"
method: PATCH
path: "/channels/apps/{id}"
tags: ["channels"]
---

# Rename or rotate credentials (rotation re-runs registration) \[write\]

`PATCH /channels/apps/{id}`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/channels/apps/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Request body

- PatchChannelApp
  - `retry_registration` boolean: Retry saved X verification without resubmitting credentials; mutually exclusive with credentials
  - `label` string
  - `credentials` object: Full replacement bag; rotation re-runs the platform registration

## Response `200`

OK

- ChannelApp
  - `verification_error` string: Non-secret explanation when X verification remains pending
  - `verification_retryable` boolean: Present for pending X verification. False means the saved refresh attempt cannot be replayed; replace credentials with a fresh OAuth grant.
  - `id` string
  - `platform` 'telegram' | 'slack' | 'discord' | 'whatsapp' | 'imessage' | 'email' | 'teams' | 'x' | 'lark' | 'buzz' | 'gchat' | 'line'
  - `label` string
  - `status` string
  - `credential_keys` string[]: Key names only — values are write-only
  - `created_at` string, date-time
  - `setup` object: Steps the platform cannot automate (per-app webhook_url / verify_token / events_url / invite_url)

## Other responses

- `202`: Verification pending
- `default`: Error — { error: { code, message } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - added the optional property `error/request_id` to the response with the `default` status

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/channels/apps/:id/patch.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/0d435187cd55?raw)
