Pular para o conteúdo principal
Use sua chave de API MKA1 no cabeçalho Authorization em todas as requisições. Para integrações server-side multiusuário, envie também X-On-Behalf-Of para identificar o usuário final.
Precisa do caminho completo da requisição, regras de propagação de cabeçalho e detalhes internos da troca de JWT? Leia o mergulho profundo em autenticação.

Envie sua chave de API

Passe sua chave de API como um token bearer.
Authorization: Bearer <mka1-api-key>
Use https://apigw.mka1.com como a URL base.
import { SDK } from '@meetkai/mka1'

const mka1 = new SDK({ bearerAuth: 'Bearer YOUR_API_KEY' })

const response = await mka1.llm.responses.create({
  model: 'auto',
  input: 'Write a short welcome message.',
})
Se sua chave de API estiver ausente, inválida ou não tiver acesso ao recurso solicitado, a API MKA1 retorna um erro de autenticação ou autorização.

Envie X-On-Behalf-Of para um usuário final

Use X-On-Behalf-Of quando seu servidor estiver fazendo uma requisição para um dos seus usuários finais. Defina o valor do cabeçalho para o seu próprio identificador estável de usuário final.
X-On-Behalf-Of: <end-user-id>
Por exemplo, se seu aplicativo armazena usuários como user_123, use esse valor de forma consistente nas requisições feitas para esse usuário.
import { SDK } from '@meetkai/mka1'

const mka1 = new SDK({ bearerAuth: 'Bearer YOUR_API_KEY' })

const response = await mka1.llm.responses.create(
  {
    model: 'auto',
    input: 'Summarize this support ticket.',
  },
  {
    headers: { 'X-On-Behalf-Of': 'user_123' },
  }
)
Se sua integração não atuar em nome de um usuário final específico, omita o X-On-Behalf-Of.

Escolha o padrão correto

Use apenas Authorization quando:
  • Você está chamando a API MKA1 para um fluxo de trabalho do seu próprio backend.
  • A requisição não está vinculada a um usuário final específico.
Use tanto Authorization quanto X-On-Behalf-Of quando:
  • Seu servidor está agindo em nome de um dos seus usuários finais.
  • Você deseja que requisições, respostas, arquivos ou uso permaneçam associados a esse usuário final.
Não envie um endereço de e-mail ou nome de exibição mutável, a menos que esse já seja seu identificador estável de usuário final. Use um ID do seu próprio sistema que não muda.

Troque uma chave de API por um JWT

Use POST /api/v1/authentication/api-key/exchange-token quando precisar de um JWT de curta duração para um serviço downstream. Envie sua chave de API MKA1 em Authorization. Depois, envie um corpo JSON com:
  • audience: A URL do serviço que deve aceitar o token.
  • externalUserId: Seu ID de usuário final para o subject do JWT.
  • expiresIn: Tempo de vida opcional do token, em segundos. O OpenAPI permite de 300 a 2592000.
import { SDK } from '@meetkai/mka1'

const mka1 = new SDK({ bearerAuth: 'Bearer YOUR_API_KEY' })

const result = await mka1.auth.apiKey.exchangeToken({
  audience: 'https://my-awesome-website.com',
  externalUserId: 'user_123',
  expiresIn: 3600,
})
Uma resposta bem-sucedida retorna um objeto JSON com token.

Use um JWT para requisições subsequentes

Depois de obter um JWT do endpoint de troca, use-o como token bearer no lugar da sua chave de API. Isso permite emitir credenciais de curta duração para serviços downstream ou usuários finais sem expor sua chave de API.
import { SDK } from '@meetkai/mka1'

// Use o JWT retornado do endpoint de troca
const mka1 = new SDK({ bearerAuth: `Bearer ${result.token}` })

const response = await mka1.llm.responses.create({
  model: 'auto',
  input: 'Write a short welcome message.',
})

Próximos passos