@smartytalent/mcp-tools 0.9.36 → 0.9.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools.json +302 -20
- package/package.json +1 -1
package/dist/tools.json
CHANGED
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
},
|
|
188
188
|
"operation": {
|
|
189
189
|
"type": "object",
|
|
190
|
-
"description": "
|
|
190
|
+
"description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): ignored by the backend and stripped on write. The ATS sync defaults live on the virtual employee's connection (POST /v1/users/{boeUserId}/connections/{ats}) and a recruitment project overrides them in job.connections; no tenant row ever carried this block and nothing reads it. Removed in a later, breaking release; declared until then because the generated model whitelists keys."
|
|
191
191
|
},
|
|
192
192
|
"feedback": {
|
|
193
193
|
"title": "TenantAttributesSettingsFeedbackSchema",
|
|
@@ -763,7 +763,7 @@
|
|
|
763
763
|
},
|
|
764
764
|
"operation": {
|
|
765
765
|
"type": "object",
|
|
766
|
-
"description": "
|
|
766
|
+
"description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): ignored by the backend and stripped on write. The ATS sync defaults live on the virtual employee's connection (POST /v1/users/{boeUserId}/connections/{ats}) and a recruitment project overrides them in job.connections; no tenant row ever carried this block and nothing reads it. Removed in a later, breaking release; declared until then because the generated model whitelists keys."
|
|
767
767
|
},
|
|
768
768
|
"feedback": {
|
|
769
769
|
"title": "TenantAttributesSettingsFeedbackSchema",
|
|
@@ -1878,7 +1878,8 @@
|
|
|
1878
1878
|
},
|
|
1879
1879
|
"connections": {
|
|
1880
1880
|
"type": "object",
|
|
1881
|
-
"additionalProperties": true
|
|
1881
|
+
"additionalProperties": true,
|
|
1882
|
+
"description": "READ-ONLY since 2026-09-24 (PLAN_BOE_CONNECTIONS): the virtual employee's connections map as stored (secret references and the entries' defaults; `self` = the Boe's own API key reference). A non-empty `connections` on POST / PATCH /v1/users is a 400 with code SM_ERROR_CONNECTIONS_DOOR: connections are managed through GET/POST/PATCH/DELETE /v1/users/{userId}/connections/{integrationId}, which tests the credentials before storing them. The raw map leaves the wire in a later, breaking release; read the door's listing instead."
|
|
1882
1883
|
},
|
|
1883
1884
|
"identities": {
|
|
1884
1885
|
"type": "array",
|
|
@@ -2225,7 +2226,8 @@
|
|
|
2225
2226
|
},
|
|
2226
2227
|
"connections": {
|
|
2227
2228
|
"type": "object",
|
|
2228
|
-
"additionalProperties": true
|
|
2229
|
+
"additionalProperties": true,
|
|
2230
|
+
"description": "READ-ONLY since 2026-09-24 (PLAN_BOE_CONNECTIONS): the virtual employee's connections map as stored (secret references and the entries' defaults; `self` = the Boe's own API key reference). A non-empty `connections` on POST / PATCH /v1/users is a 400 with code SM_ERROR_CONNECTIONS_DOOR: connections are managed through GET/POST/PATCH/DELETE /v1/users/{userId}/connections/{integrationId}, which tests the credentials before storing them. The raw map leaves the wire in a later, breaking release; read the door's listing instead."
|
|
2229
2231
|
},
|
|
2230
2232
|
"identities": {
|
|
2231
2233
|
"type": "array",
|
|
@@ -2830,6 +2832,204 @@
|
|
|
2830
2832
|
"operationId": "userIdentityOptions"
|
|
2831
2833
|
}
|
|
2832
2834
|
},
|
|
2835
|
+
{
|
|
2836
|
+
"name": "list_integrations",
|
|
2837
|
+
"description": "List Integrations",
|
|
2838
|
+
"inputSchema": {
|
|
2839
|
+
"type": "object",
|
|
2840
|
+
"properties": {}
|
|
2841
|
+
},
|
|
2842
|
+
"_meta": {
|
|
2843
|
+
"method": "GET",
|
|
2844
|
+
"path": "/v1/integrations",
|
|
2845
|
+
"operationId": "listIntegrations"
|
|
2846
|
+
}
|
|
2847
|
+
},
|
|
2848
|
+
{
|
|
2849
|
+
"name": "integrations_options",
|
|
2850
|
+
"description": "Integrations Options",
|
|
2851
|
+
"inputSchema": {
|
|
2852
|
+
"type": "object",
|
|
2853
|
+
"properties": {}
|
|
2854
|
+
},
|
|
2855
|
+
"_meta": {
|
|
2856
|
+
"method": "OPTIONS",
|
|
2857
|
+
"path": "/v1/integrations",
|
|
2858
|
+
"operationId": "integrationsOptions"
|
|
2859
|
+
}
|
|
2860
|
+
},
|
|
2861
|
+
{
|
|
2862
|
+
"name": "list_user_connections",
|
|
2863
|
+
"description": "List The Virtual Employee's Connections",
|
|
2864
|
+
"inputSchema": {
|
|
2865
|
+
"type": "object",
|
|
2866
|
+
"properties": {}
|
|
2867
|
+
},
|
|
2868
|
+
"_meta": {
|
|
2869
|
+
"method": "GET",
|
|
2870
|
+
"path": "/v1/users/{userId}/connections",
|
|
2871
|
+
"operationId": "listUserConnections"
|
|
2872
|
+
}
|
|
2873
|
+
},
|
|
2874
|
+
{
|
|
2875
|
+
"name": "user_connections_options",
|
|
2876
|
+
"description": "User Connections Options",
|
|
2877
|
+
"inputSchema": {
|
|
2878
|
+
"type": "object",
|
|
2879
|
+
"properties": {}
|
|
2880
|
+
},
|
|
2881
|
+
"_meta": {
|
|
2882
|
+
"method": "OPTIONS",
|
|
2883
|
+
"path": "/v1/users/{userId}/connections",
|
|
2884
|
+
"operationId": "userConnectionsOptions"
|
|
2885
|
+
}
|
|
2886
|
+
},
|
|
2887
|
+
{
|
|
2888
|
+
"name": "create_user_connection",
|
|
2889
|
+
"description": "Connect An Integration",
|
|
2890
|
+
"inputSchema": {
|
|
2891
|
+
"title": "UserConnectionRequestSchema",
|
|
2892
|
+
"type": "object",
|
|
2893
|
+
"description": "POST: `values` (the credential fields of the catalogue's connection schema) plus the default flags of an ATS or `default` of a job board. PATCH: the flags / `default` only (a flag sent as null clears it). Unknown keys are a 400.",
|
|
2894
|
+
"properties": {
|
|
2895
|
+
"data": {
|
|
2896
|
+
"type": "object",
|
|
2897
|
+
"properties": {
|
|
2898
|
+
"type": {
|
|
2899
|
+
"type": "string"
|
|
2900
|
+
},
|
|
2901
|
+
"attributes": {
|
|
2902
|
+
"title": "UserConnectionRequestAttributesSchema",
|
|
2903
|
+
"type": "object",
|
|
2904
|
+
"properties": {
|
|
2905
|
+
"values": {
|
|
2906
|
+
"type": "object",
|
|
2907
|
+
"additionalProperties": true,
|
|
2908
|
+
"description": "The credential fields named by the catalogue (eRecruiter: accessKey; Teamtailor: apiKey, signatureKey, stackHost, companyUuid, reviewUserId). POST only; write-only, never echoed."
|
|
2909
|
+
},
|
|
2910
|
+
"default": {
|
|
2911
|
+
"type": "boolean",
|
|
2912
|
+
"description": "Job boards only."
|
|
2913
|
+
},
|
|
2914
|
+
"syncStage": {
|
|
2915
|
+
"type": "boolean"
|
|
2916
|
+
},
|
|
2917
|
+
"syncNotes": {
|
|
2918
|
+
"type": "boolean"
|
|
2919
|
+
},
|
|
2920
|
+
"syncRatings": {
|
|
2921
|
+
"type": "boolean"
|
|
2922
|
+
},
|
|
2923
|
+
"syncTags": {
|
|
2924
|
+
"type": "boolean"
|
|
2925
|
+
},
|
|
2926
|
+
"syncReports": {
|
|
2927
|
+
"type": "boolean"
|
|
2928
|
+
},
|
|
2929
|
+
"syncConversationReports": {
|
|
2930
|
+
"type": "boolean"
|
|
2931
|
+
},
|
|
2932
|
+
"syncMessages": {
|
|
2933
|
+
"type": "boolean"
|
|
2934
|
+
}
|
|
2935
|
+
}
|
|
2936
|
+
}
|
|
2937
|
+
}
|
|
2938
|
+
}
|
|
2939
|
+
}
|
|
2940
|
+
},
|
|
2941
|
+
"_meta": {
|
|
2942
|
+
"method": "POST",
|
|
2943
|
+
"path": "/v1/users/{userId}/connections/{integrationId}",
|
|
2944
|
+
"operationId": "createUserConnection"
|
|
2945
|
+
}
|
|
2946
|
+
},
|
|
2947
|
+
{
|
|
2948
|
+
"name": "update_user_connection",
|
|
2949
|
+
"description": "Update A Connection's Defaults",
|
|
2950
|
+
"inputSchema": {
|
|
2951
|
+
"title": "UserConnectionRequestSchema",
|
|
2952
|
+
"type": "object",
|
|
2953
|
+
"description": "POST: `values` (the credential fields of the catalogue's connection schema) plus the default flags of an ATS or `default` of a job board. PATCH: the flags / `default` only (a flag sent as null clears it). Unknown keys are a 400.",
|
|
2954
|
+
"properties": {
|
|
2955
|
+
"data": {
|
|
2956
|
+
"type": "object",
|
|
2957
|
+
"properties": {
|
|
2958
|
+
"type": {
|
|
2959
|
+
"type": "string"
|
|
2960
|
+
},
|
|
2961
|
+
"attributes": {
|
|
2962
|
+
"title": "UserConnectionRequestAttributesSchema",
|
|
2963
|
+
"type": "object",
|
|
2964
|
+
"properties": {
|
|
2965
|
+
"values": {
|
|
2966
|
+
"type": "object",
|
|
2967
|
+
"additionalProperties": true,
|
|
2968
|
+
"description": "The credential fields named by the catalogue (eRecruiter: accessKey; Teamtailor: apiKey, signatureKey, stackHost, companyUuid, reviewUserId). POST only; write-only, never echoed."
|
|
2969
|
+
},
|
|
2970
|
+
"default": {
|
|
2971
|
+
"type": "boolean",
|
|
2972
|
+
"description": "Job boards only."
|
|
2973
|
+
},
|
|
2974
|
+
"syncStage": {
|
|
2975
|
+
"type": "boolean"
|
|
2976
|
+
},
|
|
2977
|
+
"syncNotes": {
|
|
2978
|
+
"type": "boolean"
|
|
2979
|
+
},
|
|
2980
|
+
"syncRatings": {
|
|
2981
|
+
"type": "boolean"
|
|
2982
|
+
},
|
|
2983
|
+
"syncTags": {
|
|
2984
|
+
"type": "boolean"
|
|
2985
|
+
},
|
|
2986
|
+
"syncReports": {
|
|
2987
|
+
"type": "boolean"
|
|
2988
|
+
},
|
|
2989
|
+
"syncConversationReports": {
|
|
2990
|
+
"type": "boolean"
|
|
2991
|
+
},
|
|
2992
|
+
"syncMessages": {
|
|
2993
|
+
"type": "boolean"
|
|
2994
|
+
}
|
|
2995
|
+
}
|
|
2996
|
+
}
|
|
2997
|
+
}
|
|
2998
|
+
}
|
|
2999
|
+
}
|
|
3000
|
+
},
|
|
3001
|
+
"_meta": {
|
|
3002
|
+
"method": "PATCH",
|
|
3003
|
+
"path": "/v1/users/{userId}/connections/{integrationId}",
|
|
3004
|
+
"operationId": "updateUserConnection"
|
|
3005
|
+
}
|
|
3006
|
+
},
|
|
3007
|
+
{
|
|
3008
|
+
"name": "delete_user_connection",
|
|
3009
|
+
"description": "Disconnect An Integration",
|
|
3010
|
+
"inputSchema": {
|
|
3011
|
+
"type": "object",
|
|
3012
|
+
"properties": {}
|
|
3013
|
+
},
|
|
3014
|
+
"_meta": {
|
|
3015
|
+
"method": "DELETE",
|
|
3016
|
+
"path": "/v1/users/{userId}/connections/{integrationId}",
|
|
3017
|
+
"operationId": "deleteUserConnection"
|
|
3018
|
+
}
|
|
3019
|
+
},
|
|
3020
|
+
{
|
|
3021
|
+
"name": "user_connection_options",
|
|
3022
|
+
"description": "User Connection Options",
|
|
3023
|
+
"inputSchema": {
|
|
3024
|
+
"type": "object",
|
|
3025
|
+
"properties": {}
|
|
3026
|
+
},
|
|
3027
|
+
"_meta": {
|
|
3028
|
+
"method": "OPTIONS",
|
|
3029
|
+
"path": "/v1/users/{userId}/connections/{integrationId}",
|
|
3030
|
+
"operationId": "userConnectionOptions"
|
|
3031
|
+
}
|
|
3032
|
+
},
|
|
2833
3033
|
{
|
|
2834
3034
|
"name": "create_user_invitation",
|
|
2835
3035
|
"description": "Resend User Invitation",
|
|
@@ -5275,6 +5475,14 @@
|
|
|
5275
5475
|
}
|
|
5276
5476
|
}
|
|
5277
5477
|
},
|
|
5478
|
+
"connections": {
|
|
5479
|
+
"title": "JobAttributesConnectionsSchema",
|
|
5480
|
+
"type": "object",
|
|
5481
|
+
"description": "The recruitment project's LINKS to the external systems its virtual employee is connected to (PLAN_BOE_CONNECTIONS, 2026-09-24), a flat map keyed by the integration id of GET /v1/integrations. An ATS entry carries ONLY overrides of the sync-flag defaults stored on the Boe's connection (WHETHER a candidate syncs is decided by the candidate's source and the Boe's connection, never here; a project that wants nothing synced sets every flag to false). A job-board entry carries `enabled`, the override of the Boe entry's `default`, read once when the ad is built (no rebuild). A top-level attribute on purpose, not part of settings: its own validation (400 naming the key; an ATS entry with `enabled`, a job-board entry with a flag, an ATS the Boe has not connected, `apply`), its own PER-KEY merge on PATCH (a key sent as null clears the override, an entry sent as null clears the entry) and its own writer gate (sysowner / owner / admin / recops, 403 below); the AI build never touches it.",
|
|
5482
|
+
"additionalProperties": {
|
|
5483
|
+
"$ref": "#/components/schemas/JobConnectionSchema"
|
|
5484
|
+
}
|
|
5485
|
+
},
|
|
5278
5486
|
"settings": {
|
|
5279
5487
|
"title": "JobAttributesSettingsSchema",
|
|
5280
5488
|
"type": "object",
|
|
@@ -5370,6 +5578,7 @@
|
|
|
5370
5578
|
"operation": {
|
|
5371
5579
|
"title": "JobAttributesSettingsOperationSchema",
|
|
5372
5580
|
"type": "object",
|
|
5581
|
+
"description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): the ATS sync flags moved to the top-level `connections.<ats>` of the job (overrides per ATS) with their defaults on the virtual employee's connection. Still writable per key and read through ONLY for a flag the job's ATS entry does not carry (changeStage -> syncStage, createNote -> syncNotes, createRate -> syncRatings, createTag -> syncTags, createConversationReport -> syncConversationReports); the AI build no longer generates it. Removed in a later, breaking release.",
|
|
5373
5582
|
"properties": {
|
|
5374
5583
|
"changeStage": {
|
|
5375
5584
|
"type": "boolean"
|
|
@@ -6175,6 +6384,14 @@
|
|
|
6175
6384
|
}
|
|
6176
6385
|
}
|
|
6177
6386
|
},
|
|
6387
|
+
"connections": {
|
|
6388
|
+
"title": "JobAttributesConnectionsSchema",
|
|
6389
|
+
"type": "object",
|
|
6390
|
+
"description": "The recruitment project's LINKS to the external systems its virtual employee is connected to (PLAN_BOE_CONNECTIONS, 2026-09-24), a flat map keyed by the integration id of GET /v1/integrations. An ATS entry carries ONLY overrides of the sync-flag defaults stored on the Boe's connection (WHETHER a candidate syncs is decided by the candidate's source and the Boe's connection, never here; a project that wants nothing synced sets every flag to false). A job-board entry carries `enabled`, the override of the Boe entry's `default`, read once when the ad is built (no rebuild). A top-level attribute on purpose, not part of settings: its own validation (400 naming the key; an ATS entry with `enabled`, a job-board entry with a flag, an ATS the Boe has not connected, `apply`), its own PER-KEY merge on PATCH (a key sent as null clears the override, an entry sent as null clears the entry) and its own writer gate (sysowner / owner / admin / recops, 403 below); the AI build never touches it.",
|
|
6391
|
+
"additionalProperties": {
|
|
6392
|
+
"$ref": "#/components/schemas/JobConnectionSchema"
|
|
6393
|
+
}
|
|
6394
|
+
},
|
|
6178
6395
|
"settings": {
|
|
6179
6396
|
"title": "JobAttributesSettingsSchema",
|
|
6180
6397
|
"type": "object",
|
|
@@ -6270,6 +6487,7 @@
|
|
|
6270
6487
|
"operation": {
|
|
6271
6488
|
"title": "JobAttributesSettingsOperationSchema",
|
|
6272
6489
|
"type": "object",
|
|
6490
|
+
"description": "DEPRECATED (2026-09-24, PLAN_BOE_CONNECTIONS): the ATS sync flags moved to the top-level `connections.<ats>` of the job (overrides per ATS) with their defaults on the virtual employee's connection. Still writable per key and read through ONLY for a flag the job's ATS entry does not carry (changeStage -> syncStage, createNote -> syncNotes, createRate -> syncRatings, createTag -> syncTags, createConversationReport -> syncConversationReports); the AI build no longer generates it. Removed in a later, breaking release.",
|
|
6273
6491
|
"properties": {
|
|
6274
6492
|
"changeStage": {
|
|
6275
6493
|
"type": "boolean"
|
|
@@ -22474,7 +22692,7 @@
|
|
|
22474
22692
|
"properties": {
|
|
22475
22693
|
"filterStatus": {
|
|
22476
22694
|
"type": "string",
|
|
22477
|
-
"description": "Returns reports with the given status. Pass it explicitly - the backend applies NO default, so without it pending and failed rows come back too. The report app's history query is `filterStatus=active&sort=-created` (newest first; the
|
|
22695
|
+
"description": "Returns reports with the given status. Pass it explicitly - the backend applies NO default, so without it pending and failed rows come back too. The report app's history query is `filterStatus=active&sort=-created&pageNumber=1` (newest first): the sort is honoured next to filterStatus ONLY with page-number pagination (`pageNumber`); the cursor pagination (`pageAfter` / `pageBefore`, the default without pageNumber) keeps the index order and ignores `sort` (measured on dev03 2026-09-24). One filter at a time: the backend serves a single index per request.",
|
|
22478
22696
|
"enum": [
|
|
22479
22697
|
"active",
|
|
22480
22698
|
"inactive",
|
|
@@ -22489,7 +22707,7 @@
|
|
|
22489
22707
|
},
|
|
22490
22708
|
"sort": {
|
|
22491
22709
|
"type": "string",
|
|
22492
|
-
"description": "`created` / `-created` / `modified` / `-modified`. Honoured alone and next to filterStatus; ignored next to filterResourceId (index order)
|
|
22710
|
+
"description": "`created` / `-created` / `modified` / `-modified`. Honoured alone (any pagination) and next to filterStatus with page-number pagination only (`pageNumber`; the cursor pagination ignores it there); ignored next to filterResourceId (index order); the date windows keep their own index order."
|
|
22493
22711
|
},
|
|
22494
22712
|
"filterCreatedFrom": {
|
|
22495
22713
|
"type": "string",
|
|
@@ -22587,12 +22805,14 @@
|
|
|
22587
22805
|
]
|
|
22588
22806
|
},
|
|
22589
22807
|
"reportContent": {
|
|
22590
|
-
"type": "
|
|
22591
|
-
"
|
|
22808
|
+
"type": "object",
|
|
22809
|
+
"additionalProperties": true,
|
|
22810
|
+
"description": "Merged analytics and AI analysis content, an OBJECT (declared as a string until 2026-09-24): keyed by locale for a non-English tenant (`en-US` + the tenant language, each holding the sections kpis / alerts / notes / insights / dailyData / topJobs / ...), the sections directly at the top level for an en-US tenant; `{}` while the row is pending."
|
|
22592
22811
|
},
|
|
22593
22812
|
"settings": {
|
|
22594
|
-
"type": "
|
|
22595
|
-
"
|
|
22813
|
+
"type": "object",
|
|
22814
|
+
"additionalProperties": true,
|
|
22815
|
+
"description": "The analysis window the broker stamps at creation, an OBJECT (declared as a string until 2026-09-24): startDate, endDate (naive calendar stamps `YYYY-MM-DD HH:MM:SS`), reportPeriod, displayName and the period's own fields (day / month / year, isoWeek / isoYear / dateRange, monthName / daysCount). Since 2026-09-24 (PLAN_TENANT_SETTINGS_CLEANUP) no `emails`: reports are downloaded in the report app, not mailed."
|
|
22596
22816
|
},
|
|
22597
22817
|
"shortCode": {
|
|
22598
22818
|
"type": "string",
|
|
@@ -22614,8 +22834,9 @@
|
|
|
22614
22834
|
]
|
|
22615
22835
|
},
|
|
22616
22836
|
"ttl": {
|
|
22617
|
-
"type": "
|
|
22618
|
-
"
|
|
22837
|
+
"type": "integer",
|
|
22838
|
+
"format": "int64",
|
|
22839
|
+
"description": "Epoch seconds at which DynamoDB expires the row (an INTEGER, declared as a string until 2026-09-24): created + 400 days on every scheduled report since 2026-09-24; null on rows born before that."
|
|
22619
22840
|
},
|
|
22620
22841
|
"timestamps": {
|
|
22621
22842
|
"title": "ResourceTimestampsSchema",
|
|
@@ -22754,12 +22975,14 @@
|
|
|
22754
22975
|
]
|
|
22755
22976
|
},
|
|
22756
22977
|
"reportContent": {
|
|
22757
|
-
"type": "
|
|
22758
|
-
"
|
|
22978
|
+
"type": "object",
|
|
22979
|
+
"additionalProperties": true,
|
|
22980
|
+
"description": "Merged analytics and AI analysis content, an OBJECT (declared as a string until 2026-09-24): keyed by locale for a non-English tenant (`en-US` + the tenant language, each holding the sections kpis / alerts / notes / insights / dailyData / topJobs / ...), the sections directly at the top level for an en-US tenant; `{}` while the row is pending."
|
|
22759
22981
|
},
|
|
22760
22982
|
"settings": {
|
|
22761
|
-
"type": "
|
|
22762
|
-
"
|
|
22983
|
+
"type": "object",
|
|
22984
|
+
"additionalProperties": true,
|
|
22985
|
+
"description": "The analysis window the broker stamps at creation, an OBJECT (declared as a string until 2026-09-24): startDate, endDate (naive calendar stamps `YYYY-MM-DD HH:MM:SS`), reportPeriod, displayName and the period's own fields (day / month / year, isoWeek / isoYear / dateRange, monthName / daysCount). Since 2026-09-24 (PLAN_TENANT_SETTINGS_CLEANUP) no `emails`: reports are downloaded in the report app, not mailed."
|
|
22763
22986
|
},
|
|
22764
22987
|
"shortCode": {
|
|
22765
22988
|
"type": "string",
|
|
@@ -22781,8 +23004,9 @@
|
|
|
22781
23004
|
]
|
|
22782
23005
|
},
|
|
22783
23006
|
"ttl": {
|
|
22784
|
-
"type": "
|
|
22785
|
-
"
|
|
23007
|
+
"type": "integer",
|
|
23008
|
+
"format": "int64",
|
|
23009
|
+
"description": "Epoch seconds at which DynamoDB expires the row (an INTEGER, declared as a string until 2026-09-24): created + 400 days on every scheduled report since 2026-09-24; null on rows born before that."
|
|
22786
23010
|
},
|
|
22787
23011
|
"timestamps": {
|
|
22788
23012
|
"title": "ResourceTimestampsSchema",
|
|
@@ -23000,7 +23224,36 @@
|
|
|
23000
23224
|
}
|
|
23001
23225
|
},
|
|
23002
23226
|
"settings": {
|
|
23003
|
-
"
|
|
23227
|
+
"title": "AdAttributesSettingsSchema",
|
|
23228
|
+
"type": "object",
|
|
23229
|
+
"description": "The build snapshot (PLAN_BOE_CONNECTIONS, 2026-09-24): which job boards this ad was built for and why. Written by the pipeline's finalize, never by a client; a platform switched on or off AFTER the build changes nothing here (no rebuild in this version).",
|
|
23230
|
+
"properties": {
|
|
23231
|
+
"platforms": {
|
|
23232
|
+
"type": "array",
|
|
23233
|
+
"items": {
|
|
23234
|
+
"type": "string"
|
|
23235
|
+
},
|
|
23236
|
+
"description": "The job-board ids the ad targets (catalogue order); the apply page is always built and not listed."
|
|
23237
|
+
},
|
|
23238
|
+
"sources": {
|
|
23239
|
+
"type": "object",
|
|
23240
|
+
"description": "Per job board of the catalogue: job (the job's connections entry decided) | boe (the Boe entry's default decided) | default (the Boe carries no job-board entry, every platform is built)."
|
|
23241
|
+
},
|
|
23242
|
+
"imageVariants": {
|
|
23243
|
+
"type": "array",
|
|
23244
|
+
"items": {
|
|
23245
|
+
"type": "string"
|
|
23246
|
+
},
|
|
23247
|
+
"description": "The master images rendered: landscape always, square only when a chosen platform crops from it (linkedin, olx)."
|
|
23248
|
+
},
|
|
23249
|
+
"exports": {
|
|
23250
|
+
"type": "array",
|
|
23251
|
+
"items": {
|
|
23252
|
+
"type": "string"
|
|
23253
|
+
},
|
|
23254
|
+
"description": "The crop exports produced: the apply trio (apply, apply_card, apply_share) plus the chosen platforms' exports."
|
|
23255
|
+
}
|
|
23256
|
+
}
|
|
23004
23257
|
},
|
|
23005
23258
|
"timestamps": {
|
|
23006
23259
|
"title": "ResourceTimestampsSchema",
|
|
@@ -23188,7 +23441,36 @@
|
|
|
23188
23441
|
}
|
|
23189
23442
|
},
|
|
23190
23443
|
"settings": {
|
|
23191
|
-
"
|
|
23444
|
+
"title": "AdAttributesSettingsSchema",
|
|
23445
|
+
"type": "object",
|
|
23446
|
+
"description": "The build snapshot (PLAN_BOE_CONNECTIONS, 2026-09-24): which job boards this ad was built for and why. Written by the pipeline's finalize, never by a client; a platform switched on or off AFTER the build changes nothing here (no rebuild in this version).",
|
|
23447
|
+
"properties": {
|
|
23448
|
+
"platforms": {
|
|
23449
|
+
"type": "array",
|
|
23450
|
+
"items": {
|
|
23451
|
+
"type": "string"
|
|
23452
|
+
},
|
|
23453
|
+
"description": "The job-board ids the ad targets (catalogue order); the apply page is always built and not listed."
|
|
23454
|
+
},
|
|
23455
|
+
"sources": {
|
|
23456
|
+
"type": "object",
|
|
23457
|
+
"description": "Per job board of the catalogue: job (the job's connections entry decided) | boe (the Boe entry's default decided) | default (the Boe carries no job-board entry, every platform is built)."
|
|
23458
|
+
},
|
|
23459
|
+
"imageVariants": {
|
|
23460
|
+
"type": "array",
|
|
23461
|
+
"items": {
|
|
23462
|
+
"type": "string"
|
|
23463
|
+
},
|
|
23464
|
+
"description": "The master images rendered: landscape always, square only when a chosen platform crops from it (linkedin, olx)."
|
|
23465
|
+
},
|
|
23466
|
+
"exports": {
|
|
23467
|
+
"type": "array",
|
|
23468
|
+
"items": {
|
|
23469
|
+
"type": "string"
|
|
23470
|
+
},
|
|
23471
|
+
"description": "The crop exports produced: the apply trio (apply, apply_card, apply_share) plus the chosen platforms' exports."
|
|
23472
|
+
}
|
|
23473
|
+
}
|
|
23192
23474
|
},
|
|
23193
23475
|
"timestamps": {
|
|
23194
23476
|
"title": "ResourceTimestampsSchema",
|