{"id":15145694,"url":"https://github.com/klaviyo/klaviyo-php-sdk","last_synced_at":"2025-09-29T15:31:00.614Z","repository":{"id":40456148,"uuid":"475722192","full_name":"klaviyo/klaviyo-php-sdk","owner":"klaviyo","description":"PHP SDK for Klaviyo API","archived":true,"fork":false,"pushed_at":"2023-08-18T15:25:12.000Z","size":104,"stargazers_count":17,"open_issues_count":4,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-14T22:49:19.372Z","etag":null,"topics":["bigcommerce","email","klaviyo","magento","php","prestashop","push","sdk","shopify","sms","woocommerce"],"latest_commit_sha":null,"homepage":"https://developers.klaviyo.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klaviyo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-30T04:46:34.000Z","updated_at":"2023-12-30T11:39:48.000Z","dependencies_parsed_at":"2024-09-12T06:15:20.011Z","dependency_job_id":"ab5c4664-4e84-4065-810b-23b5050b09c7","html_url":"https://github.com/klaviyo/klaviyo-php-sdk","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.2857142857142857,"last_synced_commit":"041711e136692a93f44a13f9fb0274344191dda6"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/klaviyo/klaviyo-php-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaviyo%2Fklaviyo-php-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaviyo%2Fklaviyo-php-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaviyo%2Fklaviyo-php-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaviyo%2Fklaviyo-php-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klaviyo","download_url":"https://codeload.github.com/klaviyo/klaviyo-php-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaviyo%2Fklaviyo-php-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277538438,"owners_count":25835575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-29T02:00:09.175Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bigcommerce","email","klaviyo","magento","php","prestashop","push","sdk","shopify","sms","woocommerce"],"created_at":"2024-09-26T11:41:50.726Z","updated_at":"2025-09-29T15:31:00.263Z","avatar_url":"https://github.com/klaviyo.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Klaviyo PHP SDK (Legacy)\n\n## Legacy Notice\n\nThis SDK is set to be deprecated + retired on 2024-06-30.\n\nWe have a NEW PHP SDK to go along with our [new API](https://developers.klaviyo.com/en/reference/api_overview).\n\nWe recommend migrating over to our [newest SDK](https://github.com/klaviyo/klaviyo-api-php).\n\nYou can read more about our SDK release history and support [here](https://developers.klaviyo.com/en/docs/sdk_overview)\n\nFor a comparison between our old and new APIs, check out [this guide](https://developers.klaviyo.com/en/docs/apis_comparison_chart).\n\n## Klaviyo PHP SDK\n\n- SDK version: 1.0.3.20220329\n\n## Helpful Resources\n\n- [API Reference](https://developers.klaviyo.com/en/reference/api-overview)\n- [API Guides](https://developers.klaviyo.com/en/docs)\n- [Postman Workspace](https://www.postman.com/klaviyo/workspace/klaviyo-developers)\n\n## Design \u0026 Approach\n\nThis SDK is a thin wrapper around our API. See our API Reference for full documentation on API behavior.\n\nThis 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).\n\n## Organization\n\nThis SDK is organized into the following resources:\n\n\n\n- Campaigns\n\n\n\n- DataPrivacy\n\n\n\n- ListsSegments\n\n\n\n- Metrics\n\n\n\n- Profiles\n\n\n\n- Templates\n\n\n\n- TrackIdentify\n\n\n\n# Installation\n\nYou can install this package using either [Packagist](https://packagist.org/packages/klaviyo/sdk), or the source code.\n\n## Option 1: Packagist\n\nYou can install this library using Packagist.\n\nIf you have composer installed, you can run: `composer require klaviyo/sdk`\n\n## Option 2: Source code\n\nYou can also install this library directly from source code, without using the Packagist package, as follows:\n\n1. cloning this repo\n2. running `composer update` (within the repo)\n\n# Usage Example\n\n```php\n\u003c?php\nrequire_once(__DIR__ . '/vendor/autoload.php');\n\nuse Klaviyo\\Client;\n\n$client = new Client(\n    'YOUR_API_KEY', \n    $num_retries = 3, \n    $wait_seconds = 3);\n\n$response = $client-\u003eMetrics-\u003egetMetrics();\n```\n\n# Retry behavior\n\n* The SDK retries on resolvable errors, namely: rate limits (common) and server errors on Klaviyo's end (rare).\n* The keyword arguments in the example above define retry behavior\n  * `wait_seconds` denotes how long to wait per retry, in *seconds*\n  * If you wish to disable retries, set `$num_retries = 0`\n  * the example is populated with the default values\n* non-resolvable errors and resolvable errors which have timed out throw an `ApiException`, detailed below.\n\n# Error Handling\n\nThis SDK throws an `ApiException` error when the server returns a non resolvable response, or a resolvable non-`2XX` response times out. \n\nIf 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:\n\n* `getCode() : int`\n* `getMessage() : str`\n* `getReponseBody() : bytes`\n* `getResponseHeaders() : string[]`\n\nFor example:\n\n```php\ntry { \n  $client.Metrics.getMetrics();\n} catch (Exception $e) {\n  if ($e-\u003egetCode() == SOME_INTEGER) {\n    doSomething();\n  }\n}\n```\n\n# Comprehensive list of Operations \u0026 Parameters\n\n_**NOTE:**_\n- 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](https://developers.klaviyo.com/en/reference/track-post). These summaries link directly to the corresponding section of the API reference.\n- For example values / data types, as well as whether parameters are required/optional, please reference the corresponding API Reference link.\n- 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.\n- Keyword args are not included in the sample SDK calls; instead, where applicable, they are included as comments above each SDK call.\n- JSON payloads should be passed in as associative arrays\n- 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. \n  - 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)`\n  - 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.\n\n\n\n\n\n## Campaigns\n\n#### [Cancel a Campaign](https://developers.klaviyo.com/en/reference/cancel-campaign)\n\n```php\n## Positional Arguments\n\n# $campaign_id | string\n\n\nclient-\u003eCampaigns-\u003ecancelCampaign($campaign_id);\n```\n\n\n\n\n\n#### [Clone a Campaign](https://developers.klaviyo.com/en/reference/clone-campaign)\n\n```php\n## Positional Arguments\n\n# $campaign_id | string\n# $name | string\n# $list_id | string\n\n\nclient-\u003eCampaigns-\u003ecloneCampaign($campaign_id, $name, $list_id);\n```\n\n\n\n\n\n#### [Create New Campaign](https://developers.klaviyo.com/en/reference/create-campaign)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n# $template_id | string\n# $from_email | string\n# $from_name | string\n# $subject | string\n\n## Keyword Arguments\n\n# $name | string\n# $use_smart_sending | bool\n# $add_google_analytics | bool\n\nclient-\u003eCampaigns-\u003ecreateCampaign($list_id, $template_id, $from_email, $from_name, $subject);\n```\n\n\n\n\n\n#### [Get Campaign Info](https://developers.klaviyo.com/en/reference/get-campaign-info)\n\n```php\n## Positional Arguments\n\n# $campaign_id | string\n\n\nclient-\u003eCampaigns-\u003egetCampaignInfo($campaign_id);\n```\n\n\n\n\n\n#### [Get Campaign Recipients](https://developers.klaviyo.com/en/reference/get-campaign-recipients)\n\n```php\n## Positional Arguments\n\n# $campaign_id | string\n\n## Keyword Arguments\n\n# $count | int\n# $sort | string\n# $offset | string\n\nclient-\u003eCampaigns-\u003egetCampaignRecipients($campaign_id);\n```\n\n\n\n\n\n#### [Get Campaigns](https://developers.klaviyo.com/en/reference/get-campaigns)\n\n```php\n\n## Keyword Arguments\n\n# $page | int\n# $count | int\n\nclient-\u003eCampaigns-\u003egetCampaigns();\n```\n\n\n\n\n\n#### [Schedule a Campaign](https://developers.klaviyo.com/en/reference/schedule-campaign)\n\n```php\n## Positional Arguments\n\n# $campaign_id | string\n# $send_time | string\n\n\nclient-\u003eCampaigns-\u003escheduleCampaign($campaign_id, $send_time);\n```\n\n\n\n\n\n#### [Send a Campaign Immediately](https://developers.klaviyo.com/en/reference/send-campaign)\n\n```php\n## Positional Arguments\n\n# $campaign_id | string\n\n\nclient-\u003eCampaigns-\u003esendCampaign($campaign_id);\n```\n\n\n\n\n\n#### [Update Campaign](https://developers.klaviyo.com/en/reference/update-campaign)\n\n```php\n## Positional Arguments\n\n# $campaign_id | string\n\n## Keyword Arguments\n\n# $list_id | string\n# $template_id | string\n# $from_email | string\n# $from_name | string\n# $subject | string\n# $name | string\n# $use_smart_sending | bool\n# $add_google_analytics | bool\n\nclient-\u003eCampaigns-\u003eupdateCampaign($campaign_id);\n```\n\n\n\n\n\n\n\n## DataPrivacy\n\n#### [Request a Deletion](https://developers.klaviyo.com/en/reference/request-deletion)\n\n```php\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eDataPrivacy-\u003erequestDeletion();\n```\n\n\n\n\n\n\n\n## ListsSegments\n\n#### [Add Members to a List](https://developers.klaviyo.com/en/reference/add-members)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eListsSegments-\u003eaddMembers($list_id);\n```\n\n\n\n\n\n#### [Create List](https://developers.klaviyo.com/en/reference/create-list)\n\n```php\n## Positional Arguments\n\n# $list_name | string\n\n\nclient-\u003eListsSegments-\u003ecreateList($list_name);\n```\n\n\n\n\n\n#### [Delete List](https://developers.klaviyo.com/en/reference/delete-list)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n\nclient-\u003eListsSegments-\u003edeleteList($list_id);\n```\n\n\n\n\n\n#### [Exclude Profile From All Email](https://developers.klaviyo.com/en/reference/exclude-globally)\n\n```php\n## Positional Arguments\n\n# $email | string\n\n\nclient-\u003eListsSegments-\u003eexcludeGlobally($email);\n```\n\n\n\n\n\n#### [Get Global Exclusions \u0026 Unsubscribes](https://developers.klaviyo.com/en/reference/get-global-exclusions)\n\n```php\n\n## Keyword Arguments\n\n# $reason | string\n# $sort | string\n# $count | int\n# $page | int\n\nclient-\u003eListsSegments-\u003egetGlobalExclusions();\n```\n\n\n\n\n\n#### [Get All Exclusions for a List](https://developers.klaviyo.com/en/reference/get-list-exclusions)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n## Keyword Arguments\n\n# $marker | int\n\nclient-\u003eListsSegments-\u003egetListExclusions($list_id);\n```\n\n\n\n\n\n#### [Get List Info](https://developers.klaviyo.com/en/reference/get-list-info)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n\nclient-\u003eListsSegments-\u003egetListInfo($list_id);\n```\n\n\n\n\n\n#### [Check if Profiles Are in a List](https://developers.klaviyo.com/en/reference/get-list-members)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eListsSegments-\u003egetListMembers($list_id);\n```\n\n\n\n\n\n#### [Check if Profiles Are in a List and not Suppressed](https://developers.klaviyo.com/en/reference/get-list-subscriptions)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eListsSegments-\u003egetListSubscriptions($list_id);\n```\n\n\n\n\n\n#### [Get Lists](https://developers.klaviyo.com/en/reference/get-lists)\n\n```php\n\n\nclient-\u003eListsSegments-\u003egetLists();\n```\n\n\n\n\n\n#### [Get List and Segment Members](https://developers.klaviyo.com/en/reference/get-members)\n\n```php\n## Positional Arguments\n\n# $list_or_segment_id | string\n\n## Keyword Arguments\n\n# $marker | int\n\nclient-\u003eListsSegments-\u003egetMembers($list_or_segment_id);\n```\n\n\n\n\n\n#### [Check if Profiles Are in a Segment](https://developers.klaviyo.com/en/reference/get-segment-members)\n\n```php\n## Positional Arguments\n\n# $segment_id | string\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eListsSegments-\u003egetSegmentMembers($segment_id);\n```\n\n\n\n\n\n#### [Remove Profiles From List](https://developers.klaviyo.com/en/reference/remove-members)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eListsSegments-\u003eremoveMembers($list_id);\n```\n\n\n\n\n\n#### [Subscribe Profiles to List](https://developers.klaviyo.com/en/reference/subscribe)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eListsSegments-\u003esubscribe($list_id);\n```\n\n\n\n\n\n#### [Unsubscribe Profiles From List](https://developers.klaviyo.com/en/reference/unsubscribe)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eListsSegments-\u003eunsubscribe($list_id);\n```\n\n\n\n\n\n#### [Update List Name](https://developers.klaviyo.com/en/reference/update-list-name)\n\n```php\n## Positional Arguments\n\n# $list_id | string\n# $list_name | string\n\n\nclient-\u003eListsSegments-\u003eupdateListName($list_id, $list_name);\n```\n\n\n\n\n\n\n\n## Metrics\n\n#### [Get Metrics Info](https://developers.klaviyo.com/en/reference/get-metrics)\n\n```php\n\n## Keyword Arguments\n\n# $page | int\n# $count | int\n\nclient-\u003eMetrics-\u003egetMetrics();\n```\n\n\n\n\n\n#### [Query Event Data](https://developers.klaviyo.com/en/reference/metric-export)\n\n```php\n## Positional Arguments\n\n# $metric_id | string\n\n## Keyword Arguments\n\n# $start_date | string\n# $end_date | string\n# $unit | string\n# $measurement | string\n# $where | string\n# $by | string\n# $count | int\n\nclient-\u003eMetrics-\u003emetricExport($metric_id);\n```\n\n\n\n\n\n#### [Get Events for a Specific Metric](https://developers.klaviyo.com/en/reference/metric-timeline)\n\n```php\n## Positional Arguments\n\n# $metric_id | string\n\n## Keyword Arguments\n\n# $since | string\n# $count | int\n# $sort | string\n\nclient-\u003eMetrics-\u003emetricTimeline($metric_id);\n```\n\n\n\n\n\n#### [Get Events for All Metrics](https://developers.klaviyo.com/en/reference/metrics-timeline)\n\n```php\n\n## Keyword Arguments\n\n# $since | string\n# $count | int\n# $sort | string\n\nclient-\u003eMetrics-\u003emetricsTimeline();\n```\n\n\n\n\n\n\n\n## Profiles\n\n#### [Exchange ID for Profile ID](https://developers.klaviyo.com/en/reference/exchange)\n\n```php\n\n## Keyword Arguments\n\n# $body | array\n\nclient-\u003eProfiles-\u003eexchange();\n```\n\n\n\n\n\n#### [Get Profile](https://developers.klaviyo.com/en/reference/get-profile)\n\n```php\n## Positional Arguments\n\n# $person_id | string\n\n\nclient-\u003eProfiles-\u003egetProfile($person_id);\n```\n\n\n\n\n\n#### [Get Profile ID](https://developers.klaviyo.com/en/reference/get-profile-id)\n\n```php\n\n## Keyword Arguments\n\n# $email | string\n# $phone_number | string\n# $external_id | string\n\nclient-\u003eProfiles-\u003egetProfileId();\n```\n\n\n\n\n\n#### [Get Profile's Events for a Specific Metric](https://developers.klaviyo.com/en/reference/profile-metric-timeline)\n\n```php\n## Positional Arguments\n\n# $person_id | string\n# $metric_id | string\n\n## Keyword Arguments\n\n# $since | string\n# $count | int\n# $sort | string\n\nclient-\u003eProfiles-\u003eprofileMetricTimeline($person_id, $metric_id);\n```\n\n\n\n\n\n#### [Get Profile's Events for all Metrics](https://developers.klaviyo.com/en/reference/profile-metrics-timeline)\n\n```php\n## Positional Arguments\n\n# $person_id | string\n\n## Keyword Arguments\n\n# $since | string\n# $count | int\n# $sort | string\n\nclient-\u003eProfiles-\u003eprofileMetricsTimeline($person_id);\n```\n\n\n\n\n\n#### [Update Profile](https://developers.klaviyo.com/en/reference/update-profile)\n\n```php\n## Positional Arguments\n\n# $person_id | string\n\n## Keyword Arguments\n\n# $params | array\u0026lt;string,mixed\u0026gt;\n\nclient-\u003eProfiles-\u003eupdateProfile($person_id);\n```\n\n\n\n\n\n\n\n## Templates\n\n#### [Clone Template](https://developers.klaviyo.com/en/reference/clone-template)\n\n```php\n## Positional Arguments\n\n# $template_id | string\n# $name | string\n\n\nclient-\u003eTemplates-\u003ecloneTemplate($template_id, $name);\n```\n\n\n\n\n\n#### [Create New Template](https://developers.klaviyo.com/en/reference/create-template)\n\n```php\n## Positional Arguments\n\n# $name | string\n# $html | string\n\n\nclient-\u003eTemplates-\u003ecreateTemplate($name, $html);\n```\n\n\n\n\n\n#### [Delete Template](https://developers.klaviyo.com/en/reference/delete-template)\n\n```php\n## Positional Arguments\n\n# $template_id | string\n\n\nclient-\u003eTemplates-\u003edeleteTemplate($template_id);\n```\n\n\n\n\n\n#### [Get All Templates](https://developers.klaviyo.com/en/reference/get-templates)\n\n```php\n\n## Keyword Arguments\n\n# $page | int\n# $count | int\n\nclient-\u003eTemplates-\u003egetTemplates();\n```\n\n\n\n\n\n#### [Render Template](https://developers.klaviyo.com/en/reference/render-template)\n\n```php\n## Positional Arguments\n\n# $template_id | string\n\n## Keyword Arguments\n\n# $context | string\n\nclient-\u003eTemplates-\u003erenderTemplate($template_id);\n```\n\n\n\n\n\n#### [Render and Send Template](https://developers.klaviyo.com/en/reference/send-template)\n\n```php\n## Positional Arguments\n\n# $template_id | string\n# $from_email | string\n# $from_name | string\n# $subject | string\n# $to | string\n\n## Keyword Arguments\n\n# $context | string\n\nclient-\u003eTemplates-\u003esendTemplate($template_id, $from_email, $from_name, $subject, $to);\n```\n\n\n\n\n\n#### [Update Template](https://developers.klaviyo.com/en/reference/update-template)\n\n```php\n## Positional Arguments\n\n# $template_id | string\n\n## Keyword Arguments\n\n# $name | string\n# $html | string\n\nclient-\u003eTemplates-\u003eupdateTemplate($template_id);\n```\n\n\n\n\n\n\n\n## TrackIdentify\n\n#### [Identify Profile (Legacy)](https://developers.klaviyo.com/en/reference/identify-get)\n\n```php\n## Positional Arguments\n\n# $data | string\n\n\nclient-\u003eTrackIdentify-\u003eidentifyGet($data);\n```\n\n\n\n\n\n#### [Identify Profile](https://developers.klaviyo.com/en/reference/identify-post)\n\n```php\n## Positional Arguments\n\n# $data | string\n\n\nclient-\u003eTrackIdentify-\u003eidentifyPost($data);\n```\n\n\n\n\n\n#### [Track Profile Activity (Legacy)](https://developers.klaviyo.com/en/reference/track-get)\n\n```php\n## Positional Arguments\n\n# $data | string\n\n\nclient-\u003eTrackIdentify-\u003etrackGet($data);\n```\n\n\n\n\n\n#### [Track Profile Activity](https://developers.klaviyo.com/en/reference/track-post)\n\n```php\n## Positional Arguments\n\n# $data | string\n\n\nclient-\u003eTrackIdentify-\u003etrackPost($data);\n```\n\n\n\n\n\n\n# Appendix\n\n## Limitations\n\n- The `api_key` is set at the global level: this means that if you manage multiple stores, you will need to run the code for each store in a different environment \n\n## Namespace\n\nIn 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).\n\n- non-alphanumeric symbols (spaces, dashes, underscore, ampersand etc) stripped from resource names (tags) and function names (operation IDs)\n- Resource names and function names use camelCase\n- NOTE: this does not apply to parameter names\n\nFor example:\n* `Track \u0026 Identify` becomes `TrackIdentify`\n* `get-campaigns` becomes `getCampaigns`\n* `profile_id` *remains* unchanged\n\n## Parameters \u0026 Arguments\n\nThe parameters follow the same naming conventions as the resource groups and operations.\n\nWe stick to the following convention for parameters/arguments\n\n1. All parameters are passed as function args.\n2. All optional params, as well as all Body and Form Data params (including required ones), are passed as keyword args.\n3. All query and path params that are tagged as `required` in the docs are passed as positional args.\n4. There is no need to pass in your private `api_key` for any operations, as it is defined upon client instantiation; public key is still required where noted for Track/Identify endpoints.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaviyo%2Fklaviyo-php-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklaviyo%2Fklaviyo-php-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaviyo%2Fklaviyo-php-sdk/lists"}