> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.basement.chat/pt-br/connect-a-program/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.basement.chat/_mcp/server. # Conectar um programa Um programa é um sistema da sua organização que usa o Basement por código: uma integração, um script, um serviço de back-end. Ele usa as mesmas ferramentas que um agente, com uma chave própria, e assim o registro de atividade mostra o sistema pelo nome dele. ### Crie uma chave para o programa No Basement, abra **Agentes** e clique em **Conectar agente**. Selecione **Programa**, dê um nome ao sistema (por exemplo, "Sistema de faturamento") e selecione o nível de acesso dele. O Basement mostra a chave uma única vez. Copie a chave agora e guarde em um cofre de segredos ou em uma variável de ambiente. Não coloque a chave no código-fonte. ### Instale o SDK **`TypeScript`** ```bash title="TypeScript" npm install @basementai/gateway ``` **`Python`** ```bash title="Python" pip install basement-gateway ``` ### Faça a primeira chamada **`TypeScript`** ```typescript title="TypeScript" import { BasementGatewayClient } from "@basementai/gateway"; const basement = new BasementGatewayClient({ apiKey: process.env.BASEMENT_API_KEY, }); const me = await basement.whoami(); console.log(me.orgName); const { docs } = await basement.docs.list(); const doc = await basement.docs.read({ docId: docs[0].id }); console.log(doc.title, doc.bodyMarkdown); ``` **`Python`** ```python title="Python" import os from basement_gateway import BasementGateway basement = BasementGateway(api_key=os.environ["BASEMENT_API_KEY"]) me = basement.whoami() print(me.org_name) docs = basement.docs.list().docs doc = basement.docs.read(doc_id=docs[0].id) print(doc.title, doc.body_markdown) ``` **`HTTP`** ```bash title="HTTP" curl -X POST https://mcp.basement.chat/v1/tools/whoami \ -H "Authorization: Bearer $BASEMENT_API_KEY" curl -X POST https://mcp.basement.chat/v1/tools/read_doc \ -H "Authorization: Bearer $BASEMENT_API_KEY" \ -H "Content-Type: application/json" \ -d '{"docId": "o_id_do_documento"}' ``` Os dois SDKs leem a chave da variável de ambiente `BASEMENT_API_KEY` quando você não informa uma. ## O que acontece depois * O programa só consegue chamar o que o nível de acesso dele permite. Uma chamada fora disso responde `403`. Veja [Erros e limites](/pt-br/sdks/errors-and-limits). * Cada chamada aparece em **Agentes**, **Atividade**, marcada como programa, com o SDK e a versão dele. Veja [Registro de atividade](/pt-br/concepts/activity-log). * A lista completa de operações está na [Referência da API](/pt-br/api-reference). > Chame o Gateway a partir do seu sistema, com um SDK ou com HTTP puro.