Invoke an athlete-scoped AI Assistant tool
Invokes one of six Laravel-owned tools. Athlete identity is derived only from the signed X-Mogl-Turn-Token and is never accepted in the request body. Both gateway credentials are required. A valid invocation returns HTTP 200 for either a successful tool result or an expected typed domain error. get_portfolio supports bounded overview, count, list, and guidance actions, default, recent-hire, or pending-invitation ordering, and page sizes from 1 to 20; omitted actions retain legacy list behavior, while positive offsets require list. The newest pending invitation uses segment=invited, lifecycle=all, actions=[list], sort=invited_at_desc, and page_size=1. Proposal tools are review-only. propose_brand_draft accepts only natural brand-facing text; known internal reason, telemetry, tool, or routing namespaces return the HTTP-200 invalid_params domain envelope without persistence. propose_support accepts the underlying issue rather than a contact instruction; its optional deal ID is host-bound and reauthorized, and Laravel renders trusted athlete, Brand, Deal, and Deal ID text.
Authorizations
Server-to-Server API Key for internal/lambda/cron calls
Signed, short-lived Athlete Assistant turn token. Required together with X-API-KEY; athlete identity is derived from this token and never from tool input.
Path Parameters
Closed Laravel tool name. search_kb is Python-local and is not available through this route.
get_portfolio, search_deals, get_deal, get_timeline, propose_brand_draft, propose_support "get_portfolio"
Body
Input must match the schema for the selected path tool. Unknown properties are rejected; athlete identity is transport-owned.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
Normalized portfolio request. Omitted actions preserve the legacy effective default [list]. A positive offset is valid only when the effective action set includes list.
all, active, work_remaining, in_progress, submitted, resubmit_needed, awaiting_payment, applied, invited, paid, voided, cancelled, rejected "work_remaining"
all, current, historical "all"
Bounded row sort. hired_at_desc is reserved for explicit recent-hire intent with lifecycle=current, segment=all, and page_size=1. invited_at_desc is reserved for the newest pending invitation (segment=invited, lifecycle=all, page_size=1).
default, hired_at_desc, invited_at_desc "hired_at_desc"
Maximum number of authorized rows returned for a list action.
1 <= x <= 201
Backend-order offset. Positive offsets are continuation pages and require the effective list action.
0 <= x <= 100000
Requested deterministic output actions. The bounded loop sends these explicitly; omission retains legacy list behavior.
1 - 4 elementsoverview, count, list, guidance Optional trusted prior count used only for drift detection; it never limits current rows.
0 <= x <= 100003
Response
Tool success or expected typed domain error. Inspect the ok discriminator.