dev-main 2022-11-23 12:24 UTC

This package is auto-updated.

Last update: 2024-05-23 15:47:31 UTC


README

  • SDK version: 1.0.1
  • API Revision: 2022-10-17

Helpful Resources

Design & Approach

This SDK is a thin wrapper around our API. See our API Reference for full documentation on behavior.

This SDK mirrors the organization and naming convention of the above language-agnostic resources, with a few namespace changes to conform to PHP idioms (details in Appendix).

Organization

This SDK is organized into the following resources:

  • Catalogs

  • Client

  • Events

  • Flows

  • Lists

  • Metrics

  • Profiles

  • Segments

  • Templates

Installation

You can install this package using our Packagist package:

composer require klaviyo/api

Usage Example

<?php
require_once(__DIR__ . '/vendor/autoload.php');

use KlaviyoAPI\KlaviyoAPI;

$klaviyo = new KlaviyoAPI(
    'YOUR_API_KEY', 
    $num_retries = 3, 
    $wait_seconds = 3);

$response = $klaviyo->Metrics->getMetrics();

Retry behavior

  • The SDK retries on resolvable errors, namely: rate limits (common) and server errors on Klaviyo's end (rare).
  • The keyword arguments in the example above define retry behavior
    • wait_seconds denotes how long to wait per retry, in seconds
    • If you wish to disable retries, set $num_retries = 0
    • the example is populated with the default values
  • non-resolvable errors and resolvable errors which have timed out throw an ApiException, detailed below.

Error Handling

This SDK throws an ApiException error when the server returns a non resolvable response, or a resolvable non-2XX response times out.

If you'd like to extend error handling beyond what the SDK supports natively, you can use the following methods to retrieve the corresponding attributes from the ApiException object:

  • getCode() : int
  • getMessage() : str
  • getReponseBody() : bytes
  • getResponseHeaders() : string[]

For example:

try { 
  $klaviyo.Metrics.getMetrics();
} catch (Exception $e) {
  if ($e->getCode() == SOME_INTEGER) {
    doSomething();
  }
}

Important Notes

  • The main difference between this SDK and the language-agnostic API Docs that the below endpoints link to is that this SDK automatically adds the revision header corresponding to the SDK version.
  • Organization: Resource groups and functions are listed in alphabetical order, first by Resource name, then by OpenAPI Summary. Operation summaries are those listed in the right side bar of the API Reference. These summaries link directly to the corresponding section of the API reference.
  • For example values / data types, as well as whether parameters are required/optional, please reference the corresponding API Reference link.
  • Some keyword args are required for the API call to succeed, the API docs above are the source of truth regarding which keyword args are required.
  • JSON payloads should be passed in as associative arrays
  • A strange quirk of PHP is that default/optional arguments must be passed in in order, and MUST be included and set as null, at least up to the last default value you wish to use.
    • For example, if a given function has the following optional parameters someFunction($a=1, $b=2, $c=3), and you wish to only set $b, you MUST pass in someFunction($a=null, $b=$YOUR_VALUE)
    • Otherwise, if you pass in something such as someFunction($b=$YOUR_VALUE), PHP will actually assign the $YOUR_VALUE to parameter $a, which is wrong.
  • $api_key is optional, as it is set at client-level. However, you can override the client key wherever by passing in $api_key as the LAST optional param. Reminder: DO NOT use private API keys client-side / onsite.
  • Paging: Where applicable, $page_cursor can be passed in either as a parsed string, or as the entire self.link response returned by paged API endpoints.

Comprehensive list of Operations & Parameters

Catalogs

Create Catalog Category

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->createCatalogCategory($body);

Create Catalog Category Relationships

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Catalogs->createCatalogCategoryRelationships($id, $related_resource, $body);

Create Catalog Item

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->createCatalogItem($body);

Create Catalog Item Relationships

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Catalogs->createCatalogItemRelationships($id, $related_resource, $body);

Create Catalog Variant

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->createCatalogVariant($body);

Delete Catalog Category

## Positional Arguments

# $id | string

$klaviyo->Catalogs->deleteCatalogCategory($id);

Delete Catalog Category Relationships

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Catalogs->deleteCatalogCategoryRelationships($id, $related_resource, $body);

Delete Catalog Item

## Positional Arguments

# $id | string

$klaviyo->Catalogs->deleteCatalogItem($id);

Delete Catalog Item Relationships

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Catalogs->deleteCatalogItemRelationships($id, $related_resource, $body);

Delete Catalog Variant

## Positional Arguments

# $id | string

$klaviyo->Catalogs->deleteCatalogVariant($id);

Get Catalog Categories

## Keyword Arguments

# $fields_catalog_category | string[]
# $filter | string
# $page_cursor | string
# $sort | string

$klaviyo->Catalogs->getCatalogCategories($fields_catalog_category=$fields_catalog_category, $filter=$filter, $page_cursor=$page_cursor, $sort=$sort);

Get Catalog Category

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_catalog_category | string[]

$klaviyo->Catalogs->getCatalogCategory($id, $fields_catalog_category=$fields_catalog_category);

Get Catalog Category Items

## Positional Arguments

# $category_id | string

## Keyword Arguments

# $fields_catalog_item | string[]
# $fields_catalog_variant | string[]
# $filter | string
# $include | string[]
# $page_cursor | string
# $sort | string

$klaviyo->Catalogs->getCatalogCategoryItems($category_id, $fields_catalog_item=$fields_catalog_item, $fields_catalog_variant=$fields_catalog_variant, $filter=$filter, $include=$include, $page_cursor=$page_cursor, $sort=$sort);

Get Catalog Category Relationships

## Positional Arguments

# $id | string
# $related_resource | string

## Keyword Arguments

# $page_cursor | string

$klaviyo->Catalogs->getCatalogCategoryRelationships($id, $related_resource, $page_cursor=$page_cursor);

Get Catalog Item

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_catalog_item | string[]
# $fields_catalog_variant | string[]
# $include | string[]

$klaviyo->Catalogs->getCatalogItem($id, $fields_catalog_item=$fields_catalog_item, $fields_catalog_variant=$fields_catalog_variant, $include=$include);

Get Catalog Item Categories

## Positional Arguments

# $item_id | string

## Keyword Arguments

# $fields_catalog_category | string[]
# $filter | string
# $page_cursor | string
# $sort | string

$klaviyo->Catalogs->getCatalogItemCategories($item_id, $fields_catalog_category=$fields_catalog_category, $filter=$filter, $page_cursor=$page_cursor, $sort=$sort);

Get Catalog Item Relationships

## Positional Arguments

# $id | string
# $related_resource | string

## Keyword Arguments

# $page_cursor | string

$klaviyo->Catalogs->getCatalogItemRelationships($id, $related_resource, $page_cursor=$page_cursor);

Get Catalog Item Variants

## Positional Arguments

# $item_id | string

## Keyword Arguments

# $fields_catalog_variant | string[]
# $filter | string
# $page_cursor | string
# $sort | string

$klaviyo->Catalogs->getCatalogItemVariants($item_id, $fields_catalog_variant=$fields_catalog_variant, $filter=$filter, $page_cursor=$page_cursor, $sort=$sort);

Get Catalog Items

## Keyword Arguments

# $fields_catalog_item | string[]
# $fields_catalog_variant | string[]
# $filter | string
# $include | string[]
# $page_cursor | string
# $sort | string

$klaviyo->Catalogs->getCatalogItems($fields_catalog_item=$fields_catalog_item, $fields_catalog_variant=$fields_catalog_variant, $filter=$filter, $include=$include, $page_cursor=$page_cursor, $sort=$sort);

Get Catalog Variant

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_catalog_variant | string[]

$klaviyo->Catalogs->getCatalogVariant($id, $fields_catalog_variant=$fields_catalog_variant);

Get Catalog Variants

## Keyword Arguments

# $fields_catalog_variant | string[]
# $filter | string
# $page_cursor | string
# $sort | string

$klaviyo->Catalogs->getCatalogVariants($fields_catalog_variant=$fields_catalog_variant, $filter=$filter, $page_cursor=$page_cursor, $sort=$sort);

Get Create Categories Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_category_bulk_create_job | string[]
# $fields_catalog_category | string[]
# $include | string[]

$klaviyo->Catalogs->getCreateCategoriesJob($job_id, $fields_catalog_category_bulk_create_job=$fields_catalog_category_bulk_create_job, $fields_catalog_category=$fields_catalog_category, $include=$include);

Get Create Categories Jobs

## Keyword Arguments

# $fields_catalog_category_bulk_create_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getCreateCategoriesJobs($fields_catalog_category_bulk_create_job=$fields_catalog_category_bulk_create_job, $filter=$filter, $page_cursor=$page_cursor);

Get Create Items Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_item_bulk_create_job | string[]
# $fields_catalog_item | string[]
# $include | string[]

$klaviyo->Catalogs->getCreateItemsJob($job_id, $fields_catalog_item_bulk_create_job=$fields_catalog_item_bulk_create_job, $fields_catalog_item=$fields_catalog_item, $include=$include);

Get Create Items Jobs

## Keyword Arguments

# $fields_catalog_item_bulk_create_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getCreateItemsJobs($fields_catalog_item_bulk_create_job=$fields_catalog_item_bulk_create_job, $filter=$filter, $page_cursor=$page_cursor);

Get Create Variants Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_variant_bulk_create_job | string[]
# $fields_catalog_variant | string[]
# $include | string[]

$klaviyo->Catalogs->getCreateVariantsJob($job_id, $fields_catalog_variant_bulk_create_job=$fields_catalog_variant_bulk_create_job, $fields_catalog_variant=$fields_catalog_variant, $include=$include);

Get Create Variants Jobs

## Keyword Arguments

# $fields_catalog_variant_bulk_create_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getCreateVariantsJobs($fields_catalog_variant_bulk_create_job=$fields_catalog_variant_bulk_create_job, $filter=$filter, $page_cursor=$page_cursor);

Get Delete Categories Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_category_bulk_delete_job | string[]

$klaviyo->Catalogs->getDeleteCategoriesJob($job_id, $fields_catalog_category_bulk_delete_job=$fields_catalog_category_bulk_delete_job);

Get Delete Categories Jobs

## Keyword Arguments

# $fields_catalog_category_bulk_delete_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getDeleteCategoriesJobs($fields_catalog_category_bulk_delete_job=$fields_catalog_category_bulk_delete_job, $filter=$filter, $page_cursor=$page_cursor);

Get Delete Items Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_item_bulk_delete_job | string[]

$klaviyo->Catalogs->getDeleteItemsJob($job_id, $fields_catalog_item_bulk_delete_job=$fields_catalog_item_bulk_delete_job);

Get Delete Items Jobs

## Keyword Arguments

# $fields_catalog_item_bulk_delete_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getDeleteItemsJobs($fields_catalog_item_bulk_delete_job=$fields_catalog_item_bulk_delete_job, $filter=$filter, $page_cursor=$page_cursor);

Get Delete Variants Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_variant_bulk_delete_job | string[]

$klaviyo->Catalogs->getDeleteVariantsJob($job_id, $fields_catalog_variant_bulk_delete_job=$fields_catalog_variant_bulk_delete_job);

Get Delete Variants Jobs

## Keyword Arguments

# $fields_catalog_variant_bulk_delete_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getDeleteVariantsJobs($fields_catalog_variant_bulk_delete_job=$fields_catalog_variant_bulk_delete_job, $filter=$filter, $page_cursor=$page_cursor);

Get Update Categories Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_category_bulk_update_job | string[]
# $fields_catalog_category | string[]
# $include | string[]

$klaviyo->Catalogs->getUpdateCategoriesJob($job_id, $fields_catalog_category_bulk_update_job=$fields_catalog_category_bulk_update_job, $fields_catalog_category=$fields_catalog_category, $include=$include);

Get Update Categories Jobs

## Keyword Arguments

# $fields_catalog_category_bulk_update_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getUpdateCategoriesJobs($fields_catalog_category_bulk_update_job=$fields_catalog_category_bulk_update_job, $filter=$filter, $page_cursor=$page_cursor);

Get Update Items Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_item_bulk_update_job | string[]
# $fields_catalog_item | string[]
# $include | string[]

$klaviyo->Catalogs->getUpdateItemsJob($job_id, $fields_catalog_item_bulk_update_job=$fields_catalog_item_bulk_update_job, $fields_catalog_item=$fields_catalog_item, $include=$include);

Get Update Items Jobs

## Keyword Arguments

# $fields_catalog_item_bulk_update_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getUpdateItemsJobs($fields_catalog_item_bulk_update_job=$fields_catalog_item_bulk_update_job, $filter=$filter, $page_cursor=$page_cursor);

Get Update Variants Job

## Positional Arguments

# $job_id | string

## Keyword Arguments

# $fields_catalog_variant_bulk_update_job | string[]
# $fields_catalog_variant | string[]
# $include | string[]

$klaviyo->Catalogs->getUpdateVariantsJob($job_id, $fields_catalog_variant_bulk_update_job=$fields_catalog_variant_bulk_update_job, $fields_catalog_variant=$fields_catalog_variant, $include=$include);

Get Update Variants Jobs

## Keyword Arguments

# $fields_catalog_variant_bulk_update_job | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Catalogs->getUpdateVariantsJobs($fields_catalog_variant_bulk_update_job=$fields_catalog_variant_bulk_update_job, $filter=$filter, $page_cursor=$page_cursor);

Spawn Create Categories Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnCreateCategoriesJob($body);

Spawn Create Items Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnCreateItemsJob($body);

Spawn Create Variants Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnCreateVariantsJob($body);

Spawn Delete Categories Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnDeleteCategoriesJob($body);

Spawn Delete Items Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnDeleteItemsJob($body);

Spawn Delete Variants Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnDeleteVariantsJob($body);

Spawn Update Categories Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnUpdateCategoriesJob($body);

Spawn Update Items Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnUpdateItemsJob($body);

Spawn Update Variants Job

## Positional Arguments

# $body | associative array

$klaviyo->Catalogs->spawnUpdateVariantsJob($body);

Update Catalog Category

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Catalogs->updateCatalogCategory($id, $body);

Update Catalog Category Relationships

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Catalogs->updateCatalogCategoryRelationships($id, $related_resource, $body);

Update Catalog Item

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Catalogs->updateCatalogItem($id, $body);

Update Catalog Item Relationships

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Catalogs->updateCatalogItemRelationships($id, $related_resource, $body);

Update Catalog Variant

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Catalogs->updateCatalogVariant($id, $body);

Client

Create Client Event

## Positional Arguments

# $company_id | string
# $body | associative array

$klaviyo->Client->createClientEvent($company_id, $body);

Create Client Profile

## Positional Arguments

# $company_id | string
# $body | associative array

$klaviyo->Client->createClientProfile($company_id, $body);

Create Client Subscription

## Positional Arguments

# $company_id | string
# $body | associative array

$klaviyo->Client->createClientSubscription($company_id, $body);

Events

Create Event

## Positional Arguments

# $body | associative array

$klaviyo->Events->createEvent($body);

Get Event

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_event | string[]
# $fields_metric | string[]
# $fields_profile | string[]
# $include | string[]

$klaviyo->Events->getEvent($id, $fields_event=$fields_event, $fields_metric=$fields_metric, $fields_profile=$fields_profile, $include=$include);

Get Event Metrics

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_metric | string[]

$klaviyo->Events->getEventMetrics($id, $fields_metric=$fields_metric);

Get Event Profiles

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_profile | string[]

$klaviyo->Events->getEventProfiles($id, $fields_profile=$fields_profile);

Get Event Relationships

## Positional Arguments

# $id | string
# $related_resource | string

$klaviyo->Events->getEventRelationships($id, $related_resource);

Get Events

## Keyword Arguments

# $fields_event | string[]
# $fields_metric | string[]
# $fields_profile | string[]
# $filter | string
# $include | string[]
# $page_cursor | string
# $sort | string

$klaviyo->Events->getEvents($fields_event=$fields_event, $fields_metric=$fields_metric, $fields_profile=$fields_profile, $filter=$filter, $include=$include, $page_cursor=$page_cursor, $sort=$sort);

Flows

Get Flow

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_flow_action | string[]
# $fields_flow | string[]
# $include | string[]

$klaviyo->Flows->getFlow($id, $fields_flow_action=$fields_flow_action, $fields_flow=$fields_flow, $include=$include);

Get Flow Action

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_flow_action | string[]
# $fields_flow_message | string[]
# $fields_flow | string[]
# $include | string[]

$klaviyo->Flows->getFlowAction($id, $fields_flow_action=$fields_flow_action, $fields_flow_message=$fields_flow_message, $fields_flow=$fields_flow, $include=$include);

Get Flow For Flow Action

## Positional Arguments

# $action_id | string

## Keyword Arguments

# $fields_flow | string[]

$klaviyo->Flows->getFlowActionFlow($action_id, $fields_flow=$fields_flow);

Get Messages For Flow Action

## Positional Arguments

# $action_id | string

## Keyword Arguments

# $fields_flow_message | string[]
# $filter | string
# $sort | string

$klaviyo->Flows->getFlowActionMessages($action_id, $fields_flow_message=$fields_flow_message, $filter=$filter, $sort=$sort);

Get Flow Action Relationships

## Positional Arguments

# $id | string
# $related_resource | string

## Keyword Arguments

# $filter | string
# $sort | string

$klaviyo->Flows->getFlowActionRelationships($id, $related_resource, $filter=$filter, $sort=$sort);

Get Flow Actions For Flow

## Positional Arguments

# $flow_id | string

## Keyword Arguments

# $fields_flow_action | string[]
# $filter | string
# $sort | string

$klaviyo->Flows->getFlowFlowActions($flow_id, $fields_flow_action=$fields_flow_action, $filter=$filter, $sort=$sort);

Get Flow Message

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_flow_action | string[]
# $fields_flow_message | string[]
# $include | string[]

$klaviyo->Flows->getFlowMessage($id, $fields_flow_action=$fields_flow_action, $fields_flow_message=$fields_flow_message, $include=$include);

Get Flow Action For Message

## Positional Arguments

# $message_id | string

## Keyword Arguments

# $fields_flow_action | string[]

$klaviyo->Flows->getFlowMessageAction($message_id, $fields_flow_action=$fields_flow_action);

Get Flow Message Relationships

## Positional Arguments

# $id | string
# $related_resource | string

$klaviyo->Flows->getFlowMessageRelationships($id, $related_resource);

Get Flow Relationships

## Positional Arguments

# $id | string
# $related_resource | string

## Keyword Arguments

# $filter | string
# $sort | string

$klaviyo->Flows->getFlowRelationships($id, $related_resource, $filter=$filter, $sort=$sort);

Get Flows

## Keyword Arguments

# $fields_flow_action | string[]
# $fields_flow | string[]
# $filter | string
# $include | string[]
# $sort | string

$klaviyo->Flows->getFlows($fields_flow_action=$fields_flow_action, $fields_flow=$fields_flow, $filter=$filter, $include=$include, $sort=$sort);

Update Flow Status

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Flows->updateFlow($id, $body);

Lists

Create List

## Positional Arguments

# $body | associative array

$klaviyo->Lists->createList($body);

Add Profile to List

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Lists->createListRelationships($id, $related_resource, $body);

Delete List

## Positional Arguments

# $id | string

$klaviyo->Lists->deleteList($id);

Remove Profile from List

## Positional Arguments

# $id | string
# $related_resource | string
# $body | associative array

$klaviyo->Lists->deleteListRelationships($id, $related_resource, $body);

Get List

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_list | string[]

$klaviyo->Lists->getList($id, $fields_list=$fields_list);

Get List Profiles

## Positional Arguments

# $list_id | string

## Keyword Arguments

# $fields_profile | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Lists->getListProfiles($list_id, $fields_profile=$fields_profile, $filter=$filter, $page_cursor=$page_cursor);

Get List Profile Relationships

## Positional Arguments

# $id | string
# $related_resource | string

## Keyword Arguments

# $page_cursor | string

$klaviyo->Lists->getListRelationships($id, $related_resource, $page_cursor=$page_cursor);

Get Lists

## Keyword Arguments

# $fields_list | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Lists->getLists($fields_list=$fields_list, $filter=$filter, $page_cursor=$page_cursor);

Update List

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Lists->updateList($id, $body);

Metrics

Get Metric

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_metric | string[]

$klaviyo->Metrics->getMetric($id, $fields_metric=$fields_metric);

Get Metrics

## Keyword Arguments

# $fields_metric | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Metrics->getMetrics($fields_metric=$fields_metric, $filter=$filter, $page_cursor=$page_cursor);

Query Metric Aggregates

## Positional Arguments

# $body | associative array

$klaviyo->Metrics->queryMetricAggregates($body);

Profiles

Create Profile

## Positional Arguments

# $body | associative array

$klaviyo->Profiles->createProfile($body);

Get Profile

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_list | string[]
# $fields_profile | string[]
# $fields_segment | string[]
# $include | string[]

$klaviyo->Profiles->getProfile($id, $fields_list=$fields_list, $fields_profile=$fields_profile, $fields_segment=$fields_segment, $include=$include);

Get Profile Lists

## Positional Arguments

# $profile_id | string

## Keyword Arguments

# $fields_list | string[]

$klaviyo->Profiles->getProfileLists($profile_id, $fields_list=$fields_list);

Get Profile Relationships

## Positional Arguments

# $id | string
# $related_resource | string

$klaviyo->Profiles->getProfileRelationships($id, $related_resource);

Get Profile Segments

## Positional Arguments

# $profile_id | string

## Keyword Arguments

# $fields_segment | string[]

$klaviyo->Profiles->getProfileSegments($profile_id, $fields_segment=$fields_segment);

Get Profiles

## Keyword Arguments

# $fields_profile | string[]
# $filter | string
# $page_cursor | string
# $sort | string

$klaviyo->Profiles->getProfiles($fields_profile=$fields_profile, $filter=$filter, $page_cursor=$page_cursor, $sort=$sort);

Subscribe Profiles

## Positional Arguments

# $body | associative array

$klaviyo->Profiles->subscribeProfiles($body);

Suppress Profiles

## Positional Arguments

# $body | associative array

$klaviyo->Profiles->suppressProfiles($body);

Unsubscribe Profiles

## Positional Arguments

# $body | associative array

$klaviyo->Profiles->unsubscribeProfiles($body);

Unsuppress Profiles

## Positional Arguments

# $body | associative array

$klaviyo->Profiles->unsuppressProfiles($body);

Update Profile

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Profiles->updateProfile($id, $body);

Segments

Get Segment

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_segment | string[]

$klaviyo->Segments->getSegment($id, $fields_segment=$fields_segment);

Get Segment Profiles

## Positional Arguments

# $segment_id | string

## Keyword Arguments

# $fields_profile | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Segments->getSegmentProfiles($segment_id, $fields_profile=$fields_profile, $filter=$filter, $page_cursor=$page_cursor);

Get Segment Relationships

## Positional Arguments

# $id | string
# $related_resource | string

## Keyword Arguments

# $page_cursor | string

$klaviyo->Segments->getSegmentRelationships($id, $related_resource, $page_cursor=$page_cursor);

Get Segments

## Keyword Arguments

# $fields_segment | string[]
# $filter | string
# $page_cursor | string

$klaviyo->Segments->getSegments($fields_segment=$fields_segment, $filter=$filter, $page_cursor=$page_cursor);

Update Segment

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Segments->updateSegment($id, $body);

Templates

Create Template

## Positional Arguments

# $body | associative array

$klaviyo->Templates->createTemplate($body);

Create Template Clone

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Templates->createTemplateClone($id, $body);

Create Template Render

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Templates->createTemplateRender($id, $body);

Delete Template

## Positional Arguments

# $id | string

$klaviyo->Templates->deleteTemplate($id);

Get Template

## Positional Arguments

# $id | string

## Keyword Arguments

# $fields_template | string[]

$klaviyo->Templates->getTemplate($id, $fields_template=$fields_template);

Get Templates

## Keyword Arguments

# $fields_template | string[]
# $filter | string
# $page_cursor | string
# $sort | string

$klaviyo->Templates->getTemplates($fields_template=$fields_template, $filter=$filter, $page_cursor=$page_cursor, $sort=$sort);

Update Template

## Positional Arguments

# $id | string
# $body | associative array

$klaviyo->Templates->updateTemplate($id, $body);

Appendix

Global Keyword args

NOTES:

  • These are arguments that you can apply to any endpoint call, and which are unique to the SDK.
  • They come LAST, AFTER ALL the endpoint-specific keyword args listed above, in the same order they are listed below.
  • They are subject to the same quirks as any other PHP keyword args, in that to be included, they need to be preceeded by all keyword args listed before them. This includes all endpoint-specific keyword args for a given endpoint, along with any preceeding global keyword args listed below, if applicable. This holds even if those other keyword args are not being used; in that case, set those to null, but again, they must be included.

We currently support the following global keyword args:

  • $apiKey : use this to override the client-level api_key, which you define upon client instantiation.

Namespace

In the interest of making the SDK conform to PHP idioms, we made the following namespace changes relative to the language agnostic resources up top (API Docs, Guides, etc).

  • Underscores are stripped from function names (operation IDs)
  • Function names use camelCase (e.g. getMetrics)
  • Resource names use PascalCase (e.g. Metrics)
  • Parameter names remain unchanged

Parameters & Arguments

We stick to the following convention for parameters/arguments

  1. All parameters are passed as function args.
  2. All optional params, as well as all Body and Form Data params (including required ones), are passed as keyword args.
  3. All query and path params that are tagged as required in the docs are passed as positional args.
  4. $api_key is optional, as it is set at client level. However, you can override the client key wherever by passing in $api_key as the LAST optional param. Reminder: don't do this client-side.