+1 for these changes from me - sounds like a great initial (and deliverable) 
step.
Cheers,
Mike

On 10/31/26 1:03 AM, Rithwik Koul via dev wrote:
Hi all,

I'd like to work on APE 34 (external functions). I'm worried the full
scope is too large for the next release, so I'd like to
propose a smaller first version.

Proposed changes for the first version:

1. No endpoint objects or endpoint admin API yet. AT takes the URL
    (template) directly, as APE 34 already allows, and any credentials go
    in the WITH clause, the way external collections take them today:

      CREATE EXTERNAL FUNCTION weather(city)
        AT 'https://api.weather.com/v1/now'
        WITH { "bearerToken": "abc123", "method": "GET" };

2. Credential types: Basic, Bearer, OAuth client credentials, and an
    API key sent in a header of the API's choosing (e.g. x-api-key).
    Client certificates, "Local" auth and refresh intervals are left
    for later.

3. No URL whitelist or local/link-local address check in AsterixDB for
    now. A proxy, request and response size limits, default and maximum
    timeouts, and a per-NC rate limit are read from the config file.

4. The method moves from AS into WITH: "method" is "GET" or "POST", and
    for POST, "body" is "json", "form" or "formdata". This keeps the DDL
    free of new keywords. "headers" becomes a plain object.

5. No batched mode yet; each row makes its own call.

6. External functions cannot be called from feed transform functions
    in the first version.

Would these changes be OK?

Thanks,
Rithwik


Reply via email to