Skip to content

Get each profile's selection of the master

GET
/api/master/selection
curl --request GET \
--url http://127.0.0.1:8765/api/master/selection

Each profile’s selection of the master, against the master as it is now. A profile’s selection of the master is sticky: it changes only when a line it shows is edited or retired, or on a refresh. Lines the master gained since the selection was made are offered (new_lines, and offer: “3 new master lines: refresh?”), never added by themselves. attached false: the profile’s resume was replaced by hand after the selection was made, so it no longer shows it (a refresh selects again). stale: the master edited or retired a line the selection shows and the profile’s resume has not been printed again (use sync). has_selection false: the profile still shows its own resume. tailoring_basis: what a resume for a job is made from for the profile, by the one rule the tailoring itself follows: master (the job’s candidate lines of the whole master; a profile with no selection too) or profile_resume (its own resume: only when attached is false); tailoring_basis_line is the sentence for it. pending lists profiles whose first selection is being made right now (a profile created a moment ago). Ids, counts and states only: no line’s text. master is null and profiles empty when there is no master.

profile_id
string

Only this profile.

Success.

Media typeapplication/json
object
schema_version
required
Allowed value: scout-master-selection:1
key
additional properties
any
Example
{
"master": {
"content_sha256": "sha256:...",
"counts": {
"by_kind": {
"bullet": 1,
"other": 0,
"skills": 1,
"summary": 1
},
"by_strength": {
"backed": 0,
"quantified": 1,
"stated": 2
},
"entries": 1,
"ids": 4,
"items": 3,
"skills": 3
},
"parent_revision": "revision_7c1d7b9a-0d58-4f0b-8f27-91f4f6f6a2c3",
"record_id": "record_...",
"revision": 3,
"revision_id": "revision_0b6f2f0e-5a0e-4c58-9a57-2d1b6a0c1e11",
"revisions": 3,
"updated_at": "2026-10-04T10:05:00.000000Z",
"written_by": "operator"
},
"pending": [],
"profiles": [
{
"attached": true,
"changed": [],
"excludes": [],
"has_selection": true,
"label": "Staff Engineer",
"made_from_revision": 1,
"master_revision": 3,
"new_lines": [
"b-4f0c1a",
"b-91be02",
"o-77aa10"
],
"offer": "3 new master lines: refresh?",
"pending": false,
"pins": [],
"profile_id": "prof_1",
"retired": [],
"selector_version": "sel-1",
"shown": 36,
"skills": 20,
"skills_retired": [],
"source": "migration",
"stale": false,
"state": "active",
"tailoring_basis": "master",
"tailoring_basis_line": "A resume for a job is picked from your whole master resume."
}
],
"schema_version": "scout-master-selection:1"
}

Forbidden / forbidden_origin: loopback peer and Host 127.0.0.1:<port> or localhost:<port> only (Origin too on writes).

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Examplegenerated
{
"error": {
"allowed_keys": [
"example"
],
"code": "example",
"message": "example"
}
}

Profile_not_found, target_unavailable

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{
"error": {
"code": "profile_not_found",
"message": "..."
}
}

Unknown_key

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{
"error": {
"code": "unknown_key",
"message": "..."
}
}