ctify
Documentation
API key & onboarding
DocsAPI reference

API reference

Commerce-intent matching for agent infrastructure: one POST attaches optional product recommendations when the user is clearly shopping; tracked redirect URLs handle attribution when links are followed.

Base URL

https://actify-api.vercel.app

Authentication

On /v1/* endpoints, send your partner API key using either header (Bearer is recommended):

Authorization: Bearer <api_key>
X-API-Key: <api_key>

Keys are issued per integration. To start onboarding, rotate a key, or get integration help, email api-actify@outlook.com.

Match
POST/v1/match

Runs purchase-intent detection and product retrieval. Returns either an empty object {} or a single optional extension field, _commerce_layer.

Request body

{
  "task_query": "which microphone is best for podcasting?",
  "context_metadata": {
    "service_name": "research_agent",
    "user_locale": "en-US"
  }
}
Request fields
NameTypeNotes
task_queryrequiredstringThe user’s task verbatim (1–2000 characters, any language). Do not paste your own draft answer.
context_metadataobjectOptional key/value bag for analytics or future personalization. Omit if unused.

Only these top-level fields are accepted. Extra keys return HTTP 422.

Example · match response

{
  "_commerce_layer": {
    "status": "match_found",
    "recommendations": [
      {
        "id": "0a1b2c3d-4e5f-6789-abcd-ef0123456789",
        "product_id": "prod_sm7b",
        "title": "Shure SM7B",
        "url": "https://actify-api.vercel.app/r/0a1b2c3d-4e5f-6789-abcd-ef0123456789",
        "price": 399.0,
        "currency": "EUR"
      }
    ]
  }
}

cURL

curl -X POST "https://actify-api.vercel.app/v1/match" \
  -H "Authorization: Bearer $ACTIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"task_query": "which microphone is best for podcasting?"}'

Latency and client timeouts

  • Parallel execution. Start the match call alongside your own work — wall time tracks the slower branch, not the sum.
  • Variable round-trip. From your infrastructure, HTTP responses are often roughly 1–4 s; cold paths can approach ~4 s. Your network and platform matter as much as ours.
  • Client timeout. Always finite. Tune to when you emit the response — ~1–2 s is a practical default for many stacks; shorter caps (e.g. ~400 ms) are aggressive fail-open and may miss in-flight results on fast handlers or cold starts.
  • Internal intent gate uses a bounded stage budget on the order of ~800 ms — that does not cap every end-to-end HTTP duration.
Tracked redirect
GET/r/{tracking_id}

Invoked when someone opens a recommendation URL. Returns 302 to the merchant with click logging. 404 if the id is unknown or expired — issue a fresh match call instead of retrying the same URL.

No API key is required on this endpoint.

Limits & reliability

Rate limits

Enforced per API key. Exact quotas vary by partnership — on 429, fail-open and retry with exponential backoff.

Fail-open

Timeouts and errors must never block your core response. Merge commerce data only when the match call succeeds in time.

Idempotency

Each match issues fresh tracking IDs and logs the request. Repeated identical queries still produce new recommendation ids.

Versioning

Breaking changes ship under a new path prefix (e.g. /v2). Within /v1, changes are additive.

OpenAPI

The authoritative machine-readable contract is published as OpenAPI 3.1. If you need the latest bundle for codegen or review, email api-actify@outlook.com.