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