Actualizar Skill privado de Agent
Mediante esta interfaz, se puede actualizar el Skill privado del Agent al que pertenece la API Key del LoopAgent actual. El Skill ID se pasa mediante el campo skill_id del formulario multipart y no aparece en la ruta de la URL.
- Solo se admite LoopAgent, y únicamente se pueden actualizar los Skill privados que pertenecen al Agent de la Agent API Key actual.
- La consulta de destino se limita según
skill_id + projectId + botId; los Skill que no pertenecen al Agent actual se rechazan. - El formato de archivo es idéntico al de la interfaz de creación: solo se aceptan
.skilly.zip, con un tamaño máximo de 20 MiB para el paquete comprimido. - La actualización solo guarda la versión del contenido del Skill, pero no monta automáticamente el Skill, ni guarda la versión de borrador del Agent, ni publica la versión de producción del Agent.
Método de solicitud
POST
URL de la solicitud
https://api.${endpoint}/v1/agent/skill/update
Autenticación de la solicitud
Utiliza la Agent Key del LoopAgent de destino, y dicha Key debe tener habilitado el permiso de gestión de versiones. Para más detalles, consúltese las instrucciones de autenticación en Visión general de la API (API Overview).
Solicitud
Ejemplo de solicitud
curl -X POST 'https://api.${endpoint}/v1/agent/skill/update' \
-H 'Authorization: Bearer ${API Key}' \
-F 'skill_id=skill-xxxx' \
-F 'file=@/path/to/refund-policy-v2.skill'
Cabeceras de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer ${API Key} | Autenticación mediante la API Key del LoopAgent de destino, y dicha Key debe tener habilitado el permiso de gestión de versiones. |
| Content-Type | multipart/form-data | Carga del archivo del paquete de habilidad en forma de formulario. |
Parámetros de la solicitud (Form Data)
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
skill_id |
String | Sí | ID del Skill privado del Agent que se desea actualizar. |
file |
File | Sí | Paquete de habilidad .skill o .zip. |
category_id |
String | No | ID de la categoría tras la actualización; puede omitirse, y al omitirlo se mantiene la categoría original. |
El servidor compara el archivo y los metadatos actuales del Skill de destino; cuando son completamente idénticos, devuelve directamente la versión actual sin escribir en el almacenamiento de objetos ni en MongoDB, y quien realiza la llamada tampoco necesita pasar cabeceras de solicitud de idempotencia.
Respuesta
Ejemplo de respuesta
{
"code": 0,
"message": "OK",
"data": {
"skill_id": "skill-xxxx",
"name": "refund_policy",
"version": "1.0.2"
}
}
Respuesta correcta
| Campo | Tipo | Descripción |
|---|---|---|
| skill_id | String | ID del Skill actualizado, se mantiene sin cambios. |
| name | String | Nombre del Skill. |
| version | String | Número de versión del Skill tras la actualización. |
Respuesta fallida
| Campo | Tipo | Descripción |
|---|---|---|
| code | Integer | Código de error. |
| message | String | Detalles del error. |
Códigos de estado
| Código de estado | Descripción |
|---|---|
| 200 | Correcto |
| 400 | Error de parámetros |
| 401 | No autorizado |
| 403 | Permisos insuficientes |
| 429 | Demasiadas solicitudes |
| 500 | Error del servidor |
