/**
* 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;
}