Criar um token bearer
Troca as credenciais da Auth Key por um bearer token com escopo definido.
https://api2.transloadit.com/ tokenEste é o endpoint de token OAuth 2.0. Clientes sem interface gráfica trocam sua Auth Key e
seu Auth Secret por um token Bearer de curta duração com a concessão client_credentials, processada
diretamente pela API da Transloadit. Clientes MCP que
se conectaram por URL resgatam o
código de autorização da tela de consentimento do Console com a concessão authorization_code
(PKCE S256, sem credenciais HTTP Basic) e rotacionam o token de atualização resultante com a
concessão refresh_token.
Em /token, os erros de concessão OAuth para authorization_code e refresh_token usam o corpo padrão com
error e error_description. Os limites de taxa retornam RATE_LIMIT_REACHED (429), e
falhas internas inesperadas retornam SERVER_500 (500). Solicitações malformadas rejeitadas
antes de a concessão ser identificada podem receber um desafio HTTP Basic (401) ou
TOKEN_INVALID_REQUEST se credenciais Basic tiverem sido fornecidas.
Tokens de credenciais de cliente são emitidos no servidor usando sua Auth Key e seu Auth Secret. Se você expuser a criação de tokens
por meio de uma interface, chame /token a partir do seu backend (nunca diretamente do navegador).
Workspaces cancelados não podem criar novos tokens bearer. Para endpoints cuja documentação permite explicitamente leituras após o cancelamento, use o procedimento de leitura com assinatura com uma Auth Key ativa existente. O faturamento tem seu próprio procedimento de faturamento com assinatura.
As solicitações devem usar application/x-www-form-urlencoded; a concessão client_credentials também precisa de autenticação HTTP Basic:
Em um shell confiável no servidor com curl e jq, defina TRANSLOADIT_KEY e TRANSLOADIT_SECRET com os valores de sua Auth Key e de seu Auth Secret. Mantenha em segredo as duas credenciais e o token resultante; nunca execute essa configuração em código de navegador.
Este exemplo solicita acesso de leitura e gravação a Assemblies e salva o access_token retornado como TRANSLOADIT_TOKEN para solicitações subsequentes no mesmo shell. Para outro endpoint, use os escopos listados para ele; a Auth Key já deve concedê-los. Endpoints autenticados por uma Auth Key ou um token bearer incluem a configuração de token apropriada em seus exemplos de solicitação.
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=assemblies:read assemblies: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
Autenticação
A autenticação HTTP Basic com sua Auth Key e seu Auth Secret é obrigatória para os seguintes valores de grant_type: client_credentials. Os outros valores aceitos não exigem credenciais da conta. Não envie um cabeçalho Authorization nessas requisições; a comprovação específica da concessão continua sendo obrigatória.
Campos do formulário
Tipo de conteúdo: application/x-www-form-urlencoded
Os seguintes campos podem ser enviados no máximo uma vez: aud, client_assertion, client_assertion_type, client_id, code, code_verifier, grant_type, redirect_uri, refresh_token, resource, scope.
Esquema JSON completo
Formulário de solicitação de token OAuth 2.0 para os tipos de concessão client-credentials, authorization-code e refresh-token.
Campos além dos listados para este objeto são aceitos.
| Campo | Tipo e descrição |
|---|---|
aud | stringValor opcional de público-alvo para |
client_assertion | stringUm JWT assinado com uma das chaves publicadas do cliente (RFC 7523), enviado por clientes cujos metadados permitem |
client_assertion_type | stringSempre |
client_id | stringO identificador do cliente obtido no registro dinâmico ou a URL HTTPS do documento de metadados do cliente. Obrigatório para |
code | stringO código de autorização de uso único enviado ao URI de redirecionamento do cliente após o consentimento. Obrigatório para |
code_verifier | stringO verificador de código PKCE cujo hash SHA-256 foi enviado como |
grant_typeobrigatório | "authorization_code" | "client_credentials" | "refresh_token"Qual concessão OAuth 2.0 executar. |
redirect_uri | stringO URI de redirecionamento usado na solicitação de autorização. Obrigatório para |
refresh_token | stringO token de atualização a ser rotacionado. Obrigatório para |
resource | stringO recurso protegido ao qual o token se destina: o endpoint MCP hospedado ( |
scope | stringLista opcional de escopos separados por espaços ou vírgulas para |
Usar o token
Envie o token como Authorization: Bearer <access_token> nas solicitações à API. Quando uma solicitação é
autenticada com um token Bearer válido, a API2 considera a
Signature Authentication atendida e
ignora a validação da assinatura. A Signature Authentication só é exigida para solicitações com chave/segredo.
As verificações de escopo continuam se aplicando. O público-alvo padrão api2 é aceito pelos endpoints regulares da API2 e é
válido por 21.600 segundos por padrão. O público-alvo mcp é aceito pelo servidor MCP, que o encaminha
à API2 com uma credencial de serviço; ele é rejeitado pelos endpoints regulares da API2 quando apresentado diretamente e é válido por
604.800 segundos por padrão. Considere o valor de expires_in da resposta como o valor de referência.
Resposta
Veja um exemplo de corpo de resposta:
{
"access_token": "opaque-token",
"expires_in": 21600,
"scope": "assemblies:read assemblies:write",
"token_type": "Bearer"
}sucesso 2xx
Corpo da resposta JSON. application/json
Esquema do corpo da resposta
Esquema JSON completo
A resposta contém apenas os campos listados para este objeto.
| Campo | Tipo e descrição |
|---|---|
access_tokenobrigatório | string (comprimento mínimo: 1)O token a ser enviado no cabeçalho Authorization das requisições de API subsequentes. Mantenha-o em segredo. |
expires_inobrigatório | integer (mínimo exclusivo: 0)Tempo de vida do token em segundos a partir da emissão. Solicite um novo token depois que ele expirar. |
refresh_token | string (comprimento mínimo: 1)Retornado pelas concessões |
scopeobrigatório | string (comprimento mínimo: 1, comprimento máximo: 512)Escopos separados por espaço concedidos a este token. Padrão de validação (expressão regular)^(?:read|write|auth_keys:write|auth_keys:read|assemblies:write|assemblies:read|assembly_notifications:write|dam:read|dam:write|template_credentials:read|template_credentials:write|billing:read|queues:read|smart_cdn:sign|templates:read|templates:write|storage_grants:write)(?: (?:read|write|auth_keys:write|auth_keys:read|assemblies:write|assemblies:read|assembly_notifications:write|dam:read|dam:write|template_credentials:read|template_credentials:write|billing:read|queues:read|smart_cdn:sign|templates:read|templates:write|storage_grants:write))*$ |
token_typeobrigatório | string (sempre: "Bearer") |
HTTP 400
Corpo da resposta JSON. application/json
Esquema do corpo da resposta
Esquema JSON completo
Qualquer um dos esquemas a seguir pode ser aplicado:
error: "GET_ACCOUNT_UNKNOWN_AUTH_KEY"
Não foi possível obter o Workspace, esta é uma Auth Key desconhecida.
A resposta pode conter campos adicionais.
error: "TOKEN_INVALID_GRANT_TYPE"
Tipo de concessão inválido.
A resposta pode conter campos adicionais.
error: "TOKEN_INVALID_REQUEST"
Requisição de token inválida.
A resposta pode conter campos adicionais.
propriedades obrigatórias: error
A resposta pode conter campos adicionais.
| Campo | Tipo e descrição |
|---|---|
errorobrigatório | stringUm código de erro da RFC 6749, 7591 ou 8707, como Padrão de validação (expressão regular)^(?:access_denied|invalid_client|invalid_client_metadata|invalid_grant|invalid_redirect_uri|invalid_request|invalid_scope|invalid_target|server_error|unauthorized_client|unsupported_grant_type)$ |
error_description | stringUma explicação legível para humanos que nunca menciona uma conta pelo nome. |
HTTP 401
Corpo da resposta JSON. application/json
Esquema do corpo da resposta
Esquema JSON completo
Qualquer um dos esquemas a seguir pode ser aplicado:
error: "SERVER_401"
Autorização necessária.
A resposta pode conter campos adicionais.
error: "TOKEN_INVALID_CREDENTIALS"
Credenciais de cliente inválidas.
A resposta pode conter campos adicionais.
propriedades obrigatórias: error
A resposta pode conter campos adicionais.
| Campo | Tipo e descrição |
|---|---|
errorobrigatório | stringUm código de erro da RFC 6749, 7591 ou 8707, como Padrão de validação (expressão regular)^(?:access_denied|invalid_client|invalid_client_metadata|invalid_grant|invalid_redirect_uri|invalid_request|invalid_scope|invalid_target|server_error|unauthorized_client|unsupported_grant_type)$ |
error_description | stringUma explicação legível para humanos que nunca menciona uma conta pelo nome. |
HTTP 403
Corpo da resposta JSON. application/json
Esquema do corpo da resposta
Esquema JSON completo
Qualquer um dos esquemas a seguir pode ser aplicado:
error: "TOKEN_INVALID_AUDIENCE"
Audiência inválida.
A resposta pode conter campos adicionais.
error: "TOKEN_INVALID_SCOPE"
Escopo inválido ou não autorizado.
A resposta pode conter campos adicionais.
HTTP 429
Corpo da resposta JSON. application/json
Esquema do corpo da resposta
Esquema JSON completo
Limite de requisições atingido.
A resposta pode conter campos adicionais.
HTTP 500
Corpo da resposta JSON. application/json
Esquema do corpo da resposta
Esquema JSON completo
Erro inesperado.
A resposta pode conter campos adicionais.