Editar uma credencial de Template
Atualiza uma Credencial de Template pelo seu ID estável.
https://api2.transloadit.com/ template_credentials/ {templateCredentialId}Atualiza a Credencial de Template representada por TEMPLATE_CREDENTIAL_ID (seu ID estável)
com um novo nome e, opcionalmente, conteúdo atualizado. Reenvie o type existente sem alterações;
mudar o serviço exige criar outra Credencial de Template.
Este exemplo renomeia uma credencial S3 existente sem alterar seu conteúdo. Defina
TEMPLATE_CREDENTIAL_ID com o ID dessa credencial. Para outro serviço, use o type existente
dele em vez de s3.
URLs existentes baseadas em nome continuam suportadas por compatibilidade. Use o ID estável em novas integrações para que renomeações ou nomes ambíguos não alterem qual credencial é alvo.
Ao atualizar content:
- Omita
contentou envienullpara manter todo o conteúdo existente. Uma string vazia é JSON inválido, não uma instrução para limpar o conteúdo. - Um objeto fornecido é validado antes de ser mesclado com o conteúdo armazenado. Inclua todos os
campos marcados como
requiredOnUpdateno tipo de credencial. Os demais campos omitidos mantêm seus valores armazenados. - Para um campo configurado chamado
secret, a omissão, uma string vazia ounullmantém o segredo armazenado; um valor não vazio o substitui. Essa exceção não se aplica a outros campos, comopasswordoukey_file_contents, cujos valores fornecidos substituem os valores armazenados após a validação.
Exemplo de requisição
Defina TEMPLATE_CREDENTIAL_ID com o valor do seu recurso, sem aplicar codificação percentual.
Execute esta requisição em um shell no servidor com curl e um token bearer adequado em TRANSLOADIT_TOKEN. Se você precisar de um token, expanda a configuração abaixo.
Precisa de um token bearer?
Em um shell confiável no servidor com curl e jq, defina TRANSLOADIT_KEY e TRANSLOADIT_SECRET com sua Auth Key e seu Auth Secret. Mantenha as duas credenciais e o token resultante em segredo; nunca execute esta configuração em código de navegador.
Primeiro, crie um token com os escopos exigidos por este endpoint. Sua Auth Key já deve conceder esses escopos.
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
Mantenha este shell aberto e execute a requisição abaixo. Reutilize o token enquanto ele permanecer 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"}'
Autenticação
Este endpoint aceita params assinados ou um token bearer. Consulte Autenticação para instruções de configuração.
Escopo necessário para a Auth Key ou o token bearer: template_credentials:write.
Requisições assinadas exigem tanto uma signature quanto um timestamp params.auth.expires no futuro. Tokens Bearer não exigem nenhum dos dois.
Parâmetros de caminho
templateCredentialId(segmento de caminho), obrigatório. padrão:^[0-9a-f]{32}$, comprimento mínimo: 32, comprimento máximo: 32
Campos do formulário
Tipo de conteúdo: application/x-www-form-urlencoded
params(string JSON), obrigatório. Um objeto codificado em JSON cujas chaves suportadas estão listadas abaixo.signature(string). Obrigatório para requisições assinadas. Omita este campo ao usar um bearer token.
Chaves compatíveis dentro do campo params
Os campos de autenticação desta lista se aplicam a requisições assinadas. Com um bearer token, você pode omitir params.auth e o campo signature separado. Compare os parâmetros de requisição específicos de autenticação abaixo.
Esquema JSON completo
params: Somente os campos listados para este objeto são aceitos.
| Campo | Tipo e descrição |
|---|---|
params.obrigatório para requisições assinadas; opcional com um bearer token | Contém a chave de API da Transloadit e os metadados de autenticação por assinatura para uma requisição de credenciais de Template.
|
params.obrigatório | stringTimestamp de expiração no formato ISO 8601 situado no futuro. Obrigatório quando uma requisição é assinada ou exige autenticação por assinatura; requisições autenticadas por bearer podem omiti-lo. |
params.obrigatório | stringChave de API da Transloadit usada para autenticar as requisições |
params. | string | integerValor único e aleatório incluído nos parâmetros da requisição assinada para tornar cada assinatura única e evitar a reutilização acidental de assinaturas. |
params. | object | string | nullOmita este campo ou envie Qualquer um dos esquemas a seguir pode ser aplicado: objectobjectEsquema de propriedade adicionalqualquer valorstringstringnullnull |
params.obrigatório | stringNome das Credenciais de Template. Deve ter entre 3 e 255 caracteres e conter apenas letras, dígitos, hifens, sublinhados e pontos. Padrão de validação (expressão regular)^[A-Za-z\u212a0-9._-]{3,255}$ |
params. | string | integerValor único e aleatório incluído nos parâmetros da requisição assinada para tornar cada assinatura única e evitar a reutilização acidental de assinaturas. |
params.obrigatório | "ai" | "azure" | "backblaze" | "box" | "cloudflare" | "companion" | "digitalocean" | "dropbox" | "ftp" | "google" | "http" | "mega" | "minio" | "rackspace" | "s3" | "sftp" | "supabase" | "swift" | "tigris" | "vimeo" | "wasabi" | "youtube"O serviço ao qual estas credenciais pertencem. Na atualização, reenvie o type existente sem alterações. Para usar um serviço diferente, crie outra Credencial de Template. |
Parâmetros de requisição por método de autenticação
Com parâmetros assinados
Inclua sua Auth Key como params.auth.key. Ao assinar a requisição, inclua um timestamp futuro em params.auth.expires e envie a assinatura no campo separado signature. As definições de campos abaixo usam caminhos dentro de params.
Esquema JSON completo
params: Somente os campos listados para este objeto são aceitos.
Usa as definições de campo acima: params.auth, params.content, params.name, params.nonce, params.type
Com um token bearer
Envie o token bearer no cabeçalho Authorization. Você pode omitir params.auth e o campo signature separado. Os demais parâmetros obrigatórios continuam se aplicando. As definições de campos abaixo usam caminhos dentro de params.
Esquema JSON completo
params: Somente os campos listados para este objeto são aceitos.
Usa as definições de campo acima: params.content, params.name, params.nonce, params.type
| Campo | Tipo e descrição |
|---|---|
params. | Contém a chave de API da Transloadit e os metadados de autenticação por assinatura para uma requisição de credenciais de Template.
|
params. | stringTimestamp de expiração no formato ISO 8601 situado no futuro. Obrigatório quando uma requisição é assinada ou exige autenticação por assinatura; requisições autenticadas por bearer podem omiti-lo. |
params. | stringChave de API da Transloadit usada para autenticar as requisições |
params. | string | integerValor único e aleatório incluído nos parâmetros da requisição assinada para tornar cada assinatura única e evitar a reutilização acidental de assinaturas. |
Resposta
Veja um exemplo de corpo de resposta:
{
"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"
}sucesso 2xx
Corpo da resposta JSON. application/json text/plain; charset=utf-8
Esquema do corpo da resposta
Esquema JSON completo
A resposta pode conter campos adicionais.
| Campo | Tipo e descrição |
|---|---|
credentialobrigatório |
|
credential.obrigatório | string |
credential.obrigatório | object | Array<qualquer valor> | string | number | boolean | nullDetalhes adicionais do esquema estão disponíveis no JSON Schema completo. |
credential.obrigatório | number | string | nullQualquer um dos esquemas a seguir pode ser aplicado: number | stringnumber | stringnullnull |
credential.obrigatório | number | string | nullQualquer um dos esquemas a seguir pode ser aplicado: number | stringnumber | stringnullnull |
credential.obrigatório | string |
credential.obrigatório | number | string | nullQualquer um dos esquemas a seguir pode ser aplicado: number | stringnumber | stringnullnull |
credential.obrigatório | string |
credential.obrigatório | string |
credential.obrigatório | string |
messageobrigatório | string (comprimento mínimo: 1) |
okobrigatório | string (sempre: "TEMPLATE_CREDENTIALS_UPDATED") |
Resposta de erro
Corpo da resposta JSON. application/json text/plain; charset=utf-8
Esquema do corpo da resposta
Esquema JSON completo
A resposta pode conter campos adicionais.
| Campo | Tipo e descrição |
|---|---|
assembly_id | string |
error | string (comprimento mínimo: 1) |
http_code | number | string
|
message | stringExplicação do erro legível por humanos. A redação pode variar; use o código |
reason | null | string | number | boolean | Array<qualquer valor> | objectQualquer um dos esquemas a seguir pode ser aplicado: nullnullstringstringnumbernumberbooleanbooleanArray<qualquer valor>Array<qualquer valor>Esquema do item do arrayqualquer valorobjectobjectEsquema de propriedade adicionalqualquer valor |
HTTP 400
Corpo da resposta JSON. application/json text/plain; charset=utf-8
Esquema do corpo da resposta
Esquema JSON completo
Erros nomeados e o formato geral de erro
error: "TEMPLATE_CREDENTIALS_NOT_UPDATED"
Não foi possível atualizar as credenciais do seu Template.
A resposta pode conter campos adicionais.