/** * 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 { DataSourceCreateQuery } from '../model/dataSourceCreateQuery'; import { DataSourceRecordBulkCreateJobCreateQuery } from '../model/dataSourceRecordBulkCreateJobCreateQuery'; import { DataSourceRecordCreateJobCreateQuery } from '../model/dataSourceRecordCreateJobCreateQuery'; import { GetDataSourceResponse } from '../model/getDataSourceResponse'; import { GetDataSourceResponseCollection } from '../model/getDataSourceResponseCollection'; import { PostDataSourceResponse } from '../model/postDataSourceResponse'; import { Session } from './apis'; export declare class CustomObjectsApi { 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 bulk data source record import job to create a batch of records. Accepts up to 500 records per request. The maximum allowed payload size is 4MB. The maximum allowed payload size per-record is 512KB. To learn more, see our [Custom Objects API overview](https://developers.klaviyo.com/en/reference/custom_objects_api_overview).

*Rate limits*:
Burst: `3/s`
Steady: `15/m` **Scopes:** `custom-objects:write` * @summary Bulk Create Data Source Records * @param dataSourceRecordBulkCreateJobCreateQuery Create a data source record job */ bulkCreateDataSourceRecords(dataSourceRecordBulkCreateJobCreateQuery: DataSourceRecordBulkCreateJobCreateQuery): Promise<{ response: AxiosResponse; body?: any; }>; /** * Create a new data source in an account

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `custom-objects:write` * @summary Create Data Source * @param dataSourceCreateQuery Create data source */ createDataSource(dataSourceCreateQuery: DataSourceCreateQuery): Promise<{ response: AxiosResponse; body: PostDataSourceResponse; }>; /** * Create a data source record import job to create a single record. The maximum allowed payload size per-record is 512KB. To learn more, see our [Custom Objects API overview](https://developers.klaviyo.com/en/reference/custom_objects_api_overview).

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `custom-objects:write` * @summary Create Data Source Record * @param dataSourceRecordCreateJobCreateQuery Create a data source record job */ createDataSourceRecord(dataSourceRecordCreateJobCreateQuery: DataSourceRecordCreateJobCreateQuery): Promise<{ response: AxiosResponse; body?: any; }>; /** * Delete a data source in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `custom-objects:write` * @summary Delete Data Source * @param id The ID of the data source to delete */ deleteDataSource(id: string): Promise<{ response: AxiosResponse; body?: any; }>; /** * Retrieve a data source in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `custom-objects:read` * @summary Get Data Source * @param id The ID of the data source * @param fieldsDataSource For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets */ getDataSource(id: string, options?: { fieldsDataSource?: Array<'description' | 'namespace' | 'title' | 'visibility'>; }): Promise<{ response: AxiosResponse; body: GetDataSourceResponse; }>; /** * Get all data sources in an account.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `custom-objects:read` * @summary Get Data Sources * @param fieldsDataSource For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets* @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. */ getDataSources(options?: { fieldsDataSource?: Array<'description' | 'namespace' | 'title' | 'visibility'>; pageCursor?: string; pageSize?: number; }): Promise<{ response: AxiosResponse; body: GetDataSourceResponseCollection; }>; } export interface CustomObjectsApi { /** * Alias of {@link CustomObjectsApi.bulkCreateDataSourceRecords} * * @deprecated Use {@link CustomObjectsApi.bulkCreateDataSourceRecords} instead */ createDataSourceRecordBulkCreateJob: typeof CustomObjectsApi.prototype.bulkCreateDataSourceRecords; } export interface CustomObjectsApi { /** * Alias of {@link CustomObjectsApi.createDataSourceRecord} * * @deprecated Use {@link CustomObjectsApi.createDataSourceRecord} instead */ createDataSourceRecordCreateJob: typeof CustomObjectsApi.prototype.createDataSourceRecord; }