@vitable-inc/vitable-connect 5.1.1 → 5.2.0
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/cjs/BaseClient.js +2 -2
- package/dist/cjs/api/resources/members/client/Client.d.ts +36 -0
- package/dist/cjs/api/resources/members/client/Client.js +106 -0
- package/dist/cjs/api/resources/members/client/requests/CreateMemberDependentRequest.d.ts +74 -0
- package/dist/cjs/api/resources/members/client/requests/CreateMemberDependentRequest.js +3 -0
- package/dist/cjs/api/resources/members/client/requests/index.d.ts +1 -0
- package/dist/cjs/api/types/CreateMemberDependentAddressRequest.d.ts +78 -0
- package/dist/cjs/api/types/CreateMemberDependentAddressRequest.js +3 -0
- package/dist/cjs/api/types/Gender.d.ts +2 -2
- package/dist/cjs/api/types/Gender.js +2 -2
- package/dist/cjs/api/types/MemberEnrollment.d.ts +1 -1
- package/dist/cjs/api/types/SavedMemberDependent.d.ts +38 -0
- package/dist/cjs/api/types/SavedMemberDependent.js +3 -0
- package/dist/cjs/api/types/SavedMemberDependentResponse.d.ts +7 -0
- package/dist/cjs/api/types/SavedMemberDependentResponse.js +3 -0
- package/dist/cjs/api/types/index.d.ts +3 -0
- package/dist/cjs/api/types/index.js +3 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BaseClient.mjs +2 -2
- package/dist/esm/api/resources/members/client/Client.d.mts +36 -0
- package/dist/esm/api/resources/members/client/Client.mjs +106 -0
- package/dist/esm/api/resources/members/client/requests/CreateMemberDependentRequest.d.mts +74 -0
- package/dist/esm/api/resources/members/client/requests/CreateMemberDependentRequest.mjs +2 -0
- package/dist/esm/api/resources/members/client/requests/index.d.mts +1 -0
- package/dist/esm/api/types/CreateMemberDependentAddressRequest.d.mts +78 -0
- package/dist/esm/api/types/CreateMemberDependentAddressRequest.mjs +2 -0
- package/dist/esm/api/types/Gender.d.mts +2 -2
- package/dist/esm/api/types/Gender.mjs +2 -2
- package/dist/esm/api/types/MemberEnrollment.d.mts +1 -1
- package/dist/esm/api/types/SavedMemberDependent.d.mts +38 -0
- package/dist/esm/api/types/SavedMemberDependent.mjs +2 -0
- package/dist/esm/api/types/SavedMemberDependentResponse.d.mts +7 -0
- package/dist/esm/api/types/SavedMemberDependentResponse.mjs +2 -0
- package/dist/esm/api/types/index.d.mts +3 -0
- package/dist/esm/api/types/index.mjs +3 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +1 -1
- package/reference.md +76 -0
package/dist/cjs/BaseClient.js
CHANGED
|
@@ -44,8 +44,8 @@ function normalizeClientOptions(options) {
|
|
|
44
44
|
const headers = (0, headers_js_1.mergeHeaders)({
|
|
45
45
|
"X-Fern-Language": "JavaScript",
|
|
46
46
|
"X-Fern-SDK-Name": "@vitable-inc/vitable-connect",
|
|
47
|
-
"X-Fern-SDK-Version": "5.
|
|
48
|
-
"User-Agent": "@vitable-inc/vitable-connect/5.
|
|
47
|
+
"X-Fern-SDK-Version": "5.2.0",
|
|
48
|
+
"User-Agent": "@vitable-inc/vitable-connect/5.2.0",
|
|
49
49
|
"X-Fern-Runtime": core.RUNTIME.type,
|
|
50
50
|
"X-Fern-Runtime-Version": core.RUNTIME.version,
|
|
51
51
|
}, options === null || options === void 0 ? void 0 : options.headers);
|
|
@@ -61,6 +61,42 @@ export declare class MembersClient {
|
|
|
61
61
|
*/
|
|
62
62
|
listDependents(request: VitableConnect.ListDependentsMembersRequest, requestOptions?: MembersClient.RequestOptions): core.HttpResponsePromise<VitableConnect.MemberDependentsResponse>;
|
|
63
63
|
private __listDependents;
|
|
64
|
+
/**
|
|
65
|
+
* Saves a dependent (spouse or child) for a member. Saving does not enroll the dependent or change the member's coverage or coverage tier. If the member already has an active dependent matching this person, that relationship is reused and returned with a 200 and `created: false`; otherwise a new one is created with a 201 and `created: true`. In both cases the dependent's address is set to the one supplied; other details of a person Vitable already has on file are not changed. When a new dependent is created at exactly the member's address, Vitable also adds them to the member's household where it can; this never fails the request. The returned IDs identify the saved dependent. Social Security numbers are not accepted, and a body with an `ssn` field returns a 400. The caller must have write access to the target member, and API access tokens cannot save dependents. A member not visible to the caller returns a 404 before the body is validated. Business-rule failures return a 422 with `child_over_max_age` (a child must be under 26), `duplicate_active_spouse` (the member already has a different active spouse), `same_member`, `member_creation_failed`, or `legal_dependent_creation_failed`.
|
|
66
|
+
*
|
|
67
|
+
* @param {VitableConnect.CreateMemberDependentRequest} request
|
|
68
|
+
* @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
69
|
+
*
|
|
70
|
+
* @throws {@link VitableConnect.BadRequestError}
|
|
71
|
+
* @throws {@link VitableConnect.UnauthorizedError}
|
|
72
|
+
* @throws {@link VitableConnect.ForbiddenError}
|
|
73
|
+
* @throws {@link VitableConnect.NotFoundError}
|
|
74
|
+
* @throws {@link VitableConnect.ConflictError}
|
|
75
|
+
* @throws {@link VitableConnect.UnprocessableEntityError}
|
|
76
|
+
* @throws {@link VitableConnect.TooManyRequestsError}
|
|
77
|
+
* @throws {@link VitableConnect.InternalServerError}
|
|
78
|
+
* @throws {@link VitableConnect.BadGatewayError}
|
|
79
|
+
* @throws {@link errors.VitableConnectError}
|
|
80
|
+
* @throws {@link errors.VitableConnectTimeoutError}
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* await client.members.createDependent({
|
|
84
|
+
* member_id: "mbr_abc123def456",
|
|
85
|
+
* first_name: "Sam",
|
|
86
|
+
* last_name: "Doe",
|
|
87
|
+
* date_of_birth: "2015-06-01",
|
|
88
|
+
* sex_at_birth: "Male",
|
|
89
|
+
* relationship: "Child",
|
|
90
|
+
* address: {
|
|
91
|
+
* address_line_1: "123 Main St",
|
|
92
|
+
* city: "Detroit",
|
|
93
|
+
* state: "MI",
|
|
94
|
+
* zipcode: "48201"
|
|
95
|
+
* }
|
|
96
|
+
* })
|
|
97
|
+
*/
|
|
98
|
+
createDependent(request: VitableConnect.CreateMemberDependentRequest, requestOptions?: MembersClient.RequestOptions): core.HttpResponsePromise<VitableConnect.SavedMemberDependentResponse>;
|
|
99
|
+
private __createDependent;
|
|
64
100
|
/**
|
|
65
101
|
* Lists a member's employment across every employer — the same employee record shape as the employer's employees list, plus the employer name. For an organization caller the rows are scoped to companies in that organization's book; a member (self/household) or Vitable Admin sees all employments. A member not visible to the caller returns a 404.
|
|
66
102
|
*
|
|
@@ -42,11 +42,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
42
42
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
43
|
});
|
|
44
44
|
};
|
|
45
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
46
|
+
var t = {};
|
|
47
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
48
|
+
t[p] = s[p];
|
|
49
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
50
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
51
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
52
|
+
t[p[i]] = s[p[i]];
|
|
53
|
+
}
|
|
54
|
+
return t;
|
|
55
|
+
};
|
|
45
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
57
|
exports.MembersClient = void 0;
|
|
47
58
|
const BaseClient_js_1 = require("../../../../BaseClient.js");
|
|
48
59
|
const headers_js_1 = require("../../../../core/headers.js");
|
|
49
60
|
const core = __importStar(require("../../../../core/index.js"));
|
|
61
|
+
const requestBody_js_1 = require("../../../../core/requestBody.js");
|
|
50
62
|
const environments = __importStar(require("../../../../environments.js"));
|
|
51
63
|
const handleNonStatusCodeError_js_1 = require("../../../../errors/handleNonStatusCodeError.js");
|
|
52
64
|
const errors = __importStar(require("../../../../errors/index.js"));
|
|
@@ -209,6 +221,100 @@ class MembersClient {
|
|
|
209
221
|
return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v1/members/{member_id}/dependents");
|
|
210
222
|
});
|
|
211
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Saves a dependent (spouse or child) for a member. Saving does not enroll the dependent or change the member's coverage or coverage tier. If the member already has an active dependent matching this person, that relationship is reused and returned with a 200 and `created: false`; otherwise a new one is created with a 201 and `created: true`. In both cases the dependent's address is set to the one supplied; other details of a person Vitable already has on file are not changed. When a new dependent is created at exactly the member's address, Vitable also adds them to the member's household where it can; this never fails the request. The returned IDs identify the saved dependent. Social Security numbers are not accepted, and a body with an `ssn` field returns a 400. The caller must have write access to the target member, and API access tokens cannot save dependents. A member not visible to the caller returns a 404 before the body is validated. Business-rule failures return a 422 with `child_over_max_age` (a child must be under 26), `duplicate_active_spouse` (the member already has a different active spouse), `same_member`, `member_creation_failed`, or `legal_dependent_creation_failed`.
|
|
226
|
+
*
|
|
227
|
+
* @param {VitableConnect.CreateMemberDependentRequest} request
|
|
228
|
+
* @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
229
|
+
*
|
|
230
|
+
* @throws {@link VitableConnect.BadRequestError}
|
|
231
|
+
* @throws {@link VitableConnect.UnauthorizedError}
|
|
232
|
+
* @throws {@link VitableConnect.ForbiddenError}
|
|
233
|
+
* @throws {@link VitableConnect.NotFoundError}
|
|
234
|
+
* @throws {@link VitableConnect.ConflictError}
|
|
235
|
+
* @throws {@link VitableConnect.UnprocessableEntityError}
|
|
236
|
+
* @throws {@link VitableConnect.TooManyRequestsError}
|
|
237
|
+
* @throws {@link VitableConnect.InternalServerError}
|
|
238
|
+
* @throws {@link VitableConnect.BadGatewayError}
|
|
239
|
+
* @throws {@link errors.VitableConnectError}
|
|
240
|
+
* @throws {@link errors.VitableConnectTimeoutError}
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* await client.members.createDependent({
|
|
244
|
+
* member_id: "mbr_abc123def456",
|
|
245
|
+
* first_name: "Sam",
|
|
246
|
+
* last_name: "Doe",
|
|
247
|
+
* date_of_birth: "2015-06-01",
|
|
248
|
+
* sex_at_birth: "Male",
|
|
249
|
+
* relationship: "Child",
|
|
250
|
+
* address: {
|
|
251
|
+
* address_line_1: "123 Main St",
|
|
252
|
+
* city: "Detroit",
|
|
253
|
+
* state: "MI",
|
|
254
|
+
* zipcode: "48201"
|
|
255
|
+
* }
|
|
256
|
+
* })
|
|
257
|
+
*/
|
|
258
|
+
createDependent(request, requestOptions) {
|
|
259
|
+
return core.HttpResponsePromise.fromPromise(this.__createDependent(request, requestOptions));
|
|
260
|
+
}
|
|
261
|
+
__createDependent(request, requestOptions) {
|
|
262
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
263
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
264
|
+
const { member_id: memberId, "X-Vitable-Organization": vitableOrganization } = request, _body = __rest(request, ["member_id", "X-Vitable-Organization"]);
|
|
265
|
+
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
266
|
+
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ "X-Vitable-Organization": vitableOrganization }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
267
|
+
const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
|
|
268
|
+
url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.VitableConnectEnvironment.Production, `v1/members/${core.url.encodePathParam(memberId)}/dependents`),
|
|
269
|
+
method: "POST",
|
|
270
|
+
headers: _headers,
|
|
271
|
+
contentType: "application/json",
|
|
272
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),
|
|
273
|
+
requestType: "json",
|
|
274
|
+
body: (0, requestBody_js_1.mergeAdditionalBodyParameters)(_body, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.additionalBodyParameters),
|
|
275
|
+
timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
|
|
276
|
+
maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
|
|
277
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
278
|
+
fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,
|
|
279
|
+
logging: this._options.logging,
|
|
280
|
+
});
|
|
281
|
+
if (_response.ok) {
|
|
282
|
+
return {
|
|
283
|
+
data: _response.body,
|
|
284
|
+
rawResponse: _response.rawResponse,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
if (_response.error.reason === "status-code") {
|
|
288
|
+
switch (_response.error.statusCode) {
|
|
289
|
+
case 400:
|
|
290
|
+
throw new VitableConnect.BadRequestError(_response.error.body, _response.rawResponse);
|
|
291
|
+
case 401:
|
|
292
|
+
throw new VitableConnect.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
293
|
+
case 403:
|
|
294
|
+
throw new VitableConnect.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
295
|
+
case 404:
|
|
296
|
+
throw new VitableConnect.NotFoundError(_response.error.body, _response.rawResponse);
|
|
297
|
+
case 409:
|
|
298
|
+
throw new VitableConnect.ConflictError(_response.error.body, _response.rawResponse);
|
|
299
|
+
case 422:
|
|
300
|
+
throw new VitableConnect.UnprocessableEntityError(_response.error.body, _response.rawResponse);
|
|
301
|
+
case 429:
|
|
302
|
+
throw new VitableConnect.TooManyRequestsError(_response.error.body, _response.rawResponse);
|
|
303
|
+
case 500:
|
|
304
|
+
throw new VitableConnect.InternalServerError(_response.error.body, _response.rawResponse);
|
|
305
|
+
case 502:
|
|
306
|
+
throw new VitableConnect.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
307
|
+
default:
|
|
308
|
+
throw new errors.VitableConnectError({
|
|
309
|
+
statusCode: _response.error.statusCode,
|
|
310
|
+
body: _response.error.body,
|
|
311
|
+
rawResponse: _response.rawResponse,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "POST", "/v1/members/{member_id}/dependents");
|
|
316
|
+
});
|
|
317
|
+
}
|
|
212
318
|
/**
|
|
213
319
|
* Lists a member's employment across every employer — the same employee record shape as the employer's employees list, plus the employer name. For an organization caller the rows are scoped to companies in that organization's book; a member (self/household) or Vitable Admin sees all employments. A member not visible to the caller returns a 404.
|
|
214
320
|
*
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type * as VitableConnect from "../../../../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* @example
|
|
4
|
+
* {
|
|
5
|
+
* member_id: "mbr_abc123def456",
|
|
6
|
+
* first_name: "Sam",
|
|
7
|
+
* last_name: "Doe",
|
|
8
|
+
* date_of_birth: "2015-06-01",
|
|
9
|
+
* sex_at_birth: "Male",
|
|
10
|
+
* relationship: "Child",
|
|
11
|
+
* address: {
|
|
12
|
+
* address_line_1: "123 Main St",
|
|
13
|
+
* city: "Detroit",
|
|
14
|
+
* state: "MI",
|
|
15
|
+
* zipcode: "48201"
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
export interface CreateMemberDependentRequest {
|
|
20
|
+
/** Unique member identifier (mbr_*) */
|
|
21
|
+
member_id: VitableConnect.MemberId;
|
|
22
|
+
/** Organization to act as for this request (e.g. `org_SGVsbG8gV29ybGQ`). Optional when your credentials reach a single organization. Required when they reach several — omitting it then returns 400 `organization_required`. A malformed value returns 400 `invalid_organization_header`, and naming an organization you do not have access to returns 403 `organization_access_denied`. */
|
|
23
|
+
"X-Vitable-Organization"?: VitableConnect.XVitableOrganization;
|
|
24
|
+
/** Dependent's legal first name */
|
|
25
|
+
first_name: string;
|
|
26
|
+
/** Dependent's legal last name */
|
|
27
|
+
last_name: string;
|
|
28
|
+
/**
|
|
29
|
+
* Name suffix
|
|
30
|
+
*
|
|
31
|
+
* * `Sr` - Sr
|
|
32
|
+
* * `Jr` - Jr
|
|
33
|
+
* * `I` - I
|
|
34
|
+
* * `II` - II
|
|
35
|
+
* * `III` - III
|
|
36
|
+
* * `IV` - IV
|
|
37
|
+
* * `V` - V
|
|
38
|
+
*/
|
|
39
|
+
suffix?: VitableConnect.NameSuffix | null;
|
|
40
|
+
/** Date of birth (YYYY-MM-DD); cannot be in the future */
|
|
41
|
+
date_of_birth: string;
|
|
42
|
+
/**
|
|
43
|
+
* Sex assigned at birth
|
|
44
|
+
*
|
|
45
|
+
* * `Male` - Male
|
|
46
|
+
* * `Female` - Female
|
|
47
|
+
* * `Other` - Other
|
|
48
|
+
* * `Unknown` - Unknown
|
|
49
|
+
*/
|
|
50
|
+
sex_at_birth?: VitableConnect.SexAtBirth | null;
|
|
51
|
+
/**
|
|
52
|
+
* Gender identity
|
|
53
|
+
*
|
|
54
|
+
* * `Male` - Male
|
|
55
|
+
* * `Female` - Female
|
|
56
|
+
* * `Transgender` - Transgender
|
|
57
|
+
* * `Non-binary` - Non-binary
|
|
58
|
+
* * `Prefer not to respond` - Prefer not to respond
|
|
59
|
+
*/
|
|
60
|
+
gender?: VitableConnect.Gender | null;
|
|
61
|
+
/** Dependent's email address. Ignored for dependents under 18, and not changed for a dependent Vitable already has on file. */
|
|
62
|
+
email?: string | null;
|
|
63
|
+
/** Dependent's 10-digit US phone number; formatting characters and a leading 1 are ignored. Ignored for dependents under 18, and not changed for a dependent Vitable already has on file. */
|
|
64
|
+
phone?: string | null;
|
|
65
|
+
/**
|
|
66
|
+
* Relationship of the dependent to the member
|
|
67
|
+
*
|
|
68
|
+
* * `Spouse` - Spouse
|
|
69
|
+
* * `Child` - Child
|
|
70
|
+
*/
|
|
71
|
+
relationship: VitableConnect.Relationship;
|
|
72
|
+
/** Dependent's residential address */
|
|
73
|
+
address: VitableConnect.CreateMemberDependentAddressRequest;
|
|
74
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { CreateMemberDependentRequest } from "./CreateMemberDependentRequest.js";
|
|
1
2
|
export type { GetHouseholdMembersRequest } from "./GetHouseholdMembersRequest.js";
|
|
2
3
|
export type { GetMembersRequest } from "./GetMembersRequest.js";
|
|
3
4
|
export type { ListDependentsMembersRequest } from "./ListDependentsMembersRequest.js";
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type * as VitableConnect from "../index.js";
|
|
2
|
+
export interface CreateMemberDependentAddressRequest {
|
|
3
|
+
/** Primary street address */
|
|
4
|
+
address_line_1: string;
|
|
5
|
+
/** Secondary street address */
|
|
6
|
+
address_line_2?: (string | null) | undefined;
|
|
7
|
+
/** City name */
|
|
8
|
+
city: string;
|
|
9
|
+
/**
|
|
10
|
+
* Two-letter state code
|
|
11
|
+
*
|
|
12
|
+
* * `AL` - AL
|
|
13
|
+
* * `AK` - AK
|
|
14
|
+
* * `AZ` - AZ
|
|
15
|
+
* * `AR` - AR
|
|
16
|
+
* * `CA` - CA
|
|
17
|
+
* * `CO` - CO
|
|
18
|
+
* * `CT` - CT
|
|
19
|
+
* * `DC` - DC
|
|
20
|
+
* * `DE` - DE
|
|
21
|
+
* * `FL` - FL
|
|
22
|
+
* * `GA` - GA
|
|
23
|
+
* * `HI` - HI
|
|
24
|
+
* * `ID` - ID
|
|
25
|
+
* * `IL` - IL
|
|
26
|
+
* * `IN` - IN
|
|
27
|
+
* * `IA` - IA
|
|
28
|
+
* * `KS` - KS
|
|
29
|
+
* * `KY` - KY
|
|
30
|
+
* * `LA` - LA
|
|
31
|
+
* * `ME` - ME
|
|
32
|
+
* * `MD` - MD
|
|
33
|
+
* * `MA` - MA
|
|
34
|
+
* * `MI` - MI
|
|
35
|
+
* * `MN` - MN
|
|
36
|
+
* * `MS` - MS
|
|
37
|
+
* * `MO` - MO
|
|
38
|
+
* * `MT` - MT
|
|
39
|
+
* * `NE` - NE
|
|
40
|
+
* * `NV` - NV
|
|
41
|
+
* * `NH` - NH
|
|
42
|
+
* * `NJ` - NJ
|
|
43
|
+
* * `NM` - NM
|
|
44
|
+
* * `NY` - NY
|
|
45
|
+
* * `NC` - NC
|
|
46
|
+
* * `ND` - ND
|
|
47
|
+
* * `OH` - OH
|
|
48
|
+
* * `OK` - OK
|
|
49
|
+
* * `OR` - OR
|
|
50
|
+
* * `PA` - PA
|
|
51
|
+
* * `RI` - RI
|
|
52
|
+
* * `SC` - SC
|
|
53
|
+
* * `SD` - SD
|
|
54
|
+
* * `TN` - TN
|
|
55
|
+
* * `TX` - TX
|
|
56
|
+
* * `UT` - UT
|
|
57
|
+
* * `VT` - VT
|
|
58
|
+
* * `VA` - VA
|
|
59
|
+
* * `WA` - WA
|
|
60
|
+
* * `WI` - WI
|
|
61
|
+
* * `WV` - WV
|
|
62
|
+
* * `WY` - WY
|
|
63
|
+
* * `PR` - PR
|
|
64
|
+
* * `GU` - GU
|
|
65
|
+
* * `AS` - AS
|
|
66
|
+
* * `VI` - VI
|
|
67
|
+
* * `MP` - MP
|
|
68
|
+
* * `MH` - MH
|
|
69
|
+
* * `PW` - PW
|
|
70
|
+
* * `FM` - FM
|
|
71
|
+
* * `AE` - AE
|
|
72
|
+
* * `AA` - AA
|
|
73
|
+
* * `AP` - AP
|
|
74
|
+
*/
|
|
75
|
+
state: VitableConnect.State;
|
|
76
|
+
/** ZIP code */
|
|
77
|
+
zipcode: string;
|
|
78
|
+
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* * `Male` - Male
|
|
3
3
|
* * `Female` - Female
|
|
4
4
|
* * `Transgender` - Transgender
|
|
5
|
-
* * `Non-binary` - Non
|
|
6
|
-
* * `Prefer not to respond` - Prefer
|
|
5
|
+
* * `Non-binary` - Non-binary
|
|
6
|
+
* * `Prefer not to respond` - Prefer not to respond
|
|
7
7
|
*/
|
|
8
8
|
export declare const Gender: {
|
|
9
9
|
readonly Male: "Male";
|
|
@@ -6,8 +6,8 @@ exports.Gender = void 0;
|
|
|
6
6
|
* * `Male` - Male
|
|
7
7
|
* * `Female` - Female
|
|
8
8
|
* * `Transgender` - Transgender
|
|
9
|
-
* * `Non-binary` - Non
|
|
10
|
-
* * `Prefer not to respond` - Prefer
|
|
9
|
+
* * `Non-binary` - Non-binary
|
|
10
|
+
* * `Prefer not to respond` - Prefer not to respond
|
|
11
11
|
*/
|
|
12
12
|
exports.Gender = {
|
|
13
13
|
Male: "Male",
|
|
@@ -90,7 +90,7 @@ export interface MemberEnrollment {
|
|
|
90
90
|
* * `Cancelled` - Cancelled
|
|
91
91
|
*/
|
|
92
92
|
policy_status: VitableConnect.PlanYearEnrollmentPolicyStatus | null;
|
|
93
|
-
/** True when today falls in the final month of the plan-year coverage window; drives end-of-coverage enrollment actions on the client. */
|
|
93
|
+
/** True when today (ET) falls in the final month of the member's individual coverage (the earliest of termination, subscription end, plan-year end, and selected-plan end) or of the plan-year coverage window; drives end-of-coverage enrollment actions on the client. */
|
|
94
94
|
in_last_month_of_coverage: boolean;
|
|
95
95
|
/** True when today falls inside the enrollment window this member has to answer in; drives enrollment-action availability on the client. */
|
|
96
96
|
is_within_enrollment_window: boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type * as VitableConnect from "../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Wire serializer for :class:`MemberLegalDependentDTO` (one legal-dependent row).
|
|
4
|
+
*/
|
|
5
|
+
export interface SavedMemberDependent {
|
|
6
|
+
/** The dependent's own member identifier with 'mbr_' prefix */
|
|
7
|
+
member_id?: string | undefined;
|
|
8
|
+
/** The primary member's identifier with 'mbr_' prefix */
|
|
9
|
+
primary_member_id?: string | undefined;
|
|
10
|
+
/** Dependent's first name */
|
|
11
|
+
first_name: string;
|
|
12
|
+
/** Dependent's last name */
|
|
13
|
+
last_name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Relationship of the dependent to the member (e.g., Spouse, Child)
|
|
16
|
+
*
|
|
17
|
+
* * `Spouse` - Spouse
|
|
18
|
+
* * `Child` - Child
|
|
19
|
+
*/
|
|
20
|
+
relationship: VitableConnect.Relationship;
|
|
21
|
+
/** Date of birth (YYYY-MM-DD) */
|
|
22
|
+
date_of_birth: string;
|
|
23
|
+
/** Dependent's age in years, derived from date of birth */
|
|
24
|
+
age: number;
|
|
25
|
+
/**
|
|
26
|
+
* Sex assigned at birth, if provided
|
|
27
|
+
*
|
|
28
|
+
* * `Male` - Male
|
|
29
|
+
* * `Female` - Female
|
|
30
|
+
* * `Other` - Other
|
|
31
|
+
* * `Unknown` - Unknown
|
|
32
|
+
*/
|
|
33
|
+
sex_at_birth?: (VitableConnect.SexAtBirth | null) | undefined;
|
|
34
|
+
/** Identifier of the dependent relationship, with 'ldep_' prefix */
|
|
35
|
+
legal_dependent_id: string;
|
|
36
|
+
/** True when the relationship was created by this request, false when an existing one was reused */
|
|
37
|
+
created: boolean;
|
|
38
|
+
}
|
|
@@ -30,6 +30,7 @@ export * from "./ContributionTier.js";
|
|
|
30
30
|
export * from "./CoverageTier.js";
|
|
31
31
|
export * from "./CreatedAfter.js";
|
|
32
32
|
export * from "./CreatedBefore.js";
|
|
33
|
+
export * from "./CreateMemberDependentAddressRequest.js";
|
|
33
34
|
export * from "./DeductionDetail.js";
|
|
34
35
|
export * from "./DeductionFrequency.js";
|
|
35
36
|
export * from "./DetailedAddress.js";
|
|
@@ -162,6 +163,8 @@ export * from "./RemainingEmployeeAction.js";
|
|
|
162
163
|
export * from "./RequestId.js";
|
|
163
164
|
export * from "./ResourceId.js";
|
|
164
165
|
export * from "./ResourceType.js";
|
|
166
|
+
export * from "./SavedMemberDependent.js";
|
|
167
|
+
export * from "./SavedMemberDependentResponse.js";
|
|
165
168
|
export * from "./Search.js";
|
|
166
169
|
export * from "./SexAtBirth.js";
|
|
167
170
|
export * from "./State.js";
|
|
@@ -46,6 +46,7 @@ __exportStar(require("./ContributionTier.js"), exports);
|
|
|
46
46
|
__exportStar(require("./CoverageTier.js"), exports);
|
|
47
47
|
__exportStar(require("./CreatedAfter.js"), exports);
|
|
48
48
|
__exportStar(require("./CreatedBefore.js"), exports);
|
|
49
|
+
__exportStar(require("./CreateMemberDependentAddressRequest.js"), exports);
|
|
49
50
|
__exportStar(require("./DeductionDetail.js"), exports);
|
|
50
51
|
__exportStar(require("./DeductionFrequency.js"), exports);
|
|
51
52
|
__exportStar(require("./DetailedAddress.js"), exports);
|
|
@@ -178,6 +179,8 @@ __exportStar(require("./RemainingEmployeeAction.js"), exports);
|
|
|
178
179
|
__exportStar(require("./RequestId.js"), exports);
|
|
179
180
|
__exportStar(require("./ResourceId.js"), exports);
|
|
180
181
|
__exportStar(require("./ResourceType.js"), exports);
|
|
182
|
+
__exportStar(require("./SavedMemberDependent.js"), exports);
|
|
183
|
+
__exportStar(require("./SavedMemberDependentResponse.js"), exports);
|
|
181
184
|
__exportStar(require("./Search.js"), exports);
|
|
182
185
|
__exportStar(require("./SexAtBirth.js"), exports);
|
|
183
186
|
__exportStar(require("./State.js"), exports);
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "5.
|
|
1
|
+
export declare const SDK_VERSION = "5.2.0";
|
package/dist/cjs/version.js
CHANGED
package/dist/esm/BaseClient.mjs
CHANGED
|
@@ -7,8 +7,8 @@ export function normalizeClientOptions(options) {
|
|
|
7
7
|
const headers = mergeHeaders({
|
|
8
8
|
"X-Fern-Language": "JavaScript",
|
|
9
9
|
"X-Fern-SDK-Name": "@vitable-inc/vitable-connect",
|
|
10
|
-
"X-Fern-SDK-Version": "5.
|
|
11
|
-
"User-Agent": "@vitable-inc/vitable-connect/5.
|
|
10
|
+
"X-Fern-SDK-Version": "5.2.0",
|
|
11
|
+
"User-Agent": "@vitable-inc/vitable-connect/5.2.0",
|
|
12
12
|
"X-Fern-Runtime": core.RUNTIME.type,
|
|
13
13
|
"X-Fern-Runtime-Version": core.RUNTIME.version,
|
|
14
14
|
}, options === null || options === void 0 ? void 0 : options.headers);
|
|
@@ -61,6 +61,42 @@ export declare class MembersClient {
|
|
|
61
61
|
*/
|
|
62
62
|
listDependents(request: VitableConnect.ListDependentsMembersRequest, requestOptions?: MembersClient.RequestOptions): core.HttpResponsePromise<VitableConnect.MemberDependentsResponse>;
|
|
63
63
|
private __listDependents;
|
|
64
|
+
/**
|
|
65
|
+
* Saves a dependent (spouse or child) for a member. Saving does not enroll the dependent or change the member's coverage or coverage tier. If the member already has an active dependent matching this person, that relationship is reused and returned with a 200 and `created: false`; otherwise a new one is created with a 201 and `created: true`. In both cases the dependent's address is set to the one supplied; other details of a person Vitable already has on file are not changed. When a new dependent is created at exactly the member's address, Vitable also adds them to the member's household where it can; this never fails the request. The returned IDs identify the saved dependent. Social Security numbers are not accepted, and a body with an `ssn` field returns a 400. The caller must have write access to the target member, and API access tokens cannot save dependents. A member not visible to the caller returns a 404 before the body is validated. Business-rule failures return a 422 with `child_over_max_age` (a child must be under 26), `duplicate_active_spouse` (the member already has a different active spouse), `same_member`, `member_creation_failed`, or `legal_dependent_creation_failed`.
|
|
66
|
+
*
|
|
67
|
+
* @param {VitableConnect.CreateMemberDependentRequest} request
|
|
68
|
+
* @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
69
|
+
*
|
|
70
|
+
* @throws {@link VitableConnect.BadRequestError}
|
|
71
|
+
* @throws {@link VitableConnect.UnauthorizedError}
|
|
72
|
+
* @throws {@link VitableConnect.ForbiddenError}
|
|
73
|
+
* @throws {@link VitableConnect.NotFoundError}
|
|
74
|
+
* @throws {@link VitableConnect.ConflictError}
|
|
75
|
+
* @throws {@link VitableConnect.UnprocessableEntityError}
|
|
76
|
+
* @throws {@link VitableConnect.TooManyRequestsError}
|
|
77
|
+
* @throws {@link VitableConnect.InternalServerError}
|
|
78
|
+
* @throws {@link VitableConnect.BadGatewayError}
|
|
79
|
+
* @throws {@link errors.VitableConnectError}
|
|
80
|
+
* @throws {@link errors.VitableConnectTimeoutError}
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* await client.members.createDependent({
|
|
84
|
+
* member_id: "mbr_abc123def456",
|
|
85
|
+
* first_name: "Sam",
|
|
86
|
+
* last_name: "Doe",
|
|
87
|
+
* date_of_birth: "2015-06-01",
|
|
88
|
+
* sex_at_birth: "Male",
|
|
89
|
+
* relationship: "Child",
|
|
90
|
+
* address: {
|
|
91
|
+
* address_line_1: "123 Main St",
|
|
92
|
+
* city: "Detroit",
|
|
93
|
+
* state: "MI",
|
|
94
|
+
* zipcode: "48201"
|
|
95
|
+
* }
|
|
96
|
+
* })
|
|
97
|
+
*/
|
|
98
|
+
createDependent(request: VitableConnect.CreateMemberDependentRequest, requestOptions?: MembersClient.RequestOptions): core.HttpResponsePromise<VitableConnect.SavedMemberDependentResponse>;
|
|
99
|
+
private __createDependent;
|
|
64
100
|
/**
|
|
65
101
|
* Lists a member's employment across every employer — the same employee record shape as the employer's employees list, plus the employer name. For an organization caller the rows are scoped to companies in that organization's book; a member (self/household) or Vitable Admin sees all employments. A member not visible to the caller returns a 404.
|
|
66
102
|
*
|
|
@@ -8,9 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
11
22
|
import { normalizeClientOptionsWithAuth } from "../../../../BaseClient.mjs";
|
|
12
23
|
import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.mjs";
|
|
13
24
|
import * as core from "../../../../core/index.mjs";
|
|
25
|
+
import { mergeAdditionalBodyParameters } from "../../../../core/requestBody.mjs";
|
|
14
26
|
import * as environments from "../../../../environments.mjs";
|
|
15
27
|
import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.mjs";
|
|
16
28
|
import * as errors from "../../../../errors/index.mjs";
|
|
@@ -173,6 +185,100 @@ export class MembersClient {
|
|
|
173
185
|
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/members/{member_id}/dependents");
|
|
174
186
|
});
|
|
175
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Saves a dependent (spouse or child) for a member. Saving does not enroll the dependent or change the member's coverage or coverage tier. If the member already has an active dependent matching this person, that relationship is reused and returned with a 200 and `created: false`; otherwise a new one is created with a 201 and `created: true`. In both cases the dependent's address is set to the one supplied; other details of a person Vitable already has on file are not changed. When a new dependent is created at exactly the member's address, Vitable also adds them to the member's household where it can; this never fails the request. The returned IDs identify the saved dependent. Social Security numbers are not accepted, and a body with an `ssn` field returns a 400. The caller must have write access to the target member, and API access tokens cannot save dependents. A member not visible to the caller returns a 404 before the body is validated. Business-rule failures return a 422 with `child_over_max_age` (a child must be under 26), `duplicate_active_spouse` (the member already has a different active spouse), `same_member`, `member_creation_failed`, or `legal_dependent_creation_failed`.
|
|
190
|
+
*
|
|
191
|
+
* @param {VitableConnect.CreateMemberDependentRequest} request
|
|
192
|
+
* @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
193
|
+
*
|
|
194
|
+
* @throws {@link VitableConnect.BadRequestError}
|
|
195
|
+
* @throws {@link VitableConnect.UnauthorizedError}
|
|
196
|
+
* @throws {@link VitableConnect.ForbiddenError}
|
|
197
|
+
* @throws {@link VitableConnect.NotFoundError}
|
|
198
|
+
* @throws {@link VitableConnect.ConflictError}
|
|
199
|
+
* @throws {@link VitableConnect.UnprocessableEntityError}
|
|
200
|
+
* @throws {@link VitableConnect.TooManyRequestsError}
|
|
201
|
+
* @throws {@link VitableConnect.InternalServerError}
|
|
202
|
+
* @throws {@link VitableConnect.BadGatewayError}
|
|
203
|
+
* @throws {@link errors.VitableConnectError}
|
|
204
|
+
* @throws {@link errors.VitableConnectTimeoutError}
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* await client.members.createDependent({
|
|
208
|
+
* member_id: "mbr_abc123def456",
|
|
209
|
+
* first_name: "Sam",
|
|
210
|
+
* last_name: "Doe",
|
|
211
|
+
* date_of_birth: "2015-06-01",
|
|
212
|
+
* sex_at_birth: "Male",
|
|
213
|
+
* relationship: "Child",
|
|
214
|
+
* address: {
|
|
215
|
+
* address_line_1: "123 Main St",
|
|
216
|
+
* city: "Detroit",
|
|
217
|
+
* state: "MI",
|
|
218
|
+
* zipcode: "48201"
|
|
219
|
+
* }
|
|
220
|
+
* })
|
|
221
|
+
*/
|
|
222
|
+
createDependent(request, requestOptions) {
|
|
223
|
+
return core.HttpResponsePromise.fromPromise(this.__createDependent(request, requestOptions));
|
|
224
|
+
}
|
|
225
|
+
__createDependent(request, requestOptions) {
|
|
226
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
228
|
+
const { member_id: memberId, "X-Vitable-Organization": vitableOrganization } = request, _body = __rest(request, ["member_id", "X-Vitable-Organization"]);
|
|
229
|
+
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
230
|
+
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ "X-Vitable-Organization": vitableOrganization }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
231
|
+
const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
|
|
232
|
+
url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.VitableConnectEnvironment.Production, `v1/members/${core.url.encodePathParam(memberId)}/dependents`),
|
|
233
|
+
method: "POST",
|
|
234
|
+
headers: _headers,
|
|
235
|
+
contentType: "application/json",
|
|
236
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),
|
|
237
|
+
requestType: "json",
|
|
238
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.additionalBodyParameters),
|
|
239
|
+
timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
|
|
240
|
+
maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
|
|
241
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
242
|
+
fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,
|
|
243
|
+
logging: this._options.logging,
|
|
244
|
+
});
|
|
245
|
+
if (_response.ok) {
|
|
246
|
+
return {
|
|
247
|
+
data: _response.body,
|
|
248
|
+
rawResponse: _response.rawResponse,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
if (_response.error.reason === "status-code") {
|
|
252
|
+
switch (_response.error.statusCode) {
|
|
253
|
+
case 400:
|
|
254
|
+
throw new VitableConnect.BadRequestError(_response.error.body, _response.rawResponse);
|
|
255
|
+
case 401:
|
|
256
|
+
throw new VitableConnect.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
257
|
+
case 403:
|
|
258
|
+
throw new VitableConnect.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
259
|
+
case 404:
|
|
260
|
+
throw new VitableConnect.NotFoundError(_response.error.body, _response.rawResponse);
|
|
261
|
+
case 409:
|
|
262
|
+
throw new VitableConnect.ConflictError(_response.error.body, _response.rawResponse);
|
|
263
|
+
case 422:
|
|
264
|
+
throw new VitableConnect.UnprocessableEntityError(_response.error.body, _response.rawResponse);
|
|
265
|
+
case 429:
|
|
266
|
+
throw new VitableConnect.TooManyRequestsError(_response.error.body, _response.rawResponse);
|
|
267
|
+
case 500:
|
|
268
|
+
throw new VitableConnect.InternalServerError(_response.error.body, _response.rawResponse);
|
|
269
|
+
case 502:
|
|
270
|
+
throw new VitableConnect.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
271
|
+
default:
|
|
272
|
+
throw new errors.VitableConnectError({
|
|
273
|
+
statusCode: _response.error.statusCode,
|
|
274
|
+
body: _response.error.body,
|
|
275
|
+
rawResponse: _response.rawResponse,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/members/{member_id}/dependents");
|
|
280
|
+
});
|
|
281
|
+
}
|
|
176
282
|
/**
|
|
177
283
|
* Lists a member's employment across every employer — the same employee record shape as the employer's employees list, plus the employer name. For an organization caller the rows are scoped to companies in that organization's book; a member (self/household) or Vitable Admin sees all employments. A member not visible to the caller returns a 404.
|
|
178
284
|
*
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type * as VitableConnect from "../../../../index.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* @example
|
|
4
|
+
* {
|
|
5
|
+
* member_id: "mbr_abc123def456",
|
|
6
|
+
* first_name: "Sam",
|
|
7
|
+
* last_name: "Doe",
|
|
8
|
+
* date_of_birth: "2015-06-01",
|
|
9
|
+
* sex_at_birth: "Male",
|
|
10
|
+
* relationship: "Child",
|
|
11
|
+
* address: {
|
|
12
|
+
* address_line_1: "123 Main St",
|
|
13
|
+
* city: "Detroit",
|
|
14
|
+
* state: "MI",
|
|
15
|
+
* zipcode: "48201"
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
export interface CreateMemberDependentRequest {
|
|
20
|
+
/** Unique member identifier (mbr_*) */
|
|
21
|
+
member_id: VitableConnect.MemberId;
|
|
22
|
+
/** Organization to act as for this request (e.g. `org_SGVsbG8gV29ybGQ`). Optional when your credentials reach a single organization. Required when they reach several — omitting it then returns 400 `organization_required`. A malformed value returns 400 `invalid_organization_header`, and naming an organization you do not have access to returns 403 `organization_access_denied`. */
|
|
23
|
+
"X-Vitable-Organization"?: VitableConnect.XVitableOrganization;
|
|
24
|
+
/** Dependent's legal first name */
|
|
25
|
+
first_name: string;
|
|
26
|
+
/** Dependent's legal last name */
|
|
27
|
+
last_name: string;
|
|
28
|
+
/**
|
|
29
|
+
* Name suffix
|
|
30
|
+
*
|
|
31
|
+
* * `Sr` - Sr
|
|
32
|
+
* * `Jr` - Jr
|
|
33
|
+
* * `I` - I
|
|
34
|
+
* * `II` - II
|
|
35
|
+
* * `III` - III
|
|
36
|
+
* * `IV` - IV
|
|
37
|
+
* * `V` - V
|
|
38
|
+
*/
|
|
39
|
+
suffix?: VitableConnect.NameSuffix | null;
|
|
40
|
+
/** Date of birth (YYYY-MM-DD); cannot be in the future */
|
|
41
|
+
date_of_birth: string;
|
|
42
|
+
/**
|
|
43
|
+
* Sex assigned at birth
|
|
44
|
+
*
|
|
45
|
+
* * `Male` - Male
|
|
46
|
+
* * `Female` - Female
|
|
47
|
+
* * `Other` - Other
|
|
48
|
+
* * `Unknown` - Unknown
|
|
49
|
+
*/
|
|
50
|
+
sex_at_birth?: VitableConnect.SexAtBirth | null;
|
|
51
|
+
/**
|
|
52
|
+
* Gender identity
|
|
53
|
+
*
|
|
54
|
+
* * `Male` - Male
|
|
55
|
+
* * `Female` - Female
|
|
56
|
+
* * `Transgender` - Transgender
|
|
57
|
+
* * `Non-binary` - Non-binary
|
|
58
|
+
* * `Prefer not to respond` - Prefer not to respond
|
|
59
|
+
*/
|
|
60
|
+
gender?: VitableConnect.Gender | null;
|
|
61
|
+
/** Dependent's email address. Ignored for dependents under 18, and not changed for a dependent Vitable already has on file. */
|
|
62
|
+
email?: string | null;
|
|
63
|
+
/** Dependent's 10-digit US phone number; formatting characters and a leading 1 are ignored. Ignored for dependents under 18, and not changed for a dependent Vitable already has on file. */
|
|
64
|
+
phone?: string | null;
|
|
65
|
+
/**
|
|
66
|
+
* Relationship of the dependent to the member
|
|
67
|
+
*
|
|
68
|
+
* * `Spouse` - Spouse
|
|
69
|
+
* * `Child` - Child
|
|
70
|
+
*/
|
|
71
|
+
relationship: VitableConnect.Relationship;
|
|
72
|
+
/** Dependent's residential address */
|
|
73
|
+
address: VitableConnect.CreateMemberDependentAddressRequest;
|
|
74
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { CreateMemberDependentRequest } from "./CreateMemberDependentRequest.mjs";
|
|
1
2
|
export type { GetHouseholdMembersRequest } from "./GetHouseholdMembersRequest.mjs";
|
|
2
3
|
export type { GetMembersRequest } from "./GetMembersRequest.mjs";
|
|
3
4
|
export type { ListDependentsMembersRequest } from "./ListDependentsMembersRequest.mjs";
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type * as VitableConnect from "../index.mjs";
|
|
2
|
+
export interface CreateMemberDependentAddressRequest {
|
|
3
|
+
/** Primary street address */
|
|
4
|
+
address_line_1: string;
|
|
5
|
+
/** Secondary street address */
|
|
6
|
+
address_line_2?: (string | null) | undefined;
|
|
7
|
+
/** City name */
|
|
8
|
+
city: string;
|
|
9
|
+
/**
|
|
10
|
+
* Two-letter state code
|
|
11
|
+
*
|
|
12
|
+
* * `AL` - AL
|
|
13
|
+
* * `AK` - AK
|
|
14
|
+
* * `AZ` - AZ
|
|
15
|
+
* * `AR` - AR
|
|
16
|
+
* * `CA` - CA
|
|
17
|
+
* * `CO` - CO
|
|
18
|
+
* * `CT` - CT
|
|
19
|
+
* * `DC` - DC
|
|
20
|
+
* * `DE` - DE
|
|
21
|
+
* * `FL` - FL
|
|
22
|
+
* * `GA` - GA
|
|
23
|
+
* * `HI` - HI
|
|
24
|
+
* * `ID` - ID
|
|
25
|
+
* * `IL` - IL
|
|
26
|
+
* * `IN` - IN
|
|
27
|
+
* * `IA` - IA
|
|
28
|
+
* * `KS` - KS
|
|
29
|
+
* * `KY` - KY
|
|
30
|
+
* * `LA` - LA
|
|
31
|
+
* * `ME` - ME
|
|
32
|
+
* * `MD` - MD
|
|
33
|
+
* * `MA` - MA
|
|
34
|
+
* * `MI` - MI
|
|
35
|
+
* * `MN` - MN
|
|
36
|
+
* * `MS` - MS
|
|
37
|
+
* * `MO` - MO
|
|
38
|
+
* * `MT` - MT
|
|
39
|
+
* * `NE` - NE
|
|
40
|
+
* * `NV` - NV
|
|
41
|
+
* * `NH` - NH
|
|
42
|
+
* * `NJ` - NJ
|
|
43
|
+
* * `NM` - NM
|
|
44
|
+
* * `NY` - NY
|
|
45
|
+
* * `NC` - NC
|
|
46
|
+
* * `ND` - ND
|
|
47
|
+
* * `OH` - OH
|
|
48
|
+
* * `OK` - OK
|
|
49
|
+
* * `OR` - OR
|
|
50
|
+
* * `PA` - PA
|
|
51
|
+
* * `RI` - RI
|
|
52
|
+
* * `SC` - SC
|
|
53
|
+
* * `SD` - SD
|
|
54
|
+
* * `TN` - TN
|
|
55
|
+
* * `TX` - TX
|
|
56
|
+
* * `UT` - UT
|
|
57
|
+
* * `VT` - VT
|
|
58
|
+
* * `VA` - VA
|
|
59
|
+
* * `WA` - WA
|
|
60
|
+
* * `WI` - WI
|
|
61
|
+
* * `WV` - WV
|
|
62
|
+
* * `WY` - WY
|
|
63
|
+
* * `PR` - PR
|
|
64
|
+
* * `GU` - GU
|
|
65
|
+
* * `AS` - AS
|
|
66
|
+
* * `VI` - VI
|
|
67
|
+
* * `MP` - MP
|
|
68
|
+
* * `MH` - MH
|
|
69
|
+
* * `PW` - PW
|
|
70
|
+
* * `FM` - FM
|
|
71
|
+
* * `AE` - AE
|
|
72
|
+
* * `AA` - AA
|
|
73
|
+
* * `AP` - AP
|
|
74
|
+
*/
|
|
75
|
+
state: VitableConnect.State;
|
|
76
|
+
/** ZIP code */
|
|
77
|
+
zipcode: string;
|
|
78
|
+
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* * `Male` - Male
|
|
3
3
|
* * `Female` - Female
|
|
4
4
|
* * `Transgender` - Transgender
|
|
5
|
-
* * `Non-binary` - Non
|
|
6
|
-
* * `Prefer not to respond` - Prefer
|
|
5
|
+
* * `Non-binary` - Non-binary
|
|
6
|
+
* * `Prefer not to respond` - Prefer not to respond
|
|
7
7
|
*/
|
|
8
8
|
export declare const Gender: {
|
|
9
9
|
readonly Male: "Male";
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* * `Male` - Male
|
|
4
4
|
* * `Female` - Female
|
|
5
5
|
* * `Transgender` - Transgender
|
|
6
|
-
* * `Non-binary` - Non
|
|
7
|
-
* * `Prefer not to respond` - Prefer
|
|
6
|
+
* * `Non-binary` - Non-binary
|
|
7
|
+
* * `Prefer not to respond` - Prefer not to respond
|
|
8
8
|
*/
|
|
9
9
|
export const Gender = {
|
|
10
10
|
Male: "Male",
|
|
@@ -90,7 +90,7 @@ export interface MemberEnrollment {
|
|
|
90
90
|
* * `Cancelled` - Cancelled
|
|
91
91
|
*/
|
|
92
92
|
policy_status: VitableConnect.PlanYearEnrollmentPolicyStatus | null;
|
|
93
|
-
/** True when today falls in the final month of the plan-year coverage window; drives end-of-coverage enrollment actions on the client. */
|
|
93
|
+
/** True when today (ET) falls in the final month of the member's individual coverage (the earliest of termination, subscription end, plan-year end, and selected-plan end) or of the plan-year coverage window; drives end-of-coverage enrollment actions on the client. */
|
|
94
94
|
in_last_month_of_coverage: boolean;
|
|
95
95
|
/** True when today falls inside the enrollment window this member has to answer in; drives enrollment-action availability on the client. */
|
|
96
96
|
is_within_enrollment_window: boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type * as VitableConnect from "../index.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Wire serializer for :class:`MemberLegalDependentDTO` (one legal-dependent row).
|
|
4
|
+
*/
|
|
5
|
+
export interface SavedMemberDependent {
|
|
6
|
+
/** The dependent's own member identifier with 'mbr_' prefix */
|
|
7
|
+
member_id?: string | undefined;
|
|
8
|
+
/** The primary member's identifier with 'mbr_' prefix */
|
|
9
|
+
primary_member_id?: string | undefined;
|
|
10
|
+
/** Dependent's first name */
|
|
11
|
+
first_name: string;
|
|
12
|
+
/** Dependent's last name */
|
|
13
|
+
last_name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Relationship of the dependent to the member (e.g., Spouse, Child)
|
|
16
|
+
*
|
|
17
|
+
* * `Spouse` - Spouse
|
|
18
|
+
* * `Child` - Child
|
|
19
|
+
*/
|
|
20
|
+
relationship: VitableConnect.Relationship;
|
|
21
|
+
/** Date of birth (YYYY-MM-DD) */
|
|
22
|
+
date_of_birth: string;
|
|
23
|
+
/** Dependent's age in years, derived from date of birth */
|
|
24
|
+
age: number;
|
|
25
|
+
/**
|
|
26
|
+
* Sex assigned at birth, if provided
|
|
27
|
+
*
|
|
28
|
+
* * `Male` - Male
|
|
29
|
+
* * `Female` - Female
|
|
30
|
+
* * `Other` - Other
|
|
31
|
+
* * `Unknown` - Unknown
|
|
32
|
+
*/
|
|
33
|
+
sex_at_birth?: (VitableConnect.SexAtBirth | null) | undefined;
|
|
34
|
+
/** Identifier of the dependent relationship, with 'ldep_' prefix */
|
|
35
|
+
legal_dependent_id: string;
|
|
36
|
+
/** True when the relationship was created by this request, false when an existing one was reused */
|
|
37
|
+
created: boolean;
|
|
38
|
+
}
|
|
@@ -30,6 +30,7 @@ export * from "./ContributionTier.mjs";
|
|
|
30
30
|
export * from "./CoverageTier.mjs";
|
|
31
31
|
export * from "./CreatedAfter.mjs";
|
|
32
32
|
export * from "./CreatedBefore.mjs";
|
|
33
|
+
export * from "./CreateMemberDependentAddressRequest.mjs";
|
|
33
34
|
export * from "./DeductionDetail.mjs";
|
|
34
35
|
export * from "./DeductionFrequency.mjs";
|
|
35
36
|
export * from "./DetailedAddress.mjs";
|
|
@@ -162,6 +163,8 @@ export * from "./RemainingEmployeeAction.mjs";
|
|
|
162
163
|
export * from "./RequestId.mjs";
|
|
163
164
|
export * from "./ResourceId.mjs";
|
|
164
165
|
export * from "./ResourceType.mjs";
|
|
166
|
+
export * from "./SavedMemberDependent.mjs";
|
|
167
|
+
export * from "./SavedMemberDependentResponse.mjs";
|
|
165
168
|
export * from "./Search.mjs";
|
|
166
169
|
export * from "./SexAtBirth.mjs";
|
|
167
170
|
export * from "./State.mjs";
|
|
@@ -30,6 +30,7 @@ export * from "./ContributionTier.mjs";
|
|
|
30
30
|
export * from "./CoverageTier.mjs";
|
|
31
31
|
export * from "./CreatedAfter.mjs";
|
|
32
32
|
export * from "./CreatedBefore.mjs";
|
|
33
|
+
export * from "./CreateMemberDependentAddressRequest.mjs";
|
|
33
34
|
export * from "./DeductionDetail.mjs";
|
|
34
35
|
export * from "./DeductionFrequency.mjs";
|
|
35
36
|
export * from "./DetailedAddress.mjs";
|
|
@@ -162,6 +163,8 @@ export * from "./RemainingEmployeeAction.mjs";
|
|
|
162
163
|
export * from "./RequestId.mjs";
|
|
163
164
|
export * from "./ResourceId.mjs";
|
|
164
165
|
export * from "./ResourceType.mjs";
|
|
166
|
+
export * from "./SavedMemberDependent.mjs";
|
|
167
|
+
export * from "./SavedMemberDependentResponse.mjs";
|
|
165
168
|
export * from "./Search.mjs";
|
|
166
169
|
export * from "./SexAtBirth.mjs";
|
|
167
170
|
export * from "./State.mjs";
|
package/dist/esm/version.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "5.
|
|
1
|
+
export declare const SDK_VERSION = "5.2.0";
|
package/dist/esm/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "5.
|
|
1
|
+
export const SDK_VERSION = "5.2.0";
|
package/package.json
CHANGED
package/reference.md
CHANGED
|
@@ -2185,6 +2185,82 @@ await client.members.listDependents({
|
|
|
2185
2185
|
</dl>
|
|
2186
2186
|
|
|
2187
2187
|
|
|
2188
|
+
</dd>
|
|
2189
|
+
</dl>
|
|
2190
|
+
</details>
|
|
2191
|
+
|
|
2192
|
+
<details><summary><code>client.members.<a href="/src/api/resources/members/client/Client.ts">createDependent</a>({ ...params }) -> VitableConnect.SavedMemberDependentResponse</code></summary>
|
|
2193
|
+
<dl>
|
|
2194
|
+
<dd>
|
|
2195
|
+
|
|
2196
|
+
#### 📝 Description
|
|
2197
|
+
|
|
2198
|
+
<dl>
|
|
2199
|
+
<dd>
|
|
2200
|
+
|
|
2201
|
+
<dl>
|
|
2202
|
+
<dd>
|
|
2203
|
+
|
|
2204
|
+
Saves a dependent (spouse or child) for a member. Saving does not enroll the dependent or change the member's coverage or coverage tier. If the member already has an active dependent matching this person, that relationship is reused and returned with a 200 and `created: false`; otherwise a new one is created with a 201 and `created: true`. In both cases the dependent's address is set to the one supplied; other details of a person Vitable already has on file are not changed. When a new dependent is created at exactly the member's address, Vitable also adds them to the member's household where it can; this never fails the request. The returned IDs identify the saved dependent. Social Security numbers are not accepted, and a body with an `ssn` field returns a 400. The caller must have write access to the target member, and API access tokens cannot save dependents. A member not visible to the caller returns a 404 before the body is validated. Business-rule failures return a 422 with `child_over_max_age` (a child must be under 26), `duplicate_active_spouse` (the member already has a different active spouse), `same_member`, `member_creation_failed`, or `legal_dependent_creation_failed`.
|
|
2205
|
+
</dd>
|
|
2206
|
+
</dl>
|
|
2207
|
+
</dd>
|
|
2208
|
+
</dl>
|
|
2209
|
+
|
|
2210
|
+
#### 🔌 Usage
|
|
2211
|
+
|
|
2212
|
+
<dl>
|
|
2213
|
+
<dd>
|
|
2214
|
+
|
|
2215
|
+
<dl>
|
|
2216
|
+
<dd>
|
|
2217
|
+
|
|
2218
|
+
```typescript
|
|
2219
|
+
await client.members.createDependent({
|
|
2220
|
+
member_id: "mbr_abc123def456",
|
|
2221
|
+
first_name: "Sam",
|
|
2222
|
+
last_name: "Doe",
|
|
2223
|
+
date_of_birth: "2015-06-01",
|
|
2224
|
+
sex_at_birth: "Male",
|
|
2225
|
+
relationship: "Child",
|
|
2226
|
+
address: {
|
|
2227
|
+
address_line_1: "123 Main St",
|
|
2228
|
+
city: "Detroit",
|
|
2229
|
+
state: "MI",
|
|
2230
|
+
zipcode: "48201"
|
|
2231
|
+
}
|
|
2232
|
+
});
|
|
2233
|
+
|
|
2234
|
+
```
|
|
2235
|
+
</dd>
|
|
2236
|
+
</dl>
|
|
2237
|
+
</dd>
|
|
2238
|
+
</dl>
|
|
2239
|
+
|
|
2240
|
+
#### ⚙️ Parameters
|
|
2241
|
+
|
|
2242
|
+
<dl>
|
|
2243
|
+
<dd>
|
|
2244
|
+
|
|
2245
|
+
<dl>
|
|
2246
|
+
<dd>
|
|
2247
|
+
|
|
2248
|
+
**request:** `VitableConnect.CreateMemberDependentRequest`
|
|
2249
|
+
|
|
2250
|
+
</dd>
|
|
2251
|
+
</dl>
|
|
2252
|
+
|
|
2253
|
+
<dl>
|
|
2254
|
+
<dd>
|
|
2255
|
+
|
|
2256
|
+
**requestOptions:** `MembersClient.RequestOptions`
|
|
2257
|
+
|
|
2258
|
+
</dd>
|
|
2259
|
+
</dl>
|
|
2260
|
+
</dd>
|
|
2261
|
+
</dl>
|
|
2262
|
+
|
|
2263
|
+
|
|
2188
2264
|
</dd>
|
|
2189
2265
|
</dl>
|
|
2190
2266
|
</details>
|