uExcelerate AI Service (1.0.0)

Download OpenAPI specification:

AI / ML microservice — coach matching, growth areas, IDP, tool reports, comparative analytics, chat support

AI - Actions

AI suggestions for action items

Get AI-suggested actions based on a goal.

Generates AI-suggested next actions based on user goals + recent activity. Backed by GPT-4 via the OpenAI service module. If the goal value is UNKNOWN or empty, fallback action generation is used (no goal context).

Authorizations:
bearerAuth
Request Body schema: application/json
required
action
string

Free-form text input for the AI prompt (current/anchor action)

goal
string

User goal text (set to UNKNOWN or empty to skip goal-anchored generation)

Responses

Request samples

Content type
application/json
{
  • "action": "Run weekly 1:1 with my manager",
  • "goal": "Improve communication with stakeholders"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

Suggest skills associated with a given action.

Generates AI-suggested next actions based on user goals + recent activity. Backed by GPT-4 via the OpenAI service module. Returns a list of behavioural skills/competencies inferred from the supplied action description.

Authorizations:
bearerAuth
Request Body schema: application/json
required
action
string

Free-form text input for the AI prompt (the action to extract skills from)

Responses

Request samples

Content type
application/json
{
  • "action": "Lead a cross-functional retrospective"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

AI - Growth Areas

Growth area inference and recommendations

Generate AI-inferred growth areas from learner data.

Infers user growth areas from assessment + interaction history. Used by the coach to populate the discovery flow. Accepts a learner/tool data payload (assessment scores, low-rated competencies, prior feedback) and returns ranked growth areas with rationale.

Authorizations:
bearerAuth
Request Body schema: application/json
required
assessmentData
object

Free-form text input for the AI prompt (scores, behaviours, free-text)

learnerId
integer

Internal user ID

toolId
integer

Tool ID (assessment instrument)

Responses

Request samples

Content type
application/json
{
  • "assessmentData": {
    },
  • "learnerId": 12345,
  • "toolId": 678
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

Coach search step 1 - initial goal-based matching.

AI-powered coach recommendation. Ranks coaches by match score against the learner's profile. Step 1 takes the learner's high-level goal and returns an initial candidate pool plus suggested follow-up questions for step 2.

Authorizations:
bearerAuth
Request Body schema: application/json
required
goal
string

User prompt text - free-form goal statement

Responses

Request samples

Content type
application/json
{
  • "goal": "Become a better people manager"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

Coach search step 2 - refine matching with work context.

AI-powered coach recommendation. Ranks coaches by match score against the learner's profile. Step 2 narrows the candidate set using the learner's current work context (role, team, challenges).

Authorizations:
bearerAuth
Request Body schema: application/json
required
goal
string

User prompt text - free-form goal statement (carried from step 1)

work
string

Free-form text input for the AI prompt (current role / work context)

Responses

Request samples

Content type
application/json
{
  • "goal": "Become a better people manager",
  • "work": "Engineering manager leading a team of 8 across two timezones"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

Coach search step 3 - finalize matching with achievements.

AI-powered coach recommendation. Ranks coaches by match score against the learner's profile. Step 3 finalises the recommendation by incorporating the learner's achievements / strengths.

Authorizations:
bearerAuth
Request Body schema: application/json
required
achievements
string

Free-form text input for the AI prompt (notable accomplishments / strengths)

goal
string

User prompt text - free-form goal statement (carried forward)

work
string

Free-form text input for the AI prompt (current role / work context)

Responses

Request samples

Content type
application/json
{
  • "achievements": "Shipped a major platform migration; mentored 3 senior engineers",
  • "goal": "Become a better people manager",
  • "work": "Engineering manager leading a team of 8"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

Match coachee statements to skill competencies for coach suggestion.

AI-powered coach recommendation. Ranks coaches by match score against the learner's profile. This endpoint maps the learner's free-form statements (typically three discovery-flow answers) to canonical behavioural skill competencies used downstream by the matcher.

Authorizations:
bearerAuth
Request Body schema: application/json
required
statements
Array of strings

Free-form text input for the AI prompt - the three coachee statements from discovery

Responses

Request samples

Content type
application/json
{
  • "statements": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

AI - Comparative Report

Cross-cohort comparative analytics

Universal comparative report endpoint with conditional authentication.

Cross-cohort analytics comparing tool/program performance against benchmarks. Supports two auth modes: (1) JWT bearer token (standard in-app calls); (2) encrypted token field in body (for emailed report links — JWT is skipped). When token is supplied, the handler auto-detects PDF tokens (multiple tool IDs) vs single-tool tokens.

Authorizations:
bearerAuth
Request Body schema: application/json
required
HighGainAreas
Array of objects

List of high-gain area objects to surface in the report

learnerId
integer

Internal user ID

requestedBy
integer

Internal user ID of the requester (defaults to learnerId)

token
string

One-time access token (used when no JWT, e.g., emailed report links). Encrypted regular or PDF token. If present, JWT auth is skipped.

toolId
integer

Tool ID (assessment instrument being compared)

Responses

Request samples

Content type
application/json
{
  • "HighGainAreas": [
    ],
  • "learnerId": 12345,
  • "requestedBy": 12345,
  • "toolId": 678
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

AI - Email

AI-generated email content

Send a support email with optional attachments.

AI-generated personalized email content for outreach or follow-up. This endpoint dispatches a support email (to support@uexcelerate.com) with the supplied subject + body + optional attachments.

Authorizations:
bearerAuth
Request Body schema: application/json
required
attaches
Array of strings

Optional list of attachment URLs / paths

description
string

Free-form text input for the AI prompt - email body / message content

subject
string

Email subject line

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Email sent",
  • "success": true
}

AI - Find GP

Growth partner matching

Find growth partners based on level, industry, and functions.

Growth partner (peer) matching algorithm. Returns ranked candidate peers (growth partners) for the requesting learner, filtered by seniority level, industry, and function/department.

Authorizations:
bearerAuth
Request Body schema: application/json
required
functions
Array of strings

List of target functions / departments

industry
string

Target industry filter

level
string

Target seniority / leadership level for the partner

Responses

Request samples

Content type
application/json
{
  • "functions": [
    ],
  • "industry": "Software & Technology",
  • "level": "Manager"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

AI - Gemini Support

Google Gemini chat backend

Get full Gemini chat history for a user.

Google Gemini chat backend for in-app coaching conversations. Returns the complete persisted chat history (prior conversation messages, array of {role, content}) for the given user/role pair.

Authorizations:
bearerAuth
Request Body schema: application/json
required
user_id
string

Internal user ID (stringified)

user_role
string

User role (e.g. coach, coachee, admin)

Responses

Request samples

Content type
application/json
{
  • "user_id": "12345",
  • "user_role": "coachee"
}

Response samples

Content type
application/json
{
  • "history": [
    ],
  • "status": "success"
}

Generate a Gemini chatbot response for a user prompt.

Google Gemini chat backend for in-app coaching conversations. Submits the user's prompt (with role + persisted conversation context) and returns the assistant's reply.

Authorizations:
bearerAuth
Request Body schema: application/json
required
prompt
string

User prompt text

user_id
string

Internal user ID (stringified)

user_role
string

User role (e.g. coach, coachee, admin)

Responses

Request samples

Content type
application/json
{
  • "prompt": "How do I prepare for my first 1:1?",
  • "user_id": "12345",
  • "user_role": "coachee"
}

Response samples

Content type
application/json
{
  • "response": "Start by reviewing the team member's recent goals...",
  • "status": "success"
}

Get recent Gemini conversation summary for a user.

Google Gemini chat backend for in-app coaching conversations. Returns a condensed summary of the user's recent conversation - used to seed context on the chat resume screen.

Authorizations:
bearerAuth
Request Body schema: application/json
required
user_id
string

Internal user ID (stringified)

user_role
string

User role (e.g. coach, coachee, admin)

Responses

Request samples

Content type
application/json
{
  • "user_id": "12345",
  • "user_role": "coachee"
}

Response samples

Content type
application/json
{
  • "recent": "Discussed strategies for delegating to senior team members.",
  • "status": "success"
}

AI - Goals

Goal suggestion and tracking AI

Simple hello world test endpoint.

Goal suggestion and tracking AI. Health-check / liveness endpoint that returns a static greeting - useful for verifying the AI service is reachable through the gateway.

Responses

Response samples

Content type
text/plain
Hello, World!

Complete a partial goal into a full goal sentence.

Goal suggestion and tracking AI. Expands a partial goal stem into a full, well-formed SMART-style goal sentence - powers the goal-completion suggestion in the goal editor UI.

Authorizations:
bearerAuth
Request Body schema: application/json
required
goals
string

Free-form text input for the AI prompt - partial goal text

Responses

Request samples

Content type
application/json
{
  • "goals": "Improve communication with"
}

Response samples

Content type
application/json
{
  • "response": "Improve communication with stakeholders by running weekly status updates."
}

Generate AI-suggested goals for given goals/skills and level.

Goal suggestion and tracking AI. Generates a ranked list of SMART goal candidates for a learner, given a seed goal/skill set and the learner's leadership level.

Authorizations:
bearerAuth
Request Body schema: application/json
required
goals
string

Free-form text input for the AI prompt - existing goal text or skills list

level
string

Target leadership level (defaults to "Individual Contributor, Manager, Team Lead")

Responses

Request samples

Content type
application/json
{
  • "goals": "Strategic Thinking, Decision Making",
  • "level": "Manager"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

Evaluate whether a goal is SMART (not currently in use).

Goal suggestion and tracking AI. Returns a SMART-criteria evaluation (specific/measurable/achievable/relevant/time-bound) for the supplied goal text. Endpoint is currently not wired into the UI - retained for future use.

Authorizations:
bearerAuth
Request Body schema: application/json
required
goals
string

Free-form text input for the AI prompt - the goal sentence to evaluate

Responses

Request samples

Content type
application/json
{
  • "goals": "I want to improve my leadership"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Evaluated",
  • "success": true
}

Suggest single-word goal autocomplete (not currently in use).

Goal suggestion and tracking AI. Single-word autocomplete helper for the goal entry field. Endpoint is currently not wired into the UI - superseded by /complete-goal.

Authorizations:
bearerAuth
Request Body schema: application/json
required
goals
string

Free-form text input for the AI prompt - partial goal text

Responses

Request samples

Content type
application/json
{
  • "goals": "Imp"
}

Response samples

Content type
application/json
{
  • "response": "Improve"
}

Suggest skills relevant for achieving a goal (not currently in use).

Goal suggestion and tracking AI. Returns a list of behavioural skills / competencies relevant to the supplied goal. Endpoint is currently not wired into the UI - retained for future use.

Authorizations:
bearerAuth
Request Body schema: application/json
required
goal
string

Free-form text input for the AI prompt - the goal to derive skills for

Responses

Request samples

Content type
application/json
{
  • "goal": "Run a quarterly strategy review with team leads"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Suggest the next word continuation given an input word.

Goal suggestion and tracking AI. Token-level next-word predictor used inline as the learner types - lighter weight than /complete-goal, called per keystroke at typing pauses.

Authorizations:
bearerAuth
Request Body schema: application/json
required
word
string

Free-form text input for the AI prompt - current word/stem

Responses

Request samples

Content type
application/json
{
  • "word": "Develop"
}

Response samples

Content type
application/json
{
  • "response": "leadership"
}

AI - GPT Support

OpenAI GPT chat backend

Send a prompt to the GPT chat assistant.

OpenAI GPT chat backend (parallel to Gemini for A/B/redundancy). Submits a single user prompt to the assistant (continuing the user's persisted thread) and returns the assistant reply.

Authorizations:
bearerAuth
Request Body schema: application/json
required
prompt
string

User prompt text

user_id
string

Internal user ID (stringified)

user_role
string

User role (e.g. coach, coachee, admin)

Responses

Request samples

Content type
application/json
{
  • "prompt": "Suggest 3 strategies to delegate without micromanaging.",
  • "user_id": "12345",
  • "user_role": "coachee"
}

Response samples

Content type
application/json
{
  • "response": "1) Clarify decision rights..."
}

Get the GPT conversation for a specific user/role.

OpenAI GPT chat backend (parallel to Gemini for A/B/redundancy). Fetches the active conversation record (thread + metadata) for the given user/role pair - distinct from /chat_history which returns only the message list.

Authorizations:
bearerAuth
Request Body schema: application/json
required
user_id
string

Internal user ID (stringified)

user_role
string

User role (e.g. coach, coachee, admin)

Responses

Request samples

Content type
application/json
{
  • "user_id": "12345",
  • "user_role": "coachee"
}

Response samples

Content type
application/json
{
  • "conversation": {
    }
}

Start a new GPT chat thread for a user.

OpenAI GPT chat backend (parallel to Gemini for A/B/redundancy). Provisions a new conversation thread for the given user/role and returns its thread ID, which is then used by /chat.

Authorizations:
bearerAuth
Request Body schema: application/json
required
user_id
string

Internal user ID (stringified)

user_role
string

User role (e.g. coach, coachee, admin)

Responses

Request samples

Content type
application/json
{
  • "user_id": "12345",
  • "user_role": "coachee"
}

Response samples

Content type
application/json
{
  • "thread_id": "thread_abc123"
}

AI - Learner IDP

Individual development plan AI

Generate blind-spot insights and development plan for a learner.

Individual Development Plan generation. Generates narrative blind-spot insights and a structured development plan, given the learner's identified blind-spot competencies plus the subset they scored lowest on.

Authorizations:
bearerAuth
Request Body schema: application/json
required
blindSpots
Array of strings

All blind-spot competencies identified for the learner

lowestRatedBlindSpots
Array of strings

Subset of blind-spots with the lowest assessment scores

Responses

Request samples

Content type
application/json
{
  • "blindSpots": [
    ],
  • "lowestRatedBlindSpots": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

AI - Notes

AI summarization of coaching notes

Summarize coaching notes text.

AI summarization of free-form coaching notes. Accepts raw notes text and returns a structured summary (key themes, action items, follow-ups).

Authorizations:
bearerAuth
Request Body schema: application/json
required
notes
string

Free-form text input for the AI prompt - the notes content to summarise

Responses

Request samples

Content type
application/json
{
  • "notes": "Discussed Q3 priorities. Coachee struggling with delegation."
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Summarize coaching notes from a file URL (PDF, DOCX, TXT, PPTX).

AI summarization of free-form coaching notes. Auto-detects the file type from the URL's extension and routes to the matching extract+summarise pipeline. Supported extensions: .pdf, .doc, .docx, .txt, .ppt, .pptx.

Authorizations:
bearerAuth
Request Body schema: application/json
required
url
string <uri>

File URL (.pdf, .doc, .docx, .txt, .ppt, .pptx)

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "response": {
    }
}

Summarize coaching notes from an image URL.

AI summarization of free-form coaching notes. Performs OCR + summary on a handwritten / scanned note image (e.g. whiteboard photo) and returns the structured summary.

Authorizations:
bearerAuth
Request Body schema: application/json
required
url
string <uri>

Publicly accessible image URL (S3 presigned or CDN link)

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "response": {
    }
}

AI - Report Insights

Tool report insight generation

Generate AI coaching reflection insights from a tool report.

Tool report insight generation - interprets numeric scores into qualitative narrative. Generates coaching reflections (themes, hypotheses, conversation starters) for a learner's tool report, given the tool, learner, and requester IDs.

Authorizations:
bearerAuth
Request Body schema: application/json
required
learnerId
integer

Internal user ID

requestedBy
integer

Internal user ID of the requester (defaults to learnerId)

toolId
integer

Tool ID (assessment instrument)

Responses

Request samples

Content type
application/json
{
  • "learnerId": 12345,
  • "requestedBy": 12345,
  • "toolId": 678
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

Generate AI coaching reflections using an encrypted token (no JWT).

Tool report insight generation - interprets numeric scores into qualitative narrative. Token-authenticated variant for emailed report links; no JWT required. The encrypted token carries toolId, learnerId, and requestedBy.

Request Body schema: application/json
required
token
string

One-time access token (used when no JWT, e.g., emailed report links). Encrypted token containing toolId / learnerId / requestedBy.

Responses

Request samples

Content type
application/json
{
  • "token": "enc::eyJhbGciOi..."
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Generated",
  • "success": true
}

AI - Tools

AI tool generation and management

Generate an AI-suggested tool (e.g. likert assessment) based on competencies and category.

AI tool generation (custom assessment / reflection tool builder). Composes a complete assessment instrument (questions + scale) given a target leadership level, competency set, tool category, and response style (defaults to Likert).

Authorizations:
bearerAuth
Request Body schema: application/json
required
level
string

Target leadership level for the tool

skills
Array of strings

Competencies / skills the tool should assess

toolCategory
string

Tool category (e.g. self-assessment, 360, reflection)

toolType
string
Default: "likert"

Response scale style for the tool (defaults to "likert")

Responses

Request samples

Content type
application/json
{
  • "level": "Manager",
  • "skills": [
    ],
  • "toolCategory": "self-assessment",
  • "toolType": "likert"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}