UNPKG

@apideck/node

Version:
1,792 lines (1,525 loc) 101 kB
/* tslint:disable */ /* eslint-disable */ /** * Apideck * The Apideck OpenAPI Spec: SDK Optimized * * The version of the OpenAPI document: 10.13.0 * Contact: support@apideck.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { ActivitiesFilter, ActivitiesSort, Activity, ActivityToJSON, CompaniesFilter, CompaniesSort, Company, CompanyToJSON, Contact, ContactsFilter, ContactsSort, ContactToJSON, CreateActivityResponse, CreateActivityResponseFromJSON, CreateCompanyResponse, CreateCompanyResponseFromJSON, CreateContactResponse, CreateContactResponseFromJSON, CreateLeadResponse, CreateLeadResponseFromJSON, CreateNoteResponse, CreateNoteResponseFromJSON, CreateOpportunityResponse, CreateOpportunityResponseFromJSON, CreatePipelineResponse, CreatePipelineResponseFromJSON, CreateUserResponse, CreateUserResponseFromJSON, DeleteActivityResponse, DeleteActivityResponseFromJSON, DeleteCompanyResponse, DeleteCompanyResponseFromJSON, DeleteContactResponse, DeleteContactResponseFromJSON, DeleteLeadResponse, DeleteLeadResponseFromJSON, DeleteNoteResponse, DeleteNoteResponseFromJSON, DeleteOpportunityResponse, DeleteOpportunityResponseFromJSON, DeletePipelineResponse, DeletePipelineResponseFromJSON, DeleteUserResponse, DeleteUserResponseFromJSON, GetActivitiesResponse, GetActivitiesResponseFromJSON, GetActivityResponse, GetActivityResponseFromJSON, GetCompaniesResponse, GetCompaniesResponseFromJSON, GetCompanyResponse, GetCompanyResponseFromJSON, GetContactResponse, GetContactResponseFromJSON, GetContactsResponse, GetContactsResponseFromJSON, GetLeadResponse, GetLeadResponseFromJSON, GetLeadsResponse, GetLeadsResponseFromJSON, GetNoteResponse, GetNoteResponseFromJSON, GetNotesResponse, GetNotesResponseFromJSON, GetOpportunitiesResponse, GetOpportunitiesResponseFromJSON, GetOpportunityResponse, GetOpportunityResponseFromJSON, GetPipelineResponse, GetPipelineResponseFromJSON, GetPipelinesResponse, GetPipelinesResponseFromJSON, GetUserResponse, GetUserResponseFromJSON, GetUsersResponse, GetUsersResponseFromJSON, Lead, LeadsFilter, LeadsSort, LeadToJSON, Note, NoteToJSON, OpportunitiesFilter, OpportunitiesSort, Opportunity, OpportunityToJSON, PassThroughQuery, Pipeline, PipelineToJSON, UpdateActivityResponse, UpdateActivityResponseFromJSON, UpdateCompanyResponse, UpdateCompanyResponseFromJSON, UpdateContactResponse, UpdateContactResponseFromJSON, UpdateLeadResponse, UpdateLeadResponseFromJSON, UpdateNoteResponse, UpdateNoteResponseFromJSON, UpdateOpportunityResponse, UpdateOpportunityResponseFromJSON, UpdatePipelineResponse, UpdatePipelineResponseFromJSON, UpdateUserResponse, UpdateUserResponseFromJSON, User, UserToJSON } from '../models' import * as runtime from '../runtime' export interface CrmApiActivitiesAddRequest { activity: Activity raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiActivitiesAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number filter?: ActivitiesFilter sort?: ActivitiesSort passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiActivitiesDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiActivitiesOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface CrmApiActivitiesUpdateRequest { id: string activity: Activity consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiCompaniesAddRequest { company: Company raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiCompaniesAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number filter?: CompaniesFilter sort?: CompaniesSort passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiCompaniesDeleteRequest { id: string raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiCompaniesOneRequest { id: string raw?: boolean consumerId?: string appId?: string serviceId?: string fields?: string | null } export interface CrmApiCompaniesUpdateRequest { id: string company: Company raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiContactsAddRequest { contact: Contact raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiContactsAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number filter?: ContactsFilter sort?: ContactsSort passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiContactsDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiContactsOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null filter?: ContactsFilter } export interface CrmApiContactsUpdateRequest { id: string contact: Contact consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiLeadsAddRequest { lead: Lead raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiLeadsAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number filter?: LeadsFilter sort?: LeadsSort passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiLeadsDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiLeadsOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface CrmApiLeadsUpdateRequest { id: string lead: Lead consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiNotesAddRequest { note: Note raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiNotesAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiNotesDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiNotesOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface CrmApiNotesUpdateRequest { id: string note: Note consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiOpportunitiesAddRequest { opportunity: Opportunity raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiOpportunitiesAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number filter?: OpportunitiesFilter sort?: OpportunitiesSort passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiOpportunitiesDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiOpportunitiesOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface CrmApiOpportunitiesUpdateRequest { id: string opportunity: Opportunity consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiPipelinesAddRequest { pipeline: Pipeline raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiPipelinesAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiPipelinesDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiPipelinesOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface CrmApiPipelinesUpdateRequest { id: string pipeline: Pipeline consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiUsersAddRequest { user: User raw?: boolean consumerId?: string appId?: string serviceId?: string } export interface CrmApiUsersAllRequest { raw?: boolean consumerId?: string appId?: string serviceId?: string cursor?: string | null limit?: number passThrough?: PassThroughQuery fields?: string | null } export interface CrmApiUsersDeleteRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean } export interface CrmApiUsersOneRequest { id: string consumerId?: string appId?: string serviceId?: string raw?: boolean fields?: string | null } export interface CrmApiUsersUpdateRequest { id: string user: User consumerId?: string appId?: string serviceId?: string raw?: boolean } /** * */ export class CrmApi extends runtime.BaseAPI { /** * Create activity * Create activity */ async activitiesAddRaw( requestParameters: CrmApiActivitiesAddRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<CreateActivityResponse>> { if (requestParameters.activity === null || requestParameters.activity === undefined) { throw new runtime.RequiredError( 'activity', 'Required parameter requestParameters.activity was null or undefined when calling activitiesAdd.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/activities`, method: 'POST', headers: headerParameters, query: queryParameters, body: ActivityToJSON(requestParameters.activity) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => CreateActivityResponseFromJSON(jsonValue) ) } /** * Create activity * Create activity */ async activitiesAdd( requestParameters: CrmApiActivitiesAddRequest, initOverrides?: RequestInit ): Promise<CreateActivityResponse> { const response = await this.activitiesAddRaw(requestParameters, initOverrides) return await response.value() } /** * List activities * List activities */ async activitiesAllRaw( requestParameters: CrmApiActivitiesAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetActivitiesResponse>> { const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.cursor !== undefined) { queryParameters['cursor'] = requestParameters.cursor } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/activities`, method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetActivitiesResponseFromJSON(jsonValue) ) } /** * List activities * List activities */ async activitiesAll( requestParameters: CrmApiActivitiesAllRequest = {}, initOverrides?: RequestInit ): Promise<GetActivitiesResponse> { const response = await this.activitiesAllRaw(requestParameters, initOverrides) return await response.value() } /** * Delete activity * Delete activity */ async activitiesDeleteRaw( requestParameters: CrmApiActivitiesDeleteRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<DeleteActivityResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling activitiesDelete.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/activities/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'DELETE', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => DeleteActivityResponseFromJSON(jsonValue) ) } /** * Delete activity * Delete activity */ async activitiesDelete( requestParameters: CrmApiActivitiesDeleteRequest, initOverrides?: RequestInit ): Promise<DeleteActivityResponse> { const response = await this.activitiesDeleteRaw(requestParameters, initOverrides) return await response.value() } /** * Get activity * Get activity */ async activitiesOneRaw( requestParameters: CrmApiActivitiesOneRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetActivityResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling activitiesOne.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/activities/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetActivityResponseFromJSON(jsonValue) ) } /** * Get activity * Get activity */ async activitiesOne( requestParameters: CrmApiActivitiesOneRequest, initOverrides?: RequestInit ): Promise<GetActivityResponse> { const response = await this.activitiesOneRaw(requestParameters, initOverrides) return await response.value() } /** * Update activity * Update activity */ async activitiesUpdateRaw( requestParameters: CrmApiActivitiesUpdateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<UpdateActivityResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling activitiesUpdate.' ) } if (requestParameters.activity === null || requestParameters.activity === undefined) { throw new runtime.RequiredError( 'activity', 'Required parameter requestParameters.activity was null or undefined when calling activitiesUpdate.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/activities/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'PATCH', headers: headerParameters, query: queryParameters, body: ActivityToJSON(requestParameters.activity) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => UpdateActivityResponseFromJSON(jsonValue) ) } /** * Update activity * Update activity */ async activitiesUpdate( requestParameters: CrmApiActivitiesUpdateRequest, initOverrides?: RequestInit ): Promise<UpdateActivityResponse> { const response = await this.activitiesUpdateRaw(requestParameters, initOverrides) return await response.value() } /** * Create company * Create company */ async companiesAddRaw( requestParameters: CrmApiCompaniesAddRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<CreateCompanyResponse>> { if (requestParameters.company === null || requestParameters.company === undefined) { throw new runtime.RequiredError( 'company', 'Required parameter requestParameters.company was null or undefined when calling companiesAdd.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/companies`, method: 'POST', headers: headerParameters, query: queryParameters, body: CompanyToJSON(requestParameters.company) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => CreateCompanyResponseFromJSON(jsonValue) ) } /** * Create company * Create company */ async companiesAdd( requestParameters: CrmApiCompaniesAddRequest, initOverrides?: RequestInit ): Promise<CreateCompanyResponse> { const response = await this.companiesAddRaw(requestParameters, initOverrides) return await response.value() } /** * List companies * List companies */ async companiesAllRaw( requestParameters: CrmApiCompaniesAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetCompaniesResponse>> { const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.cursor !== undefined) { queryParameters['cursor'] = requestParameters.cursor } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/companies`, method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetCompaniesResponseFromJSON(jsonValue) ) } /** * List companies * List companies */ async companiesAll( requestParameters: CrmApiCompaniesAllRequest = {}, initOverrides?: RequestInit ): Promise<GetCompaniesResponse> { const response = await this.companiesAllRaw(requestParameters, initOverrides) return await response.value() } /** * Delete company * Delete company */ async companiesDeleteRaw( requestParameters: CrmApiCompaniesDeleteRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<DeleteCompanyResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling companiesDelete.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/companies/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'DELETE', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => DeleteCompanyResponseFromJSON(jsonValue) ) } /** * Delete company * Delete company */ async companiesDelete( requestParameters: CrmApiCompaniesDeleteRequest, initOverrides?: RequestInit ): Promise<DeleteCompanyResponse> { const response = await this.companiesDeleteRaw(requestParameters, initOverrides) return await response.value() } /** * Get company * Get company */ async companiesOneRaw( requestParameters: CrmApiCompaniesOneRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetCompanyResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling companiesOne.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/companies/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetCompanyResponseFromJSON(jsonValue)) } /** * Get company * Get company */ async companiesOne( requestParameters: CrmApiCompaniesOneRequest, initOverrides?: RequestInit ): Promise<GetCompanyResponse> { const response = await this.companiesOneRaw(requestParameters, initOverrides) return await response.value() } /** * Update company * Update company */ async companiesUpdateRaw( requestParameters: CrmApiCompaniesUpdateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<UpdateCompanyResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling companiesUpdate.' ) } if (requestParameters.company === null || requestParameters.company === undefined) { throw new runtime.RequiredError( 'company', 'Required parameter requestParameters.company was null or undefined when calling companiesUpdate.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/companies/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'PATCH', headers: headerParameters, query: queryParameters, body: CompanyToJSON(requestParameters.company) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => UpdateCompanyResponseFromJSON(jsonValue) ) } /** * Update company * Update company */ async companiesUpdate( requestParameters: CrmApiCompaniesUpdateRequest, initOverrides?: RequestInit ): Promise<UpdateCompanyResponse> { const response = await this.companiesUpdateRaw(requestParameters, initOverrides) return await response.value() } /** * Create contact * Create contact */ async contactsAddRaw( requestParameters: CrmApiContactsAddRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<CreateContactResponse>> { if (requestParameters.contact === null || requestParameters.contact === undefined) { throw new runtime.RequiredError( 'contact', 'Required parameter requestParameters.contact was null or undefined when calling contactsAdd.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/contacts`, method: 'POST', headers: headerParameters, query: queryParameters, body: ContactToJSON(requestParameters.contact) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => CreateContactResponseFromJSON(jsonValue) ) } /** * Create contact * Create contact */ async contactsAdd( requestParameters: CrmApiContactsAddRequest, initOverrides?: RequestInit ): Promise<CreateContactResponse> { const response = await this.contactsAddRaw(requestParameters, initOverrides) return await response.value() } /** * List contacts * List contacts */ async contactsAllRaw( requestParameters: CrmApiContactsAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetContactsResponse>> { const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.cursor !== undefined) { queryParameters['cursor'] = requestParameters.cursor } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/contacts`, method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetContactsResponseFromJSON(jsonValue) ) } /** * List contacts * List contacts */ async contactsAll( requestParameters: CrmApiContactsAllRequest = {}, initOverrides?: RequestInit ): Promise<GetContactsResponse> { const response = await this.contactsAllRaw(requestParameters, initOverrides) return await response.value() } /** * Delete contact * Delete contact */ async contactsDeleteRaw( requestParameters: CrmApiContactsDeleteRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<DeleteContactResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling contactsDelete.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/contacts/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'DELETE', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => DeleteContactResponseFromJSON(jsonValue) ) } /** * Delete contact * Delete contact */ async contactsDelete( requestParameters: CrmApiContactsDeleteRequest, initOverrides?: RequestInit ): Promise<DeleteContactResponse> { const response = await this.contactsDeleteRaw(requestParameters, initOverrides) return await response.value() } /** * Get contact * Get contact */ async contactsOneRaw( requestParameters: CrmApiContactsOneRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetContactResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling contactsOne.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/contacts/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetContactResponseFromJSON(jsonValue)) } /** * Get contact * Get contact */ async contactsOne( requestParameters: CrmApiContactsOneRequest, initOverrides?: RequestInit ): Promise<GetContactResponse> { const response = await this.contactsOneRaw(requestParameters, initOverrides) return await response.value() } /** * Update contact * Update contact */ async contactsUpdateRaw( requestParameters: CrmApiContactsUpdateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<UpdateContactResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling contactsUpdate.' ) } if (requestParameters.contact === null || requestParameters.contact === undefined) { throw new runtime.RequiredError( 'contact', 'Required parameter requestParameters.contact was null or undefined when calling contactsUpdate.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/contacts/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'PATCH', headers: headerParameters, query: queryParameters, body: ContactToJSON(requestParameters.contact) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => UpdateContactResponseFromJSON(jsonValue) ) } /** * Update contact * Update contact */ async contactsUpdate( requestParameters: CrmApiContactsUpdateRequest, initOverrides?: RequestInit ): Promise<UpdateContactResponse> { const response = await this.contactsUpdateRaw(requestParameters, initOverrides) return await response.value() } /** * Create lead * Create lead */ async leadsAddRaw( requestParameters: CrmApiLeadsAddRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<CreateLeadResponse>> { if (requestParameters.lead === null || requestParameters.lead === undefined) { throw new runtime.RequiredError( 'lead', 'Required parameter requestParameters.lead was null or undefined when calling leadsAdd.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} headerParameters['Content-Type'] = 'application/json' if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/leads`, method: 'POST', headers: headerParameters, query: queryParameters, body: LeadToJSON(requestParameters.lead) }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => CreateLeadResponseFromJSON(jsonValue)) } /** * Create lead * Create lead */ async leadsAdd( requestParameters: CrmApiLeadsAddRequest, initOverrides?: RequestInit ): Promise<CreateLeadResponse> { const response = await this.leadsAddRaw(requestParameters, initOverrides) return await response.value() } /** * List leads * List leads */ async leadsAllRaw( requestParameters: CrmApiLeadsAllRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<GetLeadsResponse>> { const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } if (requestParameters.cursor !== undefined) { queryParameters['cursor'] = requestParameters.cursor } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit } if (requestParameters.filter !== undefined) { queryParameters['filter'] = requestParameters.filter } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort } if (requestParameters.passThrough !== undefined) { queryParameters['pass_through'] = requestParameters.passThrough } if (requestParameters.fields !== undefined) { queryParameters['fields'] = requestParameters.fields } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-consumer-id'] = String(requestParameters.consumerId) } if (requestParameters.appId !== undefined && requestParameters.appId !== null) { headerParameters['x-apideck-app-id'] = String(requestParameters.appId) } if (requestParameters.serviceId !== undefined && requestParameters.serviceId !== null) { headerParameters['x-apideck-service-id'] = String(requestParameters.serviceId) } if (this.configuration && this.configuration.apiKey) { headerParameters['Authorization'] = this.configuration.apiKey('Authorization') // apiKey authentication } const response = await this.request( { path: `/crm/leads`, method: 'GET', headers: headerParameters, query: queryParameters }, initOverrides ) return new runtime.JSONApiResponse(response, jsonValue => GetLeadsResponseFromJSON(jsonValue)) } /** * List leads * List leads */ async leadsAll( requestParameters: CrmApiLeadsAllRequest = {}, initOverrides?: RequestInit ): Promise<GetLeadsResponse> { const response = await this.leadsAllRaw(requestParameters, initOverrides) return await response.value() } /** * Delete lead * Delete lead */ async leadsDeleteRaw( requestParameters: CrmApiLeadsDeleteRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<DeleteLeadResponse>> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling leadsDelete.' ) } const queryParameters: any = {} if (requestParameters.raw !== undefined) { queryParameters['raw'] = requestParameters.raw } const headerParameters: runtime.HTTPHeaders = {} if (requestParameters.consumerId !== undefined && requestParameters.consumerId !== null) { headerParameters['x-apideck-co