Purple Talent API Documentation

Machine-readable OpenAPI 3.0 specification: https://marketplace.moveworks.com/api/purple-suite/purple-talent/openapi.json

The consolidated all-apps document at https://marketplace.moveworks.com/api/purple-suite/openapi.json can be narrowed to this app with ?apps=purple-talent, or combined with other apps comma-separated (e.g. ?apps=purple-talent,itsm).

Overview

Mock of external talent-intelligence MCP tools. Tool surface includes original 6 confirmed tools plus 15 extended Studio tools. All data is deterministic per instance — see ./evalFixture.ts. See docs/superpowers/specs/2026-07-13-purple-talent-mock-design.md for the original design specs and purple-talent-studio-tool-mocking-reference.md for the extended tools specifications. --- **Acting as a user (`X-PS-Impersonate-User`).** Every endpoint accepts an optional `X-PS-Impersonate-User` request header whose value is the email of the instance user to act as. The effective user resolves in this order: the header if present, else the instance's configured default MCP user, else none. User-scoped paths additionally accept the literal `me` in place of an email, and Graph-style apps also serve `/me/…` twins of their `/users/{email}/…` paths that resolve the same way. This header is honored by all operations but is intentionally omitted from each operation's parameter list so it is not surfaced as a per-tool argument by MCP clients; see the `ImpersonateUser` entry under `components.parameters`.

Endpoints

POST /api/purple-suite/purple-talent/search_people

Parse a free-text candidate search into criteria and return a search_parameters_ref (search_people)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • query string

Responses

200
Parse a free-text candidate search into criteria and return a search_parameters_ref (search_people)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/estimate_people_pool

Return the candidate pool size for a search_parameters_ref (estimate_people_pool)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • search_parameters_ref string
  • data_source string

Responses

200
Return the candidate pool size for a search_parameters_ref (estimate_people_pool)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/analyze_people_pool

Return a term-frequency breakdown (e.g. skills, titles) over a search_parameters_ref's pool (analyze_people_pool)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • search_parameters_ref string
  • fields array

    array of:

  • field_analysis_limit number
  • data_source string

Responses

200
Return a term-frequency breakdown (e.g. skills, titles) over a search_parameters_ref's pool (analyze_people_pool)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/analyze_company_role_flow

Return hire/departure headline + top sources for a company + role scope, synchronously (analyze_company_role_flow)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • target_company string
  • direction string
  • role_scope string
  • title_keywords array

    array of:

  • window object
  • top_n number

Responses

200
Return hire/departure headline + top sources for a company + role scope, synchronously (analyze_company_role_flow)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/count_global_jobs

Count global job postings matching company/query/location/status filters (count_global_jobs)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • company_queries array

    array of:

  • query string
  • location_query string
  • status_codes array

    array of:

Responses

200
Count global job postings matching company/query/location/status filters (count_global_jobs)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/global_jobs_by_query

Paginated search over the global job-postings corpus (global_jobs_by_query)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • query string
  • filters object
  • page number
  • hits_per_page number
  • strict_filter_validation boolean

Responses

200
Paginated search over the global job-postings corpus (global_jobs_by_query)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/find_tools

Search for available tools by name or description (find_tools)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • query string

Responses

200
Search for available tools by name or description (find_tools)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/list_skills

Get the skill taxonomy and available skills (list_skills)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • limit number

Responses

200
Get the skill taxonomy and available skills (list_skills)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/load_skill

Load details for a specific skill (load_skill)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • skill_id string

Responses

200
Load details for a specific skill (load_skill)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/resolve_company

Resolve company information by name or domain (resolve_company)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • companies_info array

    array of:

Responses

200
Resolve company information by name or domain (resolve_company)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/scout_people_pool

Advanced people pool search with filtering (scout_people_pool)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • query string
  • company_meta_refs array

    array of:

Responses

200
Advanced people pool search with filtering (scout_people_pool)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/talent_pool_deep_research

Comprehensive talent pool analysis (talent_pool_deep_research)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • icp_id string

Responses

200
Comprehensive talent pool analysis (talent_pool_deep_research)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/preview_people

Fetch individual candidate profiles (preview_people)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • search_parameters_ref string
  • limit number

Responses

200
Fetch individual candidate profiles (preview_people)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/company_metrics

Get aggregated company statistics (company_metrics)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • company_id string

Responses

200
Get aggregated company statistics (company_metrics)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/analyze_company_workforce_trend

Time-series workforce trend analysis (analyze_company_workforce_trend)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • company string
  • year_start number
  • year_end number

Responses

200
Time-series workforce trend analysis (analyze_company_workforce_trend)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/web_search

Search the web for information (web_search)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • query string
  • max_searches number

Responses

200
Search the web for information (web_search)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/create_artifact

Create and store an analysis artifact (create_artifact)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • artifact_type string
  • data object

Responses

200
Create and store an analysis artifact (create_artifact)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/create_project_from_search_parameters

Create a project from search parameters (create_project_from_search_parameters)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • search_parameters_ref string
  • name string
  • description string

Responses

200
Create a project from search parameters (create_project_from_search_parameters)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/studio_list_workflows

List available workflow definitions (studio_list_workflows)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • runnable_only boolean

Responses

200
List available workflow definitions (studio_list_workflows)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/studio_run_workflow

Execute a workflow asynchronously (studio_run_workflow)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • workflow_key string
  • inputs object

Responses

200
Execute a workflow asynchronously (studio_run_workflow)

application/json

object

400
Bad request

POST /api/purple-suite/purple-talent/studio_get_run_status

Poll the status of an executing workflow (studio_get_run_status)

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • run_id string required

Responses

200
Poll the status of an executing workflow

application/json

object

POST /api/purple-suite/purple-talent/wf__succession_planning_workflow_fbf487

Execute Succession Planning Workflow

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • inputs object

Responses

200
Succession Planning Workflow execution result

application/json

object

POST /api/purple-suite/purple-talent/wf__role_talent_inflow_outflow_analysis_e80ffb

Execute Role Talent Inflow/Outflow Analysis

Parameters

NameInTypeRequiredDescription
X-Instance-IDheaderstringyes

Request body

application/json — required

  • inputs object

Responses

200
Role Talent Inflow/Outflow Analysis execution result

application/json

object