Documentação da API
Especificação OpenAPI ↗Explore os endpoints, copie exemplos de requisições e teste a API sem conta nem chave de API. Ao enviar uma requisição, os dados são transmitidos à API. As consultas de IP público mostram a conexão do seu navegador.
Ler o guia de conexão MCPA referência interativa e a especificação estão em inglês.
POST /v1/cidr-cover
Envie endereços IPv4 ou IPv6 e intervalos CIDR em JSON. A resposta inclui o menor CIDR de cobertura, as entradas normalizadas e contagens exatas de endereços como strings decimais. Esta requisição à API envia suas entradas ao servidor.
curl -fsS https://api.dev.packetrove.com/v1/cidr-cover \
-H 'Content-Type: application/json' \
-d '{"inputs":["203.0.113.1","203.0.113.2","203.0.113.6"]}'Este exemplo retorna 203.0.113.0/29 com 5 endereços adicionais. Confira additionalAddressCount antes de usar o resultado em uma lista de endereços permitidos ou bloqueados.
POST /v1/cidr-subtract
Subtraia exclude de include de forma exata. Retorna a lista mínima de CIDRs canônicos e contagens exatas como strings decimais. Esta chamada envia os dados ao servidor.
curl -fsS https://api.dev.packetrove.com/v1/cidr-subtract \
-H 'Content-Type: application/json' \
-d '{"include":["203.0.113.0/24"],"exclude":["203.0.113.64/26"]}'Este exemplo retorna 203.0.113.0/26, 203.0.113.128/25, com 192 endereços restantes e sem cobertura adicional.
POST /v1/range-to-cidrs
Envie start e end da mesma família. Ambos os limites são inclusivos. Retorna limites canônicos, lista CIDR mínima exata, número de CIDRs e total de endereços como string decimal. A solicitação envia dados ao servidor.
curl -fsS https://api.dev.packetrove.com/v1/range-to-cidrs \
-H 'Content-Type: application/json' \
-d '{"start":"203.0.113.11","end":"203.0.113.23"}'Este exemplo retorna 203.0.113.11/32, 203.0.113.12/30, 203.0.113.16/29, representando exatamente 13 endereços.
POST /v1/certificate-bundle
Envie certificados PEM e nome DNS opcional ao servidor. Receba posições originais, assinaturas candidatas e constatações com evidências e próximos passos. Chaves privadas são rejeitadas; o resultado não prova confiança do cliente.
curl -fsS https://api.dev.packetrove.com/v1/certificate-bundle \
-H 'Content-Type: application/json' \
-d '{"pem":"-----BEGIN CERTIFICATE-----\nMIICCjCCAbCgAwIBAgIBCDAKBggqhkjOPQQDAjBEMRowGAYDVQQDExFEZW1vIElu\ndGVybWVkaWF0ZTEmMCQGA1UEChMdUGFja2V0cm92ZSBTeW50aGV0aWMgRXhhbXBs\nZXMwHhcNMjAwMTAxMDAwMDAwWhcNNDAwMTAxMDAwMDAwWjBGMRwwGgYDVQQDExNz\nZXJ2aWNlLmV4YW1wbGUuY29tMSYwJAYDVQQKEx1QYWNrZXRyb3ZlIFN5bnRoZXRp\nYyBFeGFtcGxlczBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABB5fn3dU7OLbmhjX\np3yyIx+2XV+Tm2SLDoKzqkh1tghkRRujbnOabparI3MRHv4xHE6OePpzrbjxRhRP\n6zFolZWjgZAwgY0wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O\nBBYEFAfVEb9iWb+ZcGsM/Kn4GuAuzRDBMB8GA1UdIwQYMBaAFLVIZXp5pvnton0C\nEDqX/742N1ieMC0GA1UdEQQmMCSCE3NlcnZpY2UuZXhhbXBsZS5jb22CDSouZXhh\nbXBsZS5uZXQwCgYIKoZIzj0EAwIDSAAwRQIgVEcSRPkS5CuPS5aocD9DJHzXlrc1\nPdUma+rZtx2bN0UCIQD1C3NNIDmH1Xy4oJhwfKWcITyxyIXmlcK9pUiMjD+qdg==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIB1zCCAX2gAwIBAgIBAzAKBggqhkjOPQQDAjA+MRQwEgYDVQQDEwtEZW1vIFJv\nb3QgQTEmMCQGA1UEChMdUGFja2V0cm92ZSBTeW50aGV0aWMgRXhhbXBsZXMwHhcN\nMjAwMTAxMDAwMDAwWhcNNDAwMTAxMDAwMDAwWjBEMRowGAYDVQQDExFEZW1vIElu\ndGVybWVkaWF0ZTEmMCQGA1UEChMdUGFja2V0cm92ZSBTeW50aGV0aWMgRXhhbXBs\nZXMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARt9zn152ODLv2A7zMzZjK+5+8h\niuosIcwmRwEhVU/hxg0g22S/EppbLGahIl9r+gyjv1Z9cm4AYzWJ21qQ8xkpo2Yw\nZDASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB/wQEAwICBDAdBgNVHQ4EFgQU\ntUhlenmm+e2ifQIQOpf/vjY3WJ4wHwYDVR0jBBgwFoAUG028VQAIWmJos9X4aPvx\nebvw8dEwCgYIKoZIzj0EAwIDSAAwRQIhAJuznXANK1Rdaa0ukjaLMvVEx8L1vLVz\n8o4jwLtPmbFKAiB6koDuWdkdLRxnMQ43X2ze1SRy665HHyfQemuCjzrQjw==\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIBsDCCAVagAwIBAgIBATAKBggqhkjOPQQDAjA+MRQwEgYDVQQDEwtEZW1vIFJv\nb3QgQTEmMCQGA1UEChMdUGFja2V0cm92ZSBTeW50aGV0aWMgRXhhbXBsZXMwHhcN\nMjAwMTAxMDAwMDAwWhcNNDAwMTAxMDAwMDAwWjA+MRQwEgYDVQQDEwtEZW1vIFJv\nb3QgQTEmMCQGA1UEChMdUGFja2V0cm92ZSBTeW50aGV0aWMgRXhhbXBsZXMwWTAT\nBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS+Zp+N67NDEXRI1BrIw/iBk6raReb/UqYN\nsOaEVJZANsmih5h7VYPyJnAn5eJbU4uE/ebeZ7aSrFvHOu7EplDZo0UwQzASBgNV\nHRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUG028VQAI\nWmJos9X4aPvxebvw8dEwCgYIKoZIzj0EAwIDSAAwRQIhAJk5L1v5StGaAboH6L4Z\nKOA71UEUUb2Y0pIbQsBL7Uq2AiBgIVRaev+zDSY0jTRmgIWTkR+49B/E3WWeOfBm\nmMB+/Q==\n-----END CERTIFICATE-----","hostname":"service.example.com"}'Certificados públicos sintéticos. Hora documental: 2026-10-04T06:00:00.000Z. Sua verificação usa o relógio atual do ambiente.
GET /v1/public-ip
Retorna o IP público observado nesta conexão HTTP. Solicite text/plain para um endereço seguido de uma quebra de linha, ou application/json para um endereço e sua família. As respostas não são armazenadas em cache. Uma VPN ou um proxy altera o endereço de saída observado.
curl -fsS https://api.dev.packetrove.com/v1/public-ip -H 'Accept: text/plain'