{"openapi":"3.1.0","info":{"title":"API do atendi.me","version":"1.0.0","description":"Lê o Catálogo e o Funil de um negócio. Cada chamada leva uma chave de acesso que o dono do negócio cria em Configurações, Integrações, Chaves de acesso. A mesma chave serve no servidor MCP, em /mcp."},"servers":[{"url":"https://api.atendi.me/v1"}],"tags":[{"name":"Catálogo","description":"O que o negócio vende."},{"name":"Funil","description":"As etapas por onde passam os contatos do negócio."}],"paths":{"/catalog/items":{"get":{"operationId":"list_catalog_items","tags":["Catálogo"],"summary":"Ler o Catálogo","description":"Lista tudo o que o negócio vende, serviços e produtos, com categoria, preço em centavos, tempo na agenda e se está à venda agora.","security":[{"chave":[]}],"responses":{"200":{"description":"Ler o Catálogo","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"category":{"type":"string","description":"Grupo que o negócio escolheu, como \"Cabelo\" ou \"Celulares\"."},"priceInCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Preço em centavos: 4990 é R$ 49,90."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"O que está incluído e outros detalhes, do jeito que o negócio escreveu."},"durationMinutes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Minutos que um horário marcado para este item ocupa na agenda. null usa a duração padrão da agenda."},"status":{"type":"string","enum":["available","unavailable"],"description":"available: à venda. unavailable: esgotado ou fora de oferta agora."},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["id","name","category","priceInCents","description","durationMinutes","status","createdAt","updatedAt"],"additionalProperties":false}}}}}}},"400":{"description":"Um campo do pedido veio errado. details diz qual.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Falta a chave, ou ela está errada ou foi apagada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"A chave não pode ler isto, quem a criou saiu do negócio, ou o negócio foi encerrado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"A chave passou de 100 chamadas por minuto. Retry-After diz quantos segundos esperar.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/crm/stages":{"get":{"operationId":"list_crm_stages","tags":["Funil"],"summary":"Ler as etapas do Funil","description":"Lista as etapas do Funil do negócio, na ordem em que aparecem no app. Não traz os contatos.","security":[{"chave":[]}],"responses":{"200":{"description":"Ler as etapas do Funil","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"color":{"type":"string","enum":["gray","amber","emerald","sky","violet","rose","orange","teal"],"description":"A cor da etapa no app."},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"A ordem da etapa no Funil. As etapas vêm nesta ordem."},"kind":{"type":"string","enum":["open","won","lost"],"description":"open: etapa em andamento. won: venda fechada. lost: venda perdida."}},"required":["id","name","color","position","kind"],"additionalProperties":false}}}}}}},"400":{"description":"Um campo do pedido veio errado. details diz qual.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Falta a chave, ou ela está errada ou foi apagada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"A chave não pode ler isto, quem a criou saiu do negócio, ou o negócio foi encerrado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"A chave passou de 100 chamadas por minuto. Retry-After diz quantos segundos esperar.","headers":{"Retry-After":{"description":"When present, how many seconds to wait before trying again.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"Any other failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","API_KEY_MISSING","INVALID_API_KEY","API_KEY_SCOPE_MISSING","API_KEY_CREATOR_INACTIVE","WORKSPACE_FORBIDDEN","WORKSPACE_CLOSED","RATE_LIMITED","NOT_FOUND","INTERNAL_ERROR"],"description":"What went wrong, as a word a program can check."},"message":{"type":"string","description":"What went wrong, as a sentence."},"messageKey":{"type":"string","description":"`message` as a key, to show it in your reader's language, with `params` filling its blanks."},"params":{"type":"object","additionalProperties":{"type":["string","number"]},"description":"The values that fill `messageKey`'s blanks, such as a limit."},"details":{"description":"More about this error, such as retryAfterSecs."}}}}}},"securitySchemes":{"chave":{"type":"http","scheme":"bearer","description":"A chave de acesso, que começa com atendi_."}}},"x-mcp-tools":[{"name":"list_catalog_items","title":"Ler o Catálogo","description":"Lista tudo o que o negócio vende, serviços e produtos, com categoria, preço em centavos, tempo na agenda e se está à venda agora.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"list_crm_stages","title":"Ler as etapas do Funil","description":"Lista as etapas do Funil do negócio, na ordem em que aparecem no app. Não traz os contatos.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}}]}