https-outcalls

Perform HTTPS GET and POST requests from canisters via the IC management canister.

Updated Dec 18, 2025
One-click install
npx skills add https://github.com/Looping-AI/looping-control-plane --skill https-outcalls-looping-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: https-outcalls
Source: https://github.com/Looping-AI/looping-control-plane/tree/main/.agents/skills/https-outcalls
Command: npx skills add https://github.com/Looping-AI/looping-control-plane --skill https-outcalls-looping-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

HTTPS outcalls enable canisters to call external web services directly from on-chain code, unlocking dynamic data, external integrations, and cross-service workflows while maintaining consensus through deterministic transforms that strip non-deterministic fields.

Core Features & Use Cases

  • Deterministic outcalls via a transform function that strips non-deterministic data (timestamps, IDs) for consensus.
  • Support for GET and POST requests with configurable max_response_bytes and request headers to control costs, security, and reliability.
  • Use cases include fetching price data, posting analytics, and integrating third-party APIs into on-chain logic.

Quick Start

Configure a canister to perform an HTTPS GET against a public API and apply a transform to normalize the response for consensus.

Frequently Asked Questions about https-outcalls

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make HTTPS outcalls from an IC canister to external APIs?

To make HTTPS outcalls from an IC canister, you use the IC management canister's http_request API to send GET or POST requests to external web services directly from on-chain code.

Why do HTTPS outcalls require a transform function for IC consensus?

HTTPS outcalls require a transform function for IC consensus because it strips non-deterministic data like timestamps and IDs, ensuring all subnet nodes process identical responses to reach agreement.

Can I configure request headers and response size limits for canister HTTPS outcalls?

Yes, you can configure request headers and set max_response_bytes for canister HTTPS outcalls to control payload size, security, and reliability while fetching dynamic data from external web services.

How are cycles calculated for making HTTPS outcalls on the Internet Computer?

Cycles for HTTPS outcalls are calculated automatically by the IC management canister's http_request API, accounting for the request payload and the configured max_response_bytes limit.

When do I need to use HTTPS outcalls in my on-chain logic?

You need to use HTTPS outcalls when your on-chain logic requires dynamic data, such as fetching price data, posting analytics, or integrating third-party APIs into canister workflows.

What is the best way to handle non-deterministic responses in IC canister HTTPS requests?

The best way to handle non-deterministic responses in IC canister HTTPS requests is to apply a transform function that normalizes the data by stripping variable fields before consensus is reached.