/** * Klaviyo API * The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details. * * Contact: developers@klaviyo.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 { AxiosResponse } from "axios"; import { FormCreateQuery } from '../model/formCreateQuery'; import { GetEncodedFormResponse } from '../model/getEncodedFormResponse'; import { GetFormResponse } from '../model/getFormResponse'; import { GetFormResponseCollection } from '../model/getFormResponseCollection'; import { GetFormVersionFormRelationshipResponse } from '../model/getFormVersionFormRelationshipResponse'; import { GetFormVersionResponse } from '../model/getFormVersionResponse'; import { GetFormVersionResponseCollection } from '../model/getFormVersionResponseCollection'; import { GetFormVersionsRelationshipsResponseCollection } from '../model/getFormVersionsRelationshipsResponseCollection'; import { PostEncodedFormResponse } from '../model/postEncodedFormResponse'; import { Session } from './apis'; export declare class FormsApi { session: Session; protected _basePath: string; protected _defaultHeaders: any; protected _useQuerystring: boolean; constructor(session: Session); set useQuerystring(value: boolean); set basePath(basePath: string); set defaultHeaders(defaultHeaders: any); get defaultHeaders(): any; get basePath(): string; /** * Create a new form.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:write` * @summary Create Form * @param formCreateQuery Creates a Form from parameters */ createForm(formCreateQuery: FormCreateQuery): Promise<{ response: AxiosResponse; body: PostEncodedFormResponse; }>; /** * Delete a given form.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:write` * @summary Delete Form * @param id The ID of the form */ deleteForm(id: string): Promise<{ response: AxiosResponse; body?: any; }>; /** * Get the form with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:read` * @summary Get Form * @param id The ID of the form * @param fieldsForm For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets */ getForm(id: string, options?: { fieldsForm?: Array<'ab_test' | 'created_at' | 'definition' | 'definition.versions' | 'name' | 'status' | 'updated_at'>; }): Promise<{ response: AxiosResponse; body: GetEncodedFormResponse; }>; /** * Get the form associated with the given form version.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:read` * @summary Get Form for Form Version * @param id The ID of the form version * @param fieldsForm For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets */ getFormForFormVersion(id: string, options?: { fieldsForm?: Array<'ab_test' | 'created_at' | 'name' | 'status' | 'updated_at'>; }): Promise<{ response: AxiosResponse; body: GetFormResponse; }>; /** * Get the ID of the form associated with the given form version.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:read` * @summary Get Form ID for Form Version * @param id The ID of the form version */ getFormIdForFormVersion(id: string): Promise<{ response: AxiosResponse; body: GetFormVersionFormRelationshipResponse; }>; /** * Get the form version with the given ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:read` * @summary Get Form Version * @param id The ID of the form version * @param fieldsFormVersion For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets */ getFormVersion(id: string, options?: { fieldsFormVersion?: Array<'ab_test' | 'ab_test.variation_name' | 'created_at' | 'form_type' | 'status' | 'updated_at' | 'variation_name'>; }): Promise<{ response: AxiosResponse; body: GetFormVersionResponse; }>; /** * Get all forms in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:read` * @summary Get Forms * @param fieldsForm For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`id`: `any`, `equals`<br>`name`: `any`, `contains`, `equals`<br>`ab_test`: `equals`<br>`updated_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`<br>`created_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`<br>`status`: `equals`* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.* @param sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting */ getForms(options?: { fieldsForm?: Array<'ab_test' | 'created_at' | 'name' | 'status' | 'updated_at'>; filter?: string; pageCursor?: string; pageSize?: number; sort?: 'created_at' | '-created_at' | 'updated_at' | '-updated_at'; }): Promise<{ response: AxiosResponse; body: GetFormResponseCollection; }>; /** * Get the IDs of the form versions for the given form.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:read` * @summary Get Version IDs for Form * @param id The ID of the form * @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`form_type`: `any`, `equals`<br>`status`: `equals`<br>`updated_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`<br>`created_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.* @param sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting */ getVersionIdsForForm(id: string, options?: { filter?: string; pageCursor?: string; pageSize?: number; sort?: 'created_at' | '-created_at' | 'updated_at' | '-updated_at'; }): Promise<{ response: AxiosResponse; body: GetFormVersionsRelationshipsResponseCollection; }>; /** * Get the form versions for the given form.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `forms:read` * @summary Get Versions for Form * @param id The ID of the form * @param fieldsFormVersion For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @param filter For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed field(s)/operator(s):<br>`form_type`: `any`, `equals`<br>`status`: `equals`<br>`updated_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`<br>`created_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`* @param pageCursor For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination* @param pageSize Default: 20. Min: 1. Max: 100.* @param sort For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting */ getVersionsForForm(id: string, options?: { fieldsFormVersion?: Array<'ab_test' | 'ab_test.variation_name' | 'created_at' | 'form_type' | 'status' | 'updated_at' | 'variation_name'>; filter?: string; pageCursor?: string; pageSize?: number; sort?: 'created_at' | '-created_at' | 'updated_at' | '-updated_at'; }): Promise<{ response: AxiosResponse; body: GetFormVersionResponseCollection; }>; } export interface FormsApi { /** * Alias of {@link FormsApi.getFormForFormVersion} * * @deprecated Use {@link FormsApi.getFormForFormVersion} instead */ getFormVersionForm: typeof FormsApi.prototype.getFormForFormVersion; } export interface FormsApi { /** * Alias of {@link FormsApi.getFormIdForFormVersion} * * @deprecated Use {@link FormsApi.getFormIdForFormVersion} instead */ getFormVersionRelationshipsForm: typeof FormsApi.prototype.getFormIdForFormVersion; } export interface FormsApi { /** * Alias of {@link FormsApi.getVersionIdsForForm} * * @deprecated Use {@link FormsApi.getVersionIdsForForm} instead */ getFormRelationshipsFormVersions: typeof FormsApi.prototype.getVersionIdsForForm; } export interface FormsApi { /** * Alias of {@link FormsApi.getVersionIdsForForm} * * @deprecated Use {@link FormsApi.getVersionIdsForForm} instead */ getFormRelationshipsVersions: typeof FormsApi.prototype.getVersionIdsForForm; } export interface FormsApi { /** * Alias of {@link FormsApi.getVersionsForForm} * * @deprecated Use {@link FormsApi.getVersionsForForm} instead */ getFormFormVersions: typeof FormsApi.prototype.getVersionsForForm; } export interface FormsApi { /** * Alias of {@link FormsApi.getVersionsForForm} * * @deprecated Use {@link FormsApi.getVersionsForForm} instead */ getFormVersions: typeof FormsApi.prototype.getVersionsForForm; }