Editar una credencial de Template
Actualiza una credencial de Template mediante su ID estable.
https://api2.transloadit.com/ template_credentials/ {templateCredentialId}Actualiza la credencial de Template representada por TEMPLATE_CREDENTIAL_ID (su ID estable)
con un nuevo nombre y, opcionalmente, contenido actualizado. Vuelve a enviar su type actual sin cambios;
cambiar de servicio requiere crear otra credencial de Template.
Este ejemplo cambia el nombre de una credencial de S3 existente sin modificar su contenido. Establece
TEMPLATE_CREDENTIAL_ID en el ID de esa credencial. Para otro servicio, usa su type
actual en lugar de s3.
Las URL existentes basadas en nombres siguen admitiéndose por compatibilidad. Usa el ID estable en las nuevas integraciones para que los cambios de nombre o los nombres ambiguos no cambien la credencial de destino.
Al actualizar content:
- Omite
contento envíanullpara conservar todo el contenido existente. Una cadena vacía no es JSON válido, ni una instrucción para borrar el contenido. - Si proporcionas un objeto, se valida antes de combinarlo con el contenido almacenado. Incluye todos los
campos marcados como
requiredOnUpdateen el tipo de credencial. Los demás campos omitidos conservan sus valores almacenados. - Para un campo configurado llamado
secret, la omisión, una cadena vacía onullconservan el secreto almacenado; un valor no vacío lo reemplaza. Esta excepción no se aplica a otros campos, comopasswordokey_file_contents, cuyos valores proporcionados reemplazan los valores almacenados tras la validación.
Ejemplo de solicitud
Establece TEMPLATE_CREDENTIAL_ID en el valor de tu recurso sin aplicarle codificación porcentual.
Ejecuta esta solicitud en una shell del lado del servidor con curl y un token Bearer adecuado en TRANSLOADIT_TOKEN. Si necesitas un token, despliega la configuración que aparece a continuación.
¿Necesitas un token Bearer?
En una shell de confianza del lado del servidor con curl y jq, establece TRANSLOADIT_KEY y TRANSLOADIT_SECRET en los valores de tu Auth Key y tu Auth Secret. Mantén en secreto ambas credenciales y el token resultante; nunca ejecutes esta configuración en código del navegador.
Primero, crea un token con los ámbitos que requiere este endpoint. Tu Auth Key ya debe conceder esos ámbitos.
if ! TOKEN_RESPONSE="$(curl --fail-with-body -sS \
--request POST \
--url 'https://api2.transloadit.com/token' \
--user "${TRANSLOADIT_KEY:?Set TRANSLOADIT_KEY}:${TRANSLOADIT_SECRET:?Set TRANSLOADIT_SECRET}" \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'aud=api2' \
--data-urlencode 'scope=template_credentials:write')"; then
printf '%s\n' "$TOKEN_RESPONSE" >&2
exit 1
fi
TRANSLOADIT_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" |
jq -er '.access_token | strings | select(length > 0)')" || exit 1
Mantén esta shell abierta y ejecuta la solicitud de abajo. Reutiliza el token mientras siga siendo válido.
curl --fail-with-body -sS --request PUT \
--url "https://api2.transloadit.com/template_credentials/${TEMPLATE_CREDENTIAL_ID:?Set TEMPLATE_CREDENTIAL_ID}" \
--header "Authorization: Bearer ${TRANSLOADIT_TOKEN:?Set TRANSLOADIT_TOKEN}" \
--data-urlencode 'params={"name":"s3-renamed","type":"s3"}'
Autenticación
Este endpoint acepta params firmados o un token Bearer. Consulta Autenticación para ver las instrucciones de configuración.
Ámbito requerido para el Auth Key o el token de portador: template_credentials:write.
Las solicitudes firmadas requieren tanto una signature como una marca de tiempo futura en params.auth.expires. Los tokens Bearer no requieren ninguno de estos dos elementos.
Parámetros de ruta
templateCredentialId(segmento de ruta), obligatorio. patrón:^[0-9a-f]{32}$, longitud mínima: 32, longitud máxima: 32
Campos del formulario
Tipo de contenido: application/x-www-form-urlencoded
params(cadena JSON), obligatorio. Un objeto codificado en JSON cuyas claves compatibles se enumeran a continuación.signature(cadena). Obligatorio para las solicitudes firmadas. Omite este campo cuando uses un token Bearer.
Claves admitidas dentro del campo params
Los campos de autenticación de esta lista se aplican a las solicitudes firmadas. Con un token Bearer puedes omitir params.auth y el campo separado signature. Compara a continuación los parámetros de solicitud de cada método de autenticación.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
| Campo | Tipo y descripción |
|---|---|
params.obligatorio para las solicitudes firmadas; opcional con un token Bearer | Contiene la clave de API de Transloadit y los metadatos de Signature Authentication para una solicitud de credenciales de Template.
|
params.obligatorio | stringMarca de tiempo de vencimiento ISO 8601 en el futuro. Es obligatoria cuando una solicitud está firmada o requiere autenticación mediante firma; las solicitudes autenticadas con Bearer pueden omitirla. |
params.obligatorio | stringClave de API de Transloadit utilizada para autenticar solicitudes |
params. | object | string | nullOmite este campo o envía Puede aplicarse cualquiera de los esquemas siguientes: objectobjectEsquema de propiedades adicionalescualquier valorstringnull |
params.obligatorio | stringNombre de las credenciales de Template. Debe tener entre 3 y 255 caracteres y contener únicamente letras, dígitos, guiones, guiones bajos y puntos. Patrón de validación (expresión regular)^[A-Za-z\u212a0-9._-]{3,255}$ |
params. | string | integerValor aleatorio y único incluido en los parámetros de las solicitudes firmadas para que cada firma sea única y evitar su reutilización accidental. |
params.obligatorio | stringEl servicio al que pertenecen estas credenciales. Al actualizarlas, vuelve a enviar el tipo existente sin modificarlo. Para usar otro servicio, crea otra credencial de Template. Valores permitidos (22)
|
Parámetros de solicitud según el método de autenticación
Con parámetros firmados
Incluye tu Auth Key como params.auth.key. Al firmar la solicitud, incluye una marca de tiempo futura en params.auth.expires y envía la Signature en el campo separado signature. Las definiciones de los campos que aparecen a continuación usan rutas dentro de params.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
Utiliza las definiciones de campos indicadas arriba: params.auth, params.content, params.name, params.nonce, params.type
Con un token Bearer
Envía el token Bearer en el encabezado Authorization. Puedes omitir params.auth y el campo independiente signature. Los demás parámetros obligatorios siguen siendo necesarios. Las definiciones de los campos que aparecen a continuación usan rutas dentro de params.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
Utiliza las definiciones de campos indicadas arriba: params.content, params.name, params.nonce, params.type
| Campo | Tipo y descripción |
|---|---|
params. | Contiene la clave de API de Transloadit y los metadatos de Signature Authentication para una solicitud de credenciales de Template.
|
params. | stringMarca de tiempo de vencimiento ISO 8601 en el futuro. Es obligatoria cuando una solicitud está firmada o requiere autenticación mediante firma; las solicitudes autenticadas con Bearer pueden omitirla. |
params. | stringClave de API de Transloadit utilizada para autenticar solicitudes |
Respuesta
Este es un ejemplo del cuerpo de la respuesta:
{
"credential": {
"account_id": "72a70fba93ce41cba617cfd7c2a44b1a",
"content": {
"bucket": "your-bucket",
"bucket_region": "us-east-1",
"key": "YOUR_S3_KEY",
"secret": "YOUR_S3_SECRET"
},
"created": "2026-09-12T10:00:00.000Z",
"deleted": null,
"id": "ca7644b763c848e6af4f4ccf3eaea622",
"modified": "2026-09-12T10:05:00.000Z",
"name": "s3-renamed",
"stringified": "{\"key\":\"YOUR_S3_KEY\",\"secret\":\"YOUR_S3_SECRET\",\"bucket\":\"your-bucket\",\"bucket_region\":\"us-east-1\"}",
"type": "s3"
},
"message": "Your Template Credentials were successfully updated.",
"ok": "TEMPLATE_CREDENTIALS_UPDATED"
}éxito 2xx
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
La respuesta puede contener campos adicionales.
| Campo | Tipo y descripción |
|---|---|
credentialobligatorio |
|
credential.obligatorio | string |
credential.obligatorio | object | Array<cualquier valor> | string | number | boolean | nullLos detalles adicionales del esquema están disponibles en el JSON Schema completo. |
credential.obligatorio | number | string | nullPuede aplicarse cualquiera de los esquemas siguientes: number | stringnumber | stringnull |
credential.obligatorio | number | string | nullPuede aplicarse cualquiera de los esquemas siguientes: number | stringnumber | stringnull |
credential.obligatorio | string |
credential.obligatorio | number | string | nullPuede aplicarse cualquiera de los esquemas siguientes: number | stringnumber | stringnull |
credential.obligatorio | string |
credential.obligatorio | string |
credential.obligatorio | string |
messageobligatorio | string (longitud mínima: 1) |
okobligatorio | string (siempre: "TEMPLATE_CREDENTIALS_UPDATED") |
Respuesta de error
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
La respuesta puede contener campos adicionales.
| Campo | Tipo y descripción |
|---|---|
assembly_id | string |
error | string (longitud mínima: 1) |
http_code | number | string
|
message | stringExplicación del error legible por humanos. Su redacción puede variar; usa el código |
reason | null | string | number | boolean | Array<cualquier valor> | objectPuede aplicarse cualquiera de los esquemas siguientes: nullstringnumberbooleanArray<cualquier valor>Array<cualquier valor>Esquema de los elementos del arraycualquier valorobjectobjectEsquema de propiedades adicionalescualquier valor |
HTTP 400
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
Errores con nombre y el formato general de error
error: "TEMPLATE_CREDENTIALS_NOT_UPDATED"
No se pudieron actualizar tus credenciales de Template.
La respuesta puede contener campos adicionales.