MAP Docs
MEAL

SDKs

Rust, TypeScript and HTTP for MEAL.

Every operation on MEAL is reachable from every shipped SDK plus the raw HTTP wire.

Rust

use map_sdk::Client;
use serde_json::json;

let client = Client::from_env()?;
let resp = client
    .dispatch(
        "MEAL",
        "v1.0.0",
        "meter",
        json!({
  "dim": "tokens",
  "amount": 1024
}),
    )
    .await?;
println!("{:#?}", resp);

TypeScript

import { MapClient } from '@l1fe/map';

const map = new MapClient({
  apiKey:   process.env.MAP_API_KEY!,
  agentDid: process.env.MAP_AGENT_DID!,
  tenantId: 'org_acme'
});

const resp = await map.dispatch({
  protocol:  'MEAL',
  version:   'v1.0.0',
  operation: 'meter',
  input:     {
  "dim": "tokens",
  "amount": 1024
}
});

HTTP wire

POST /v1/dispatch HTTP/2
Host: api.multiagentic.dev
Authorization: Bearer $MAP_API_KEY
X-Agent-Did: $MAP_AGENT_DID
X-Tenant-Id: org_acme
Content-Type: application/json

{
  "protocol": "MEAL",
  "version": "v1.0.0",
  "operation": "meter",
  "input": {
    "dim": "tokens",
    "amount": 1024
  },
  "tenant_id": "org_acme"
}

All operations

  • map.dispatch(...) with operation "meter" — Record a metered event (tokens, seconds, watts) against caller account.
  • map.dispatch(...) with operation "statement" — Generate a statement for an account over a period.
  • map.dispatch(...) with operation "reconcile" — Reconcile metered events against settled payments; reports unbalances.

See SDKs for client construction, retry, trace propagation.

On this page