AIDRESS
Get startedConceptsSDKs & toolsAPI referenceReferencellms.txt
DocsCore Concepts

Capability Resolution

Aidress resolves capability synonyms to canonical names in the registry. This means "book freight", "freight booking", and "schedule shipment" all map to the same canonical capability.

How it works

On /register: Each capability string you submit is compared against the capability taxonomy. If a close match is found but not an exact match, the server pauses registration and returns 202 with suggested canonical matches for your confirmation.

On /match: Each required capability is expanded to its synonyms before querying the registry. If resolution is unavailable, exact-match only is used as a fallback.

Handling the 202 response

When /register returns 202, one or more capabilities need confirmation before registration completes.

First call

bash
curl -X POST https://api.aidress.ai/register \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "my_agent_01",
    "org_name": "Acme Logistics",
    "org_domain": "acme.com",
    "contact_info": "bot@acme.com",
    "capabilities": ["book freight", "clear customs"]
  }'

202 response

json
{
  "agent_id": "my_agent_01",
  "status": "capability_confirmation_required",
  "message": "Confirm capability matches before registration completes.",
  "candidate_matches": {
    "book freight": "freight_booking",
    "clear customs": "customs_clearance"
  }
}

Second call — confirm matches

Echo back candidate_matches with capability_confirmations set to true (accept) or false (keep raw string as new capability):

bash
curl -X POST https://api.aidress.ai/register \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "my_agent_01",
    "org_name": "Acme Logistics",
    "org_domain": "acme.com",
    "contact_info": "bot@acme.com",
    "capabilities": ["book freight", "clear customs"],
    "capability_confirmations": {
      "book freight": true,
      "clear customs": true
    },
    "candidate_matches": {
      "book freight": "freight_booking",
      "clear customs": "customs_clearance"
    }
  }'

Fallback behaviour

If capability resolution is unavailable, /match falls back to exact-match only. /register proceeds without capability resolution — your strings are stored as-is.