Referência da API Keymatic
Gerada do OpenAPI publicado em /api/instagram/openapi.json. 28 operações, base /api/instagram.
Convenções
- Envie
Authorization: Bearer $KEYMATIC_API_KEY. As respostas têmCache-Control: no-store. - Os exemplos usam uma chave de conta. Com OAuth de várias contas, liste
/contase informeX-Keymatic-Conta-Idnas operações de uma conta. A ausência do alvo devolveconta_necessaria. - Escritas devolvem
202com uma operação; veja Idempotência e operações. - Erros usam
{"erro": {"codigo", "mensagem"}}; veja Erros. - Operações marcadas com “requer permissão Meta” dependem de App Review para contas externas.
API Keymatic para Instagram
Dados e ações da conta Instagram escolhida pela chave ou pelo alvo da sessão OAuth. Bearer km_api_, km_mcp_ ou access token OAuth do MCP.
Listar Instagrams autorizados nesta credencial
GET/contas
- Permissão
ler
Snapshot do consentimento, sem consulta à Meta. exige_conta indica que as operações precisam de X-Keymatic-Conta-Id; novos Instagrams não entram automaticamente.
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/contas" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Ler o perfil do Instagram da chave
GET/perfil
- Permissão
ler
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/perfil" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Consultar plano, uso e limites
GET/uso
- Permissão
ler
Não reserva operação da franquia.
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/uso" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Listar publicações
GET/publicacoes
- Permissão
ler
Paginação por cursor; limite de 1 a 50.
Consulta
cursorstring | nulllimiteinteger | null
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/publicacoes" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Publicar ou agendar
POST/publicacoes
- Permissão
publicar - Exige
Idempotency-Key - Requer permissão Meta
instagram_business_content_publish
Formatos imagem, reel, carrossel (2–10 imagens), story_imagem e story_video. Agenda com fuso, até 30 dias. Devolve 202 com a operação; acompanhe por GET /operacoes/{operacao_id}.
Cabeçalhos
X-Keymatic-Conta-Idstring | nullIdempotency-Keystring | nullobrigatório- Obrigatório nas escritas; ausência retorna HTTP 428.
Corpo JSON · ConteudoPublicacao
formato"imagem" | "reel" | "carrossel" | "story_imagem" | "story_video"obrigatórioarquivosstring[]obrigatório- 1–10 itens
legendastring- até 2200 caracteres
executar_emstring (date-time) | null
Respostas
202operação assíncrona: operacao_id, estado, executar_em, resultado, erro.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/publicacoes" \
-H "Authorization: Bearer $KEYMATIC_API_KEY" \
-H "Idempotency-Key: publicacoes-pedido-123" \
-H "Content-Type: application/json" \
-d '{
"formato": "imagem",
"arquivos": [
"<url-de-POST-/midias/importacoes>"
],
"legenda": "Coleção nova no ar",
"executar_em": "2026-11-10T12:00:00-03:00"
}'Ler comentários de uma publicação
GET/publicacoes/{media_id}/comentarios
- Permissão
ler
Caminho
media_idstringobrigatório
Consulta
cursorstring | nulllimiteinteger | null
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/publicacoes/<media_id>/comentarios" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Métricas de uma publicação
GET/publicacoes/{media_id}/insights
- Permissão
ler - Requer permissão Meta
instagram_business_manage_insights
Caminho
media_idstringobrigatório
Consulta
metricasstring | null
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/publicacoes/<media_id>/insights" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Métricas do perfil
GET/insights
- Permissão
ler - Requer permissão Meta
instagram_business_manage_insights
Intervalo de até 30 dias, datas ISO com fuso.
Consulta
desdestringobrigatórioatestringobrigatóriometricasstring | null
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/insights?desde=<desde>&ate=<ate>" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Importar mídia por URL
POST/midias/importacoes
- Permissão
publicar
HTTPS público. Imagem JPEG/PNG/WebP até 12 MiB; MP4 até 100 MB. Devolve 201 com a URL Keymatic a usar em POST /publicacoes. Sem idempotência: guarde o resultado.
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Corpo JSON · ImportarArquivo
urlstringobrigatório- 8–2048 caracteres
tipo"imagem" | "video"obrigatório
Respostas
201recurso criado.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/midias/importacoes" \
-H "Authorization: Bearer $KEYMATIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://cdn.seu-produto.com/fotos/colecao.jpg",
"tipo": "imagem"
}'Consultar uma operação
GET/operacoes/{operacao_id}
- Permissão
ler
Não reserva operação da franquia.
Caminho
operacao_idstring (uuid)obrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/operacoes/<operacao_id>" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Cancelar um agendamento
POST/operacoes/{operacao_id}/cancelamento
- Permissão
publicar
Só publicação ainda no estado agendada.
Caminho
operacao_idstring (uuid)obrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/operacoes/<operacao_id>/cancelamento" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Listar mensagens recebidas
GET/mensagens/recebidas
- Permissão
mensagens
Até 50 eventos de webhook das últimas 24 h.
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/mensagens/recebidas" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Responder uma mensagem do Direct
POST/mensagens/recebidas/{evento_id}/respostas
- Permissão
responder + mensagens - Exige
Idempotency-Key
Só mensagem recebida comprovada por webhook, dentro de 24 h e sem opt-out. Não inicia conversa. Devolve 202 com a operação; acompanhe por GET /operacoes/{operacao_id}.
Caminho
evento_idstring (uuid)obrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | nullIdempotency-Keystring | nullobrigatório- Obrigatório nas escritas; ausência retorna HTTP 428.
Corpo JSON · TextoDeResposta
textostringobrigatório- 1–1000 caracteres
Respostas
202operação assíncrona: operacao_id, estado, executar_em, resultado, erro.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/mensagens/recebidas/<evento_id>/respostas" \
-H "Authorization: Bearer $KEYMATIC_API_KEY" \
-H "Idempotency-Key: mensagens-recebidas-evento-id-respostas-pedido-123" \
-H "Content-Type: application/json" \
-d '{
"texto": "<texto>"
}'Listar conversas
GET/conversas
- Permissão
mensagens
Consulta
cursorstring | nulllimiteinteger | null
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/conversas" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Ler uma conversa
GET/conversas/{igsid}
- Permissão
mensagens
Caminho
igsidstringobrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/conversas/<igsid>" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Ler uma mensagem
GET/mensagens/{mensagem_id}
- Permissão
mensagens
Caminho
mensagem_idstringobrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/mensagens/<mensagem_id>" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Responder um comentário
POST/comentarios/{comment_id}/respostas
- Permissão
responder - Exige
Idempotency-Key
Devolve 202 com a operação; acompanhe por GET /operacoes/{operacao_id}.
Caminho
comment_idstringobrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | nullIdempotency-Keystring | nullobrigatório- Obrigatório nas escritas; ausência retorna HTTP 428.
Corpo JSON · RespostaAoComentario
textostringobrigatório- 1–1000 caracteres
media_idstringobrigatório- formato ^[0-9]{1,64}$
Respostas
202operação assíncrona: operacao_id, estado, executar_em, resultado, erro.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/comentarios/<comment_id>/respostas" \
-H "Authorization: Bearer $KEYMATIC_API_KEY" \
-H "Idempotency-Key: comentarios-comment-id-respostas-pedido-123" \
-H "Content-Type: application/json" \
-d '{
"texto": "<texto>",
"media_id": "<media_id>"
}'Ocultar ou reexibir um comentário
POST/comentarios/{comment_id}/ocultacao
- Permissão
moderar - Exige
Idempotency-Key
Devolve 202 com a operação; acompanhe por GET /operacoes/{operacao_id}.
Caminho
comment_idstringobrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | nullIdempotency-Keystring | nullobrigatório- Obrigatório nas escritas; ausência retorna HTTP 428.
Corpo JSON · ModeracaoDoComentario
media_idstringobrigatório- formato ^[0-9]{1,64}$
ocultarbooleanobrigatório
Respostas
202operação assíncrona: operacao_id, estado, executar_em, resultado, erro.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/comentarios/<comment_id>/ocultacao" \
-H "Authorization: Bearer $KEYMATIC_API_KEY" \
-H "Idempotency-Key: comentarios-comment-id-ocultacao-pedido-123" \
-H "Content-Type: application/json" \
-d '{
"media_id": "<media_id>",
"ocultar": true
}'Listar regras de resposta automática
GET/automacoes
- Permissão
ler
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/automacoes" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Criar regra de resposta automática
POST/automacoes
- Permissão
responder - Exige
Idempotency-Key
Regra simples por palavra-chave, não um agente generativo. retroativo é false por padrão.
Cria regra simples que o motor existente executa nos próximos comentários. Idempotente pela chave no razão de operações da credencial (mesma franquia do MCP). Retroativo só com `retroativo: true`.
Cabeçalhos
X-Keymatic-Conta-Idstring | nullIdempotency-Keystring | nullobrigatório- Obrigatório nas escritas; ausência retorna HTTP 428.
Corpo JSON · RegraSimplesNova
nomestringobrigatório- 1–120 caracteres
tipo"dm" | "comentario"- padrão "dm"
palavras_chavestring[]obrigatório- 1–20 itens
modo_match"contem" | "palavra_inteira" | "exato"- padrão "contem"
media_idsstring[]- até 50 itens
mensagem_dmstring | nullresponder_comentarioboolean- padrão false
respostas_comentariostring[]- até 5 itens
ativaboolean- padrão true
retroativoboolean- padrão false
Respostas
201recurso criado.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/automacoes" \
-H "Authorization: Bearer $KEYMATIC_API_KEY" \
-H "Idempotency-Key: automacoes-pedido-123" \
-H "Content-Type: application/json" \
-d '{
"nome": "Enviar detalhes",
"tipo": "dm",
"palavras_chave": [
"KEY"
],
"modo_match": "palavra_inteira",
"media_ids": [],
"mensagem_dm": "Olá! Aqui estão os detalhes que você pediu.",
"responder_comentario": true,
"respostas_comentario": [
"Enviei no Direct."
],
"ativa": true,
"retroativo": false
}'Ler uma regra
GET/automacoes/{automacao_id}
- Permissão
ler
Caminho
automacao_idstring (uuid)obrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/automacoes/<automacao_id>" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Editar ou pausar uma regra
PATCH/automacoes/{automacao_id}
- Permissão
responder
Envie a versao_esperada lida no GET; conflito devolve 409.
Edita ou pausa. `versao_esperada` impede sobrescrever edição concorrente.
Caminho
automacao_idstring (uuid)obrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Corpo JSON · RegraSimplesEdicao
versao_esperadaintegerobrigatório- mínimo 0
nomestring | null- 1–120 caracteres
palavras_chavestring[] | null- 1–20 itens
modo_match"contem" | "palavra_inteira" | "exato" | nullmedia_idsstring[] | null- até 50 itens
mensagem_dmstring | nullresponder_comentarioboolean | nullrespostas_comentariostring[] | null- até 5 itens
ativaboolean | null
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X PATCH "https://ig.keymatic.com.br/api/instagram/automacoes/<automacao_id>" \
-H "Authorization: Bearer $KEYMATIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"versao_esperada": 2,
"ativa": false
}'Excluir uma regra
DELETE/automacoes/{automacao_id}
- Permissão
responder
Caminho
automacao_idstring (uuid)obrigatório
Cabeçalhos
X-Keymatic-Conta-Idstring | null
Respostas
204sem corpo.422entrada fora do esquema. Demais erros em Erros.
curl -X DELETE "https://ig.keymatic.com.br/api/instagram/automacoes/<automacao_id>" \
-H "Authorization: Bearer $KEYMATIC_API_KEY"Conexão de parceiro
Contas que os clientes do seu produto conectaram pelo onboarding hospedado. Somente com a chave de projeto km_proj_, no backend.
Abrir sessão de conexão hospedada
POST/conexoes/sessoes
- Chave de projeto
km_proj_
Devolve a url para onde o CRM redireciona o cliente final. Ticket de uso único, 10 min.
Corpo JSON · NovaSessao
url_retornostringobrigatório- 8–500 caracteres
statestringobrigatório- formato ^[A-Za-z0-9._~:\-]{1,200}$
permissoesstring[] | null- até 5 itens
Respostas
201recurso criado.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/conexoes/sessoes" \
-H "Authorization: Bearer $KEYMATIC_PROJECT_KEY" \
-H "Content-Type: application/json" \
-d '{
"url_retorno": "https://app.seu-crm.com/integracoes/keymatic/retorno",
"state": "<nonce-do-crm>",
"permissoes": [
"ler",
"mensagens"
]
}'Trocar o code pela chave da conta
POST/conexoes/codigos
- Chave de projeto
km_proj_
Uso único, 5 min. Sem retry automático: repetir devolve 409 code_invalido e revoga a chave emitida.
Corpo JSON · TrocaDeCode
codestringobrigatório- 10–200 caracteres
Respostas
201recurso criado.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/conexoes/codigos" \
-H "Authorization: Bearer $KEYMATIC_PROJECT_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "<code-do-callback>"
}'Listar contas concedidas ao projeto
GET/conexoes/contas
- Chave de projeto
km_proj_
Respostas
200JSON com o resultado.422entrada fora do esquema. Demais erros em Erros.
curl -X GET "https://ig.keymatic.com.br/api/instagram/conexoes/contas" \
-H "Authorization: Bearer $KEYMATIC_PROJECT_KEY"Emitir nova chave para uma conta
POST/conexoes/contas/{conta_id}/credenciais
- Chave de projeto
km_proj_
Só para conta concedida a este projeto; senão 404.
Caminho
conta_idstring (uuid)obrigatório
Corpo JSON · NovaChaveDaConta
revogar_anterioresboolean- padrão false
Respostas
201recurso criado.422entrada fora do esquema. Demais erros em Erros.
curl -X POST "https://ig.keymatic.com.br/api/instagram/conexoes/contas/<conta_id>/credenciais" \
-H "Authorization: Bearer $KEYMATIC_PROJECT_KEY" \
-H "Content-Type: application/json" \
-d '{
"revogar_anteriores": false
}'Revogar a concessão de uma conta
DELETE/conexoes/contas/{conta_id}
- Chave de projeto
km_proj_
Revoga a concessão e as chaves filhas.
Caminho
conta_idstring (uuid)obrigatório
Respostas
204sem corpo.422entrada fora do esquema. Demais erros em Erros.
curl -X DELETE "https://ig.keymatic.com.br/api/instagram/conexoes/contas/<conta_id>" \
-H "Authorization: Bearer $KEYMATIC_PROJECT_KEY"