{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"977d3f09-0c15-4392-b897-06032f40645b","name":"NovoDID API pública — Português (Brasil)","description":"# API pública NovoDID\n\n**API pública NovoDID · contrato 1.3.0.** Inglês americano é a edição principal; português brasileiro e espanhol colombiano cobrem o mesmo contrato. O idioma da documentação não traduz campos, escopos, enums nem altera respostas da API; mensagens de erro podem permanecer em português.\n\n## O que você pode fazer\n\nListar seus números ativos (DIDs), consultar encaminhamentos, configurar siga-me/ramal SIP/IP público, criar ou reutilizar ramal durante o encaminhamento, consultar suas credenciais, listar chamadas recebidas e ler/enviar SMS elegíveis. Devolução de números, alterações de assinaturas, criação de tokens e administração de webhooks são feitas no painel. Tokens e webhooks são configurados no painel autenticado.\n\n## Primeiros passos\n\n1. No painel NovoDID, abra **Desenvolvedores → Tokens** e crie um token somente com as permissões e os números necessários. A API é liberada automaticamente para PF e PJ; bloqueios administrativos continuam valendo.\n    \n2. Copie o token na criação (exibição única) e guarde como valor local/privado de ambiente no Postman em **novodid_token**. Nunca coloque tokens reais em valores compartilhados, exemplos, exportações ou Git.\n    \n3. Ajuste **baseUrl** para o ambiente desejado; padrão [https://novodid.com](https://novodid.com). Execute primeiro **GET /me** e depois **GET /dids** com dids:read. Copie o id numérico autorizado para **didId**; o telefone não é o id.\n    \n4. Os filtros opcionais começam desativados. Ative apenas os necessários e preencha os destinos antes das escritas. Confira os exemplos de resposta antes de executar.\n    \n5. Execute escritas individualmente: elas mudam o encaminhamento real ou enviam SMS de verdade. A coleção não é sandbox e não deve ser executada inteira em produção. Exemplos são fictícios, sem dados de clientes.\n    \n\n## Autenticação e acesso aos números\n\nToda requisição herda Authorization: Bearer {{novodid_token}}, por HTTPS. Não existe escopo curinga. O token pode autorizar todos os números atuais/futuros ou 1–100 posses atuais selecionadas. A posse ativa é sempre conferida: uma associação antiga não permite ler SMS ou chamadas de outro cliente. Recomprar um número não reativa uma seleção antiga; emita um novo token com a seleção atual. Tokens expirados/revogados, bloqueios e recursos fora da seleção são recusados.\n\nNome do token: 3–80 caracteres; máximo de 10 tokens ativos e não expirados. Validade: 7, 30, 90, 365 dias ou sem vencimento; sugestão do painel: 90 dias. Rotação invalida imediatamente o anterior e mantém permissões, seleção, vencimento e consumo das cotas. Tokens legados podem manter acesso amplo à conta; revise e substitua por permissões mínimas. Revogar token da API não invalida senha SIP que já foi consultada.\n\n## Permissões\n\n| Escopo | Permite |\n| --- | --- |\n| dids:read | Listar/detalhar números ativos autorizados |\n| account:read | Incluir nome/e-mail em /me |\n| billing:read | Incluir ciclo, vencimento, renovação e pagamento; as rotas de DID também exigem dids:read |\n| forwarding:read | Ler destinos, inclusive nos campos de DID |\n| forwarding:write | Configurar ramal existente ou IP público |\n| forwarding:phone | Configurar siga-me para telefone |\n| forwarding:delete | Remover encaminhamento |\n| calls:read | Ler chamadas recebidas |\n| sms:read | Ler histórico SMS elegível |\n| sms:send | Enviar/responder SMS elegíveis |\n| sip:create | Criar/reutilizar ramal ao encaminhar; exige também forwarding:write e sip:credentials:read |\n| sip:credentials:read | Consultar credenciais do ramal próprio e exclusivo |\n\n## Limites e erros\n\nCotas padrão agregadas por conta, compartilhadas entre todos os tokens: leitura 60/min, escrita de encaminhamento 10/min, SMS 5/min e 100/dia UTC. Limites individuais mais restritivos são adicionais e não ampliam a cota. Criar/rotacionar tokens não reinicia consumo. Tentativas recusadas podem consumir cota. Verifique X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset e Retry-After; SMS também fornece X-RateLimit-Sms-Day-\\*. Em 429, aguarde o prazo e use retentativas limitadas com intervalo progressivo e variação aleatória.\n\nCorpo JSON: até 16 KiB e 16 campos no primeiro nível. Query string: até 2048 caracteres; parâmetros desconhecidos ou duplicados são recusados. IDs inteiros entre 1 e 2147483647, sem decimais ou notação exponencial. Respostas com dados do cliente usam Cache-Control: no-store.\n\nFormato de erro: {\"error\":{\"code\":\"...\",\"message\":\"...\",\"details\":{}}}; details é opcional. 400 entrada inválida; 401 token ausente/inválido/expirado; 403 escopo, bloqueio ou política SMS; 404 recurso indisponível para o token/posse atual; 408 timeout do corpo; 409 estado incompatível ou saldo insuficiente; 413 corpo excessivo; 429 cota; 502/503 indisponibilidade temporária. Corrija autenticação/validação antes de repetir. Um 404 não prova que o número não existe globalmente. Não repita SMS cegamente após timeout: o envio pode ter ocorrido e não existe contrato de chave de idempotência.\n\n## Convenções de resposta\n\nTipo de DID: fixo, movel ou unknown. Meio de pagamento: pix, card ou null. Sem billing:read, cycle/expiresAt/autoRenew/payment ficam null; sem forwarding:read, o destino fica oculto. Null significa indisponível ou sem permissão, não necessariamente desativado. A capacidade SMS independe do escopo: fixos não recebem SMS e móveis precisam cumprir elegibilidade. Datas usam o formato/fuso ISO retornado, não o fuso local presumido.\n\n## Exemplos de integração\n\n**Painel somente leitura:** dids:read, opcionalmente billing:read e forwarding:read; respeite cotas compartilhadas. **Caixa SMS e resposta:** sms:read + sms:send; responda com from=seu DID e to=remetente recebido. **Softphone:** forwarding:write + sip:create + sip:credentials:read; PATCH type=sip sem sipAccountId e configure servidor/usuário/senha/porta/transporte retornados. Inclua forwarding:read para consultar o destino. **Siga-me:** forwarding:phone e saldo na conta; tarifa de R$ 0,20/min desde o início da cobrança, sem franquia gratuita.\n\n## Webhooks (configuração no painel)\n\nAbra Desenvolvedores → Webhooks e cadastre nome (3–80 caracteres), URL HTTPS pública (até 2048), eventos e filtro opcional de até 50 DIDs próprios. Filtro vazio inclui todos os números elegíveis. Credenciais na URL, hosts privados/locais e redirecionamentos não são aceitos. Eventos: sms.received, sms.sent, call.received, call.missed, payment.approved, did.expiring. Não há CRUD público v1 de webhooks nesta coleção; essas configurações não herdam escopos do token.\n\nEnvelope: id, type, version, createdAt e data, com dados de did/sms/call/payment conforme evento. Testes têm data.test=true. Preserve o corpo bruto exato e confira X-Novodid-Signature: sha256= + HMAC-SHA256(segredo, X-Novodid-Timestamp + \".\" + corpoBruto). Compare em tempo constante, rejeite timestamps antigos (recomendado ±5 minutos) e deduplique por id do evento. X-Novodid-Event e X-Novodid-Delivery identificam o contexto. \n\nPersista/enfileire o evento validado e retorne 2xx rapidamente. Prazo total de 8 segundos, sem redirects, captura limitada da resposta e até cinco tentativas com backoff. Falhas repetidas podem pausar o endpoint. Consulte logs de entrega e corrija conectividade, TLS, assinatura/corpo e tempo de resposta antes de retomar. Não há garantia de ordem, entrega exatamente uma vez ou replay histórico. A posse é revalidada antes da entrega; devolver um DID não transfere histórico ao próximo cliente.\n\n## Referências\n\n[Painel](https://novodid.com/desenvolvedores) · [OpenAPI](https://novodid.com/developers/novodid-api-v1.openapi.json) · [Guia detalhado](https://novodid.com/developers/novodid-api-v1.md).\n\n## Exemplos de código\n\nExemplos somente leitura. Defina NOVODID_API_TOKEN no ambiente local; nunca fixe o segredo no código. \n\n### cURL\n\n``` bash\ncurl --fail-with-body --max-time 15 \\\n  https://novodid.com/api/v1/dids \\\n  -H \"Authorization: Bearer $NOVODID_API_TOKEN\" \\\n  -H \"Accept: application/json\"\n\n ```\n\n### Node.js (fetch)\n\n``` javascript\nconst token = process.env.NOVODID_API_TOKEN;\nif (!token) throw new Error(\"NOVODID_API_TOKEN is required\");\nconst response = await fetch(\"https://novodid.com/api/v1/dids\", {\n  headers: { Authorization: `Bearer ${token}`, Accept: \"application/json\" },\n  signal: AbortSignal.timeout(15000),\n  redirect: \"error\"\n});\nif (!response.ok) throw new Error(`HTTP ${response.status}`);\nconst { dids } = await response.json();\nconsole.log({ count: dids.length });\n\n ```\n\n### Python (requests)\n\n``` python\nimport os\nimport requests\nresponse = requests.get(\n    \"https://novodid.com/api/v1/dids\",\n    headers={\"Authorization\": \"Bearer \" + os.environ[\"NOVODID_API_TOKEN\"]},\n    timeout=15,\n    allow_redirects=False,\n)\nif response.status_code != 200:\n    raise RuntimeError(f\"HTTP {response.status_code}\")\ndids = response.json()[\"dids\"]\nprint({\"count\": len(dids)})\n\n ```\n\n## Referência interativa\n\nA [referência NovoDID](https://novodid.com/desenvolvedores/referencia) oferece a mesma cobertura de rotas, variantes de encaminhamento separadas, escopos cumulativos e exemplos em oito linguagens. HTTP 500 indica um erro interno.\n\n## Compra de DIDs e MCP\n\nPermissões: catalog:read consulta estoque e cotação; orders:create cria pedidos; orders:read consulta e lista pedidos da conta. Tokens existentes não recebem essas permissões automaticamente. Para comprar, o token deve permitir todos os números, sem restrição a posses existentes. A conta precisa estar ativa, autorizada a comprar, com verificação exigida concluída e capacidade disponível. Valem as mesmas regras de móveis, ciclos e SMS do painel.\n\nCada pedido contém exatamente um DID. quantity pode ser omitido ou informado como o inteiro 1; listas e compras em lote são recusadas. A reserva pendente vale somente para o DID escolhido e dura no máximo 15 minutos desde a criação do pedido. Outros DIDs podem ser comprados durante esse período, respeitando os limites da conta. Ciclos: mensal, semestral e anual. Valores em centavos de BRL, calculados pelo servidor. O catálogo informa o preço mensal de referência; a cotação inclui ciclo, descontos e taxa do cartão. Cotar não reserva o número.\n\nApresente número, ciclo, valor recorrente e condições de SMS ao cliente. Somente após o aceite envie fixedDidSmsAcknowledged=true para fixos, ou mobileMonthlySmsAcknowledged=true quando exigido na cotação. O agente não deve presumir o consentimento do cliente.\n\nPOST /api/v1/orders exige o cabeçalho Idempotency-Key: 16–128 letras, números, hífen ou sublinhado. Gere uma chave para cada nova intenção de compra e mantenha chave/corpo nas repetições. Alterar os dados com a mesma chave retorna 409 idempotency_conflict. Após timeout, consulte o pedido ou repita a mesma chave; não gere outra para contornar a falha. O erro pode informar details.orderId.\n\nPix Automático retorna pix.copyPaste e pix.qrCodeDataUrl. Confira no aplicativo bancário o pagamento e a autorização recorrente. Cartão retorna checkoutUrl para o cliente concluir o pagamento. Criar o pedido não paga nem ativa o DID. O retorno do navegador não confirma o pagamento.\n\nEstados do pedido: creating, awaiting_payment, paid (pago, aguardando ativação), active (ativação concluída), expired, cancelled, refunded, rejected e review_required. Consulte o pedido para acompanhar e /api/v1/dids para conferir a posse ativa atual. As instruções de pagamento aparecem apenas em awaiting_payment. A reserva pendente expira em até 15 minutos, inclusive se a criação falhar ou o pedido precisar de análise. Isso não confirma cancelamento externo instantâneo nem reembolso. Não pague instruções vencidas; um pagamento confirmado após a expiração será analisado sem substituir outra reserva ou posse. Pagamentos já confirmados e números ativos continuam protegidos. Em review_required, contate o suporte com o ID do pedido.\n\nMCP remoto: https://mcp.novodid.com/mcp, transporte Streamable HTTP e o mesmo token Bearer da API NovoDID. Ferramentas: search_available_dids, quote_did_purchase, create_did_checkout, get_did_order e list_did_orders. A listagem respeita as permissões do token. create_did_checkout recebe idempotencyKey nos argumentos. Pix retorna copia e cola, imagem PNG e terminalQr para fonte monoespaçada. Se o cliente não exibir imagens, use o texto exato de copia e cola. O cliente MCP precisa permitir configurar o token Bearer.\n\n\n## Ferramentas MCP da sua conta\n\nO MCP remoto oferece todas as operações da API pública em 19 ferramentas, incluindo as cinco de compra. Conecte a https://mcp.novodid.com/mcp com Streamable HTTP e o mesmo token Bearer. A descoberta respeita escopos; a execução mantém posse atual, restrições do token, cotas e permissões de campos. billing:read libera pagamento e vencimento; account:read libera nome/e-mail; forwarding:read libera destinos. A criação de ramal exige as três permissões indicadas. Siga-me exige saldo e custa R$ 0,20/minuto, sem franquia gratuita. Envio de SMS não é idempotente: não repita automaticamente após resultado incerto. Confirme alterações com o cliente. Esta conexão não usa OAuth. Guia: https://novodid.com/desenvolvedores/mcp\n\n| Ferramenta | Permissões necessárias | Operação da API pública |\n|---|---|---|\n| `get_account` | Sem escopo adicional | `GET /api/v1/me` |\n| `list_dids` | dids:read | `GET /api/v1/dids` |\n| `get_did` | dids:read | `GET /api/v1/dids/{didId}` |\n| `list_forwardings` | forwarding:read | `GET /api/v1/forwardings` |\n| `get_did_forwarding` | forwarding:read | `GET /api/v1/dids/{didId}/forwarding` |\n| `set_did_phone_forwarding` | forwarding:phone | `PATCH /api/v1/dids/{didId}/forwarding` |\n| `set_did_ip_forwarding` | forwarding:write | `PATCH /api/v1/dids/{didId}/forwarding` |\n| `set_did_sip_forwarding` | forwarding:write | `PATCH /api/v1/dids/{didId}/forwarding` |\n| `create_did_sip_forwarding` | forwarding:write + sip:create + sip:credentials:read | `PATCH /api/v1/dids/{didId}/forwarding` |\n| `delete_did_forwarding` | forwarding:delete | `DELETE /api/v1/dids/{didId}/forwarding` |\n| `get_did_sip_credentials` | sip:credentials:read | `GET /api/v1/dids/{didId}/sip-credentials` |\n| `list_calls` | calls:read | `GET /api/v1/calls` |\n| `list_sms_messages` | sms:read | `GET /api/v1/sms/messages` |\n| `send_sms` | sms:send | `POST /api/v1/sms/messages` |\n\n\nEm ofertas temporárias de números móveis, os ciclos disponíveis e a inclusão de SMS podem variar. Consulte sempre a cotação: did.smsEnabled informa se o plano inclui SMS, e acknowledgements.mobileMonthlySms.required indica se é necessário enviar mobileMonthlySmsAcknowledged=true após o aceite do cliente. Apesar do nome, esses campos se aplicam a qualquer ciclo móvel sem SMS. A cotação não garante a oferta; as condições são conferidas novamente ao criar o pagamento. Pagamentos emitidos durante a oferta preservam suas condições até a validade do próprio pagamento. Após o encerramento, novas compras seguem as condições vigentes, e contratações concluídas mantêm seu ciclo e a condição de SMS nas renovações enquanto permanecerem vigentes. Isso não representa garantia de preço. Conta apta, verificação, limites, estoque disponível e um número por pedido continuam obrigatórios.\n\n\n409 checkout_initializing indica que outra compra da conta ainda está sendo preparada. Aguarde alguns instantes e repita com a mesma Idempotency-Key e o mesmo corpo. Essa espera ocorre somente na criação, não durante os 15 minutos para pagamento.\n\n409 order_expired indica que a resposta de criação chegou após o prazo do pedido. Nenhum QR Code ou link vencido é entregue. Consulte details.orderId antes de iniciar outra compra e não pague instruções antigas.\n\n\n## Conta em análise de segurança\n\nQuando a conta estiver em análise de segurança, consultas e operações são bloqueadas com HTTP 403 e código account_security_review, inclusive com tokens já emitidos. Não tente contornar a restrição ou repetir automaticamente. O acesso retorna após liberação administrativa; outros limites e restrições continuam aplicáveis. Webhooks pendentes e eventos do período são suprimidos sem reenvio automático. Cobranças, vencimentos e expiração seguem as regras existentes. Acompanhe a análise em https://novodid.com/seguranca/atendimento. Durante o bloqueio, somente o chamado de segurança vinculado à análise permite leitura, respostas e anexos pelo site autenticado; outros chamados e a API pública continuam indisponíveis. O cliente aguarda o primeiro contato da equipe e pode enviar uma única resposta a cada nova mensagem do suporte, incluindo os anexos solicitados.\n\nA confirmação do telefone e da posse atual também é exigida nas operações de encaminhamento, credenciais SIP, chamadas e SMS. A indisponibilidade de leitura não altera o contrato financeiro.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"44067300","team":7324361,"collectionId":"977d3f09-0c15-4392-b897-06032f40645b","publishedId":"2sBYB2rnYZ","public":true,"publicUrl":"https://documenter-api.postman.tech/view/44067300/2sBYB2rnYZ","privateUrl":"https://go.postman.co/documentation/44067300-977d3f09-0c15-4392-b897-06032f40645b","customColor":{"top-bar":"ffffff","right-sidebar":"f7faf8","highlight":"0b8c5e"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"value":"NovoDID API pública — Português (Brasil)","name":"title"},{"value":"NovoDID API pública — Português (Brasil) — API v1","name":"description"}],"appearance":{"themes":[{"colors":{"top-bar":"ffffff","right-sidebar":"f7faf8","highlight":"0b8c5e"},"name":"light"},{"colors":{"top-bar":"141414","right-sidebar":"171717","highlight":"4ade9f"},"name":"dark"}],"default":"light"}},"version":"8.12.10","publishDate":"2026-09-23T22:47:07.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"NovoDID API pública — Português (Brasil)","description":"NovoDID API pública — Português (Brasil) — API v1"},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/cfe27658cbb9355b58d594f01b004532290df4ad02f2f34e7cf8310736ee3527","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sBYB2rnYZ"}