# updateMessageChain

Source: <https://telegafirst.com/docs/api-op-updatemessagechain>
Locale: ru
releaseGitSha: ea133cd4ad87fe549ef000b139be145be9bd1717
sourceContentDigest: 6114c156116e772e750a645a45381d2424b3def0b70f772e708dbbe6cf7245fc
Version: 2

# updateMessageChain

`PATCH /api/v1/tools/chains`

Update a chain shell by tenant sequence

## Авторизация и права

Scopes: ALL. Auth alternatives: OR; scopes внутри альтернативы: ALL.

| Поле | Значение |
| - | - |
| security.0.hubApiKey | \[] |
| security.1.hubBearer | \[] |
| securitySchemes.hubApiKey.in | "header" |
| securitySchemes.hubApiKey.name | "X-Api-Key" |
| securitySchemes.hubApiKey.type | "apiKey" |
| securitySchemes.hubBearer.scheme | "bearer" |
| securitySchemes.hubBearer.type | "http" |
| x-required-scopes | \["chains:write"] |

## Параметры запроса

| Поле | Значение |
| - | - |
| 0.in | "header" |
| 0.name | "Idempotency-Key" |
| 0.required | false |
| 0.schema | [0.schema](https://telegafirst.com/docs/schema-9ac136edb99a2063b3091602181c8d2022fdccb5b514991319d58544c2e57e95) |

## Тело запроса

| Поле | Значение |
| - | - |
| content.application/json.schema | [MessageChainUpdateRequest](https://telegafirst.com/docs/schema-8182e78491682f943693b291c421b06296b6e3fb3a17a7564e429dacb7caddce) |
| required | true |

## Ответы

| Поле | Значение |
| - | - |
| 200.content.application/json.schema | [MessageChain](https://telegafirst.com/docs/schema-651b04b02bda4e82633d69c13c07df55fbd565c398ece0657bb4945dde27f84c) |
| 200.description | "Updated chain projection" |
| 200.headers.X-Bot-Username.description | "Active public bot username when present" |
| 200.headers.X-Bot-Username.schema | [200.headers.X-Bot-Username.schema](https://telegafirst.com/docs/schema-00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96) |
| 200.headers.X-Client-Slug.description | "Active tenant slug when present in authenticated metadata" |
| 200.headers.X-Client-Slug.schema | [200.headers.X-Client-Slug.schema](https://telegafirst.com/docs/schema-00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96) |
| 200.headers.X-RateLimit-Limit.description | "Effective request budget" |
| 200.headers.X-RateLimit-Limit.schema | [200.headers.X-RateLimit-Limit.schema](https://telegafirst.com/docs/schema-00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96) |
| 200.headers.X-RateLimit-Remaining.description | "Remaining budget, or unknown" |
| 200.headers.X-RateLimit-Remaining.schema | [200.headers.X-RateLimit-Remaining.schema](https://telegafirst.com/docs/schema-00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96) |
| 200.headers.X-RateLimit-Reset.description | "Window reset epoch seconds" |
| 200.headers.X-RateLimit-Reset.schema | [200.headers.X-RateLimit-Reset.schema](https://telegafirst.com/docs/schema-00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96) |

## Ошибки

| Поле | Значение |
| - | - |
| 400.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 400.description | "Invalid body" |
| 400.x-error-codes | \["VALIDATION\_ERROR"] |
| 401.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 401.description | "Missing, invalid, revoked or conflicting credentials" |
| 401.x-error-codes | \["INVALID\_API\_KEY"] |
| 403.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 403.description | "Missing scope, publishable key or no active tenant" |
| 403.x-error-codes | \["INSUFFICIENT\_SCOPE","PUBLISHABLE\_KEY\_NOT\_ALLOWED","NO\_ACTIVE\_BOT"] |
| 404.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 404.description | "Chain sequence absent in this tenant" |
| 404.x-error-codes | \["NOT\_FOUND"] |
| 409.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 409.description | "Same-key command is already processing" |
| 409.x-error-codes | \["CONFLICT"] |
| 413.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 413.description | "Per-tool resource cap" |
| 413.x-error-codes | \["PAYLOAD\_TOO\_LARGE","ITEM\_COUNT\_EXCEEDED"] |
| 422.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 422.description | "Same key reused with a different request" |
| 422.x-error-codes | \["IDEMPOTENCY\_KEY\_MISMATCH"] |
| 429.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 429.description | "Per-tool quota exceeded or unavailable (fail closed)" |
| 429.headers.Retry-After.description | "Retry delay when supplied by resource decision" |
| 429.headers.Retry-After.schema | [429.headers.Retry-After.schema](https://telegafirst.com/docs/schema-00404e686415370f1711c4d7acfa2905444d3cf23cef2e10c47d445ebe690f96) |
| 429.x-error-codes | \["RATE\_LIMIT\_EXCEEDED","RATE\_LIMIT\_UNAVAILABLE"] |
| 500.content.application/problem+json.schema | [ProblemDetails](https://telegafirst.com/docs/schema-c4113f3de00d728702a8663612e2074cbe3e8b3bb70d2b0dee6f3503fe89bd41) |
| 500.description | "Unexpected failure; private cause is withheld" |
| 500.x-error-codes | \["INTERNAL\_ERROR"] |

## Дополнительные условия

| Поле | Значение |
| - | - |
| operationId | "updateMessageChain" |
| summary | "Update a chain shell by tenant sequence" |
| tags | \["chains"] |
| x-idempotency-boundary.conflictStatus | 422 |
| x-idempotency-boundary.implementation | "generic-v2" |
| x-idempotency-boundary.required | false |
| x-idempotency-boundary.scope | \["client","credential","controller","handler"] |
| x-idempotency-boundary.ttlSeconds | 86400 |
| x-pagination.supported | false |
