2727 benefit_list_params ,
2828 benefit_create_params ,
2929 benefit_update_params ,
30+ benefit_register_params ,
3031 benefit_retrieve_params ,
3132 benefit_list_supported_benefits_params ,
3233)
3738from ....types .hris .supported_benefit import SupportedBenefit
3839from ....types .hris .update_company_benefit_response import UpdateCompanyBenefitResponse
3940from ....types .hris .create_company_benefits_response import CreateCompanyBenefitsResponse
41+ from ....types .hris .register_company_benefit_response import RegisterCompanyBenefitResponse
4042
4143__all__ = ["Benefits" , "AsyncBenefits" ]
4244
@@ -295,6 +297,60 @@ def list_supported_benefits(
295297 model = SupportedBenefit ,
296298 )
297299
300+ def register (
301+ self ,
302+ * ,
303+ entity_ids : SequenceNotStr [str ] | Omit = omit ,
304+ description : str | Omit = omit ,
305+ frequency : Optional [BenefitFrequency ] | Omit = omit ,
306+ type : Optional [BenefitType ] | Omit = omit ,
307+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
308+ # The extra values given here take precedence over values defined on the client or passed to this method.
309+ extra_headers : Headers | None = None ,
310+ extra_query : Query | None = None ,
311+ extra_body : Body | None = None ,
312+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
313+ ) -> RegisterCompanyBenefitResponse :
314+ """
315+ Register existing benefits from the customer on the provider, on Finch's end.
316+ Please use the `/provider` endpoint to view available types for each provider.
317+
318+ Args:
319+ entity_ids: The entity IDs to specify which entities' data to access.
320+
321+ frequency: The frequency of the benefit deduction/contribution.
322+
323+ type: Type of benefit.
324+
325+ extra_headers: Send extra headers
326+
327+ extra_query: Add additional query parameters to the request
328+
329+ extra_body: Add additional JSON properties to the request
330+
331+ timeout: Override the client-level default timeout for this request, in seconds
332+ """
333+ return self ._post (
334+ "/employer/benefits/register" ,
335+ body = maybe_transform (
336+ {
337+ "description" : description ,
338+ "frequency" : frequency ,
339+ "type" : type ,
340+ },
341+ benefit_register_params .BenefitRegisterParams ,
342+ ),
343+ options = make_request_options (
344+ extra_headers = extra_headers ,
345+ extra_query = extra_query ,
346+ extra_body = extra_body ,
347+ timeout = timeout ,
348+ query = maybe_transform ({"entity_ids" : entity_ids }, benefit_register_params .BenefitRegisterParams ),
349+ security = {"bearer_auth" : True },
350+ ),
351+ cast_to = RegisterCompanyBenefitResponse ,
352+ )
353+
298354
299355class AsyncBenefits (AsyncAPIResource ):
300356 @cached_property
@@ -556,6 +612,62 @@ def list_supported_benefits(
556612 model = SupportedBenefit ,
557613 )
558614
615+ async def register (
616+ self ,
617+ * ,
618+ entity_ids : SequenceNotStr [str ] | Omit = omit ,
619+ description : str | Omit = omit ,
620+ frequency : Optional [BenefitFrequency ] | Omit = omit ,
621+ type : Optional [BenefitType ] | Omit = omit ,
622+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
623+ # The extra values given here take precedence over values defined on the client or passed to this method.
624+ extra_headers : Headers | None = None ,
625+ extra_query : Query | None = None ,
626+ extra_body : Body | None = None ,
627+ timeout : float | httpx .Timeout | None | NotGiven = not_given ,
628+ ) -> RegisterCompanyBenefitResponse :
629+ """
630+ Register existing benefits from the customer on the provider, on Finch's end.
631+ Please use the `/provider` endpoint to view available types for each provider.
632+
633+ Args:
634+ entity_ids: The entity IDs to specify which entities' data to access.
635+
636+ frequency: The frequency of the benefit deduction/contribution.
637+
638+ type: Type of benefit.
639+
640+ extra_headers: Send extra headers
641+
642+ extra_query: Add additional query parameters to the request
643+
644+ extra_body: Add additional JSON properties to the request
645+
646+ timeout: Override the client-level default timeout for this request, in seconds
647+ """
648+ return await self ._post (
649+ "/employer/benefits/register" ,
650+ body = await async_maybe_transform (
651+ {
652+ "description" : description ,
653+ "frequency" : frequency ,
654+ "type" : type ,
655+ },
656+ benefit_register_params .BenefitRegisterParams ,
657+ ),
658+ options = make_request_options (
659+ extra_headers = extra_headers ,
660+ extra_query = extra_query ,
661+ extra_body = extra_body ,
662+ timeout = timeout ,
663+ query = await async_maybe_transform (
664+ {"entity_ids" : entity_ids }, benefit_register_params .BenefitRegisterParams
665+ ),
666+ security = {"bearer_auth" : True },
667+ ),
668+ cast_to = RegisterCompanyBenefitResponse ,
669+ )
670+
559671
560672class BenefitsWithRawResponse :
561673 def __init__ (self , benefits : Benefits ) -> None :
@@ -576,6 +688,9 @@ def __init__(self, benefits: Benefits) -> None:
576688 self .list_supported_benefits = _legacy_response .to_raw_response_wrapper (
577689 benefits .list_supported_benefits ,
578690 )
691+ self .register = _legacy_response .to_raw_response_wrapper (
692+ benefits .register ,
693+ )
579694
580695 @cached_property
581696 def individuals (self ) -> IndividualsWithRawResponse :
@@ -601,6 +716,9 @@ def __init__(self, benefits: AsyncBenefits) -> None:
601716 self .list_supported_benefits = _legacy_response .async_to_raw_response_wrapper (
602717 benefits .list_supported_benefits ,
603718 )
719+ self .register = _legacy_response .async_to_raw_response_wrapper (
720+ benefits .register ,
721+ )
604722
605723 @cached_property
606724 def individuals (self ) -> AsyncIndividualsWithRawResponse :
@@ -626,6 +744,9 @@ def __init__(self, benefits: Benefits) -> None:
626744 self .list_supported_benefits = to_streamed_response_wrapper (
627745 benefits .list_supported_benefits ,
628746 )
747+ self .register = to_streamed_response_wrapper (
748+ benefits .register ,
749+ )
629750
630751 @cached_property
631752 def individuals (self ) -> IndividualsWithStreamingResponse :
@@ -651,6 +772,9 @@ def __init__(self, benefits: AsyncBenefits) -> None:
651772 self .list_supported_benefits = async_to_streamed_response_wrapper (
652773 benefits .list_supported_benefits ,
653774 )
775+ self .register = async_to_streamed_response_wrapper (
776+ benefits .register ,
777+ )
654778
655779 @cached_property
656780 def individuals (self ) -> AsyncIndividualsWithStreamingResponse :
0 commit comments