openapi: 3.0.2 info: title: Klaviyo Accounts Profiles API version: '2026-04-15' description: The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details. contact: name: Klaviyo Developer Experience Team email: developers@klaviyo.com url: https://developers.klaviyo.com termsOfService: https://www.klaviyo.com/legal/api-terms license: name: License url: https://www.klaviyo.com/legal servers: - url: https://a.klaviyo.com description: Production security: - Klaviyo-API-Key: [] tags: - name: Profiles description: profiles paths: /api/profiles: get: operationId: get_profiles summary: Get Profiles description: 'Get all profiles in an account. Profiles can be sorted by the following fields in ascending and descending order: `id`, `created`, `updated`, `email`, `subscriptions.email.marketing.suppression.timestamp`, `subscriptions.email.marketing.list_suppressions.timestamp` Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.

*Rate limits*:
Burst: `75/s`
Steady: `750/m`

Rate limits when using the `additional-fields[profile]=predictive_analytics` parameter in your API request:
Burst: `10/s`
Steady: `150/m`

To learn more about how the `additional-fields` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2026-04-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `profiles:read`' parameters: - name: additional-fields[profile] in: query description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics''' required: false schema: type: array items: type: string enum: - subscriptions - predictive_analytics explode: false - name: fields[profile] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - email - external_id - first_name - image - last_event_date - last_name - locale - location - location.address1 - location.address2 - location.city - location.country - location.ip - location.latitude - location.longitude - location.region - location.timezone - location.zip - organization - phone_number - predictive_analytics - predictive_analytics.average_days_between_orders - predictive_analytics.average_order_value - predictive_analytics.churn_probability - predictive_analytics.expected_date_of_next_order - predictive_analytics.historic_clv - predictive_analytics.historic_number_of_orders - predictive_analytics.predicted_clv - predictive_analytics.predicted_number_of_orders - predictive_analytics.ranked_channel_affinity - predictive_analytics.total_clv - properties - subscriptions - subscriptions.email - subscriptions.email.marketing - subscriptions.email.marketing.can_receive_email_marketing - subscriptions.email.marketing.consent - subscriptions.email.marketing.consent_timestamp - subscriptions.email.marketing.custom_method_detail - subscriptions.email.marketing.double_optin - subscriptions.email.marketing.last_updated - subscriptions.email.marketing.list_suppressions - subscriptions.email.marketing.method - subscriptions.email.marketing.method_detail - subscriptions.email.marketing.suppression - subscriptions.mobile_push - subscriptions.mobile_push.marketing - subscriptions.mobile_push.marketing.can_receive_push_marketing - subscriptions.mobile_push.marketing.consent - subscriptions.mobile_push.marketing.consent_timestamp - subscriptions.sms - subscriptions.sms.marketing - subscriptions.sms.marketing.can_receive_sms_marketing - subscriptions.sms.marketing.consent - subscriptions.sms.marketing.consent_timestamp - subscriptions.sms.marketing.last_updated - subscriptions.sms.marketing.method - subscriptions.sms.marketing.method_detail - subscriptions.sms.transactional - subscriptions.sms.transactional.can_receive_sms_transactional - subscriptions.sms.transactional.consent - subscriptions.sms.transactional.consent_timestamp - subscriptions.sms.transactional.last_updated - subscriptions.sms.transactional.method - subscriptions.sms.transactional.method_detail - subscriptions.whatsapp - subscriptions.whatsapp.conversational - subscriptions.whatsapp.conversational.can_receive - subscriptions.whatsapp.conversational.consent - subscriptions.whatsapp.conversational.consent_timestamp - subscriptions.whatsapp.conversational.created_timestamp - subscriptions.whatsapp.conversational.last_updated - subscriptions.whatsapp.conversational.metadata - subscriptions.whatsapp.conversational.phone_number - subscriptions.whatsapp.conversational.valid_until - subscriptions.whatsapp.marketing - subscriptions.whatsapp.marketing.can_receive - subscriptions.whatsapp.marketing.consent - subscriptions.whatsapp.marketing.consent_timestamp - subscriptions.whatsapp.marketing.created_timestamp - subscriptions.whatsapp.marketing.last_updated - subscriptions.whatsapp.marketing.metadata - subscriptions.whatsapp.marketing.phone_number - subscriptions.whatsapp.marketing.valid_until - subscriptions.whatsapp.transactional - subscriptions.whatsapp.transactional.can_receive - subscriptions.whatsapp.transactional.consent - subscriptions.whatsapp.transactional.consent_timestamp - subscriptions.whatsapp.transactional.created_timestamp - subscriptions.whatsapp.transactional.last_updated - subscriptions.whatsapp.transactional.metadata - subscriptions.whatsapp.transactional.phone_number - subscriptions.whatsapp.transactional.valid_until - title - updated explode: false - name: fields[push-token] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - background - created - enablement_status - metadata - metadata.app_build - metadata.app_id - metadata.app_name - metadata.app_version - metadata.device_id - metadata.device_model - metadata.environment - metadata.klaviyo_sdk - metadata.manufacturer - metadata.os_name - metadata.os_version - metadata.sdk_version - platform - recorded_date - token - vendor explode: false - name: filter in: query description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`id`: `any`, `equals`
`email`: `any`, `equals`
`phone_number`: `any`, `equals`
`external_id`: `any`, `equals`
`_kx`: `equals`
`created`: `greater-than`, `less-than`
`updated`: `greater-than`, `less-than`
`subscriptions.email.marketing.list_suppressions.reason`: `equals`
`subscriptions.email.marketing.list_suppressions.timestamp`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`
`subscriptions.email.marketing.list_suppressions.list_id`: `equals`
`subscriptions.email.marketing.suppression.reason`: `equals`
`subscriptions.email.marketing.suppression.timestamp`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`' schema: type: string example: equals(id,'example') - name: include in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships schema: type: array items: type: string enum: - conversation - push-tokens explode: false - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: page[size] in: query description: 'Default: 20. Min: 1. Max: 100.' required: false schema: type: integer default: 20 maximum: 100 minimum: 1 - name: sort in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting schema: type: string enum: - created - -created - email - -email - id - -id - subscriptions.email.marketing.list_suppressions.timestamp - -subscriptions.email.marketing.list_suppressions.timestamp - subscriptions.email.marketing.suppression.timestamp - -subscriptions.email.marketing.suppression.timestamp - updated - -updated - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileResponseCollectionCompoundDocument' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - profiles:read post: operationId: create_profile summary: Create Profile description: 'Create a new profile. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response. The maximum allowed payload size is 100KB.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write`' parameters: - name: additional-fields[profile] in: query description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics''' required: false schema: type: array items: type: string enum: - subscriptions - predictive_analytics explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/ProfileCreateQuery' responses: '201': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/PostProfileResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - profiles:write /api/profiles/{id}: get: operationId: get_profile summary: Get Profile description: 'Get the profile with the given profile ID. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response.

*Rate limits*:
Burst: `75/s`
Steady: `750/m`

Rate limits when using the `include=list` parameter in your API request:
Burst: `1/s`
Steady: `15/m`

Rate limits when using the `include=segment` parameter in your API request:
Burst: `1/s`
Steady: `15/m`

To learn more about how the `include` parameter impacts rate limits, check out our [Rate limits, status codes, and errors](https://developers.klaviyo.com/en/v2026-04-15/docs/rate_limits_and_error_handling) guide. **Scopes:** `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: additional-fields[profile] in: query description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics''' required: false schema: type: array items: type: string enum: - subscriptions - predictive_analytics explode: false - name: fields[list] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - name - opt_in_process - updated explode: false - name: fields[profile] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - email - external_id - first_name - image - last_event_date - last_name - locale - location - location.address1 - location.address2 - location.city - location.country - location.ip - location.latitude - location.longitude - location.region - location.timezone - location.zip - organization - phone_number - predictive_analytics - predictive_analytics.average_days_between_orders - predictive_analytics.average_order_value - predictive_analytics.churn_probability - predictive_analytics.expected_date_of_next_order - predictive_analytics.historic_clv - predictive_analytics.historic_number_of_orders - predictive_analytics.predicted_clv - predictive_analytics.predicted_number_of_orders - predictive_analytics.ranked_channel_affinity - predictive_analytics.total_clv - properties - subscriptions - subscriptions.email - subscriptions.email.marketing - subscriptions.email.marketing.can_receive_email_marketing - subscriptions.email.marketing.consent - subscriptions.email.marketing.consent_timestamp - subscriptions.email.marketing.custom_method_detail - subscriptions.email.marketing.double_optin - subscriptions.email.marketing.last_updated - subscriptions.email.marketing.list_suppressions - subscriptions.email.marketing.method - subscriptions.email.marketing.method_detail - subscriptions.email.marketing.suppression - subscriptions.mobile_push - subscriptions.mobile_push.marketing - subscriptions.mobile_push.marketing.can_receive_push_marketing - subscriptions.mobile_push.marketing.consent - subscriptions.mobile_push.marketing.consent_timestamp - subscriptions.sms - subscriptions.sms.marketing - subscriptions.sms.marketing.can_receive_sms_marketing - subscriptions.sms.marketing.consent - subscriptions.sms.marketing.consent_timestamp - subscriptions.sms.marketing.last_updated - subscriptions.sms.marketing.method - subscriptions.sms.marketing.method_detail - subscriptions.sms.transactional - subscriptions.sms.transactional.can_receive_sms_transactional - subscriptions.sms.transactional.consent - subscriptions.sms.transactional.consent_timestamp - subscriptions.sms.transactional.last_updated - subscriptions.sms.transactional.method - subscriptions.sms.transactional.method_detail - subscriptions.whatsapp - subscriptions.whatsapp.conversational - subscriptions.whatsapp.conversational.can_receive - subscriptions.whatsapp.conversational.consent - subscriptions.whatsapp.conversational.consent_timestamp - subscriptions.whatsapp.conversational.created_timestamp - subscriptions.whatsapp.conversational.last_updated - subscriptions.whatsapp.conversational.metadata - subscriptions.whatsapp.conversational.phone_number - subscriptions.whatsapp.conversational.valid_until - subscriptions.whatsapp.marketing - subscriptions.whatsapp.marketing.can_receive - subscriptions.whatsapp.marketing.consent - subscriptions.whatsapp.marketing.consent_timestamp - subscriptions.whatsapp.marketing.created_timestamp - subscriptions.whatsapp.marketing.last_updated - subscriptions.whatsapp.marketing.metadata - subscriptions.whatsapp.marketing.phone_number - subscriptions.whatsapp.marketing.valid_until - subscriptions.whatsapp.transactional - subscriptions.whatsapp.transactional.can_receive - subscriptions.whatsapp.transactional.consent - subscriptions.whatsapp.transactional.consent_timestamp - subscriptions.whatsapp.transactional.created_timestamp - subscriptions.whatsapp.transactional.last_updated - subscriptions.whatsapp.transactional.metadata - subscriptions.whatsapp.transactional.phone_number - subscriptions.whatsapp.transactional.valid_until - title - updated explode: false - name: fields[push-token] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - background - created - enablement_status - metadata - metadata.app_build - metadata.app_id - metadata.app_name - metadata.app_version - metadata.device_id - metadata.device_model - metadata.environment - metadata.klaviyo_sdk - metadata.manufacturer - metadata.os_name - metadata.os_version - metadata.sdk_version - platform - recorded_date - token - vendor explode: false - name: fields[segment] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - definition - definition.condition_groups - is_active - is_processing - is_starred - name - updated explode: false - name: include in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships schema: type: array items: type: string enum: - conversation - lists - push-tokens - segments explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileResponseCompoundDocument' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - profiles:read patch: operationId: update_profile summary: Update Profile description: 'Update the profile with the given profile ID. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response. Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged. The maximum allowed payload size is 100KB.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write`' parameters: - name: id in: path description: Primary key that uniquely identifies this profile. Generated by Klaviyo. required: true schema: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H - name: additional-fields[profile] in: query description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics''' required: false schema: type: array items: type: string enum: - subscriptions - predictive_analytics explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/ProfilePartialUpdateQuery' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/PatchProfileResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - profiles:write /api/profile-bulk-import-jobs: get: operationId: get_bulk_import_profiles_jobs summary: Get Bulk Import Profiles Jobs description: 'Get all bulk profile import jobs. Returns a maximum of 100 jobs per request.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read` `profiles:read`' parameters: - name: fields[profile-bulk-import-job] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - completed_at - completed_count - created_at - expires_at - failed_count - started_at - status - total_count explode: false - name: filter in: query description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`status`: `any`, `equals`' schema: type: string example: equals(status,'queued') - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: page[size] in: query description: 'Default: 20. Min: 1. Max: 100.' required: false schema: type: integer default: 20 maximum: 100 minimum: 1 - name: sort in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting schema: type: string enum: - created_at - -created_at - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileImportJobResponseCollectionCompoundDocument' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_bulk_profile_import_jobs - get_profile_bulk_import_jobs x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - lists:read - profiles:read x-klaviyo-subtag: Bulk Import Profiles post: operationId: bulk_import_profiles summary: Bulk Import Profiles description: 'Create a bulk profile import job to create or update a batch of profiles. Accepts up to 10,000 profiles per request. The maximum allowed payload size is 5MB. The maximum allowed payload size per-profile is 100KB. To learn more, see our [Bulk Profile Import API guide](https://developers.klaviyo.com/en/docs/use_klaviyos_bulk_profile_import_api).

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:write` `profiles:write`' parameters: - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/ProfileImportJobCreateQuery' responses: '202': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/PostProfileImportJobResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - spawn_bulk_profile_import_job - create_profile_bulk_import_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - lists:write - profiles:write x-klaviyo-subtag: Bulk Import Profiles /api/profile-bulk-import-jobs/{job_id}: get: operationId: get_bulk_import_profiles_job summary: Get Bulk Import Profiles Job description: 'Get a bulk profile import job with the given job ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read` `profiles:read`' parameters: - name: job_id in: path description: ID of the job to retrieve. required: true schema: description: ID of the job to retrieve. type: string example: 01GSQPBF74KQ5YTDEPP41T1BZH - name: fields[list] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - name - opt_in_process - updated explode: false - name: fields[profile-bulk-import-job] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - completed_at - completed_count - created_at - expires_at - failed_count - started_at - status - total_count explode: false - name: include in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships schema: type: array items: type: string enum: - lists explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileImportJobResponseCompoundDocument' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_bulk_profile_import_job - get_profile_bulk_import_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - lists:read - profiles:read x-klaviyo-subtag: Bulk Import Profiles /api/profile-suppression-bulk-create-jobs: get: operationId: get_bulk_suppress_profiles_jobs summary: Get Bulk Suppress Profiles Jobs description: 'Get the status of all bulk profile suppression jobs.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`' parameters: - name: fields[profile-suppression-bulk-create-job] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - completed_at - completed_count - created_at - skipped_count - status - total_count explode: false - name: filter in: query description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`status`: `equals`
`list_id`: `equals`
`segment_id`: `equals`' schema: type: string example: equals(status,'processing') - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: sort in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting schema: type: string enum: - created - -created - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetBulkProfileSuppressionsCreateJobResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_suppression_bulk_create_jobs x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - subscriptions:read x-klaviyo-subtag: Consent post: operationId: bulk_suppress_profiles summary: Bulk Suppress Profiles description: 'Manually suppress profiles by email address or specify a segment/list ID to suppress all current members of a segment/list. Suppressed profiles cannot receive email marketing, independent of their consent status. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write` `subscriptions:write`' parameters: - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: description: Suppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, one will be created and immediately suppressed. required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/SuppressionCreateJobCreateQuery' responses: '202': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/PostBulkProfileSuppressionsCreateJobResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - suppress_profiles - create_profile_suppression_bulk_create_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - profiles:write - subscriptions:write x-klaviyo-subtag: Consent /api/profile-suppression-bulk-create-jobs/{job_id}: get: operationId: get_bulk_suppress_profiles_job summary: Get Bulk Suppress Profiles Job description: 'Get the bulk suppress profiles job with the given job ID.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`' parameters: - name: job_id in: path description: ID of the job to retrieve. required: true schema: description: ID of the job to retrieve. type: string example: 01GSQPBF74KQ5YTDEPP41T1BZH - name: fields[profile-suppression-bulk-create-job] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - completed_at - completed_count - created_at - skipped_count - status - total_count explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetBulkProfileSuppressionsCreateJobResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_suppression_bulk_create_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - subscriptions:read x-klaviyo-subtag: Consent /api/profile-suppression-bulk-delete-jobs: get: operationId: get_bulk_unsuppress_profiles_jobs summary: Get Bulk Unsuppress Profiles Jobs description: 'Get all bulk unsuppress profiles jobs.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`' parameters: - name: fields[profile-suppression-bulk-delete-job] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - completed_at - completed_count - created_at - skipped_count - status - total_count explode: false - name: filter in: query description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`status`: `equals`
`list_id`: `equals`
`segment_id`: `equals`' schema: type: string example: equals(status,'processing') - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: sort in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting schema: type: string enum: - created - -created - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetBulkProfileSuppressionsRemoveJobResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_suppression_bulk_delete_jobs x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - subscriptions:read x-klaviyo-subtag: Consent post: operationId: bulk_unsuppress_profiles summary: Bulk Unsuppress Profiles description: 'Manually unsuppress profiles by email address or specify a segment/list ID to unsuppress all current members of a segment/list. This only removes suppressions with reason USER_SUPPRESSED ; unsubscribed profiles and suppressed profiles with reason INVALID_EMAIL or HARD_BOUNCE remain unchanged. To learn more, see our guides on [email suppressions](https://help.klaviyo.com/hc/en-us/articles/115005246108#what-is-a-suppressed-profile-1) and [collecting consent](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Email address per request limit: 100

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:write`' parameters: - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: description: 'Unsuppresses one or more profiles from receiving marketing. Currently, supports email only. If a profile is not found with the given email, no action will be taken.' required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/SuppressionDeleteJobCreateQuery' responses: '202': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/PostBulkProfileSuppressionsRemoveJobResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - unsuppress_profiles - create_profile_suppression_bulk_delete_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - subscriptions:write x-klaviyo-subtag: Consent /api/profile-suppression-bulk-delete-jobs/{job_id}: get: operationId: get_bulk_unsuppress_profiles_job summary: Get Bulk Unsuppress Profiles Job description: 'Get the bulk unsuppress profiles job with the given job ID.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `subscriptions:read`' parameters: - name: job_id in: path description: ID of the job to retrieve. required: true schema: description: ID of the job to retrieve. type: string example: 01GSQPBF74KQ5YTDEPP41T1BZH - name: fields[profile-suppression-bulk-delete-job] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - completed_at - completed_count - created_at - skipped_count - status - total_count explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetBulkProfileSuppressionsRemoveJobResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_suppression_bulk_delete_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - subscriptions:read x-klaviyo-subtag: Consent /api/push-tokens: get: operationId: get_push_tokens summary: Get Push Tokens description: 'Return push tokens associated with company.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`' parameters: - name: fields[profile] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - email - external_id - first_name - image - last_event_date - last_name - locale - location - location.address1 - location.address2 - location.city - location.country - location.ip - location.latitude - location.longitude - location.region - location.timezone - location.zip - organization - phone_number - properties - title - updated explode: false - name: fields[push-token] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - background - created - enablement_status - metadata - metadata.app_build - metadata.app_id - metadata.app_name - metadata.app_version - metadata.device_id - metadata.device_model - metadata.environment - metadata.klaviyo_sdk - metadata.manufacturer - metadata.os_name - metadata.os_version - metadata.sdk_version - platform - recorded_date - token - vendor explode: false - name: filter in: query description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`id`: `equals`
`profile.id`: `equals`
`enablement_status`: `equals`
`platform`: `equals`' schema: type: string example: equals(id,'example') - name: include in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships schema: type: array items: type: string enum: - profile explode: false - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: page[size] in: query description: 'Default: 20. Min: 1. Max: 100.' required: false schema: type: integer default: 20 maximum: 100 minimum: 1 - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetPushTokenResponseCollectionCompoundDocument' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read - push-tokens:read x-klaviyo-subtag: Push Tokens post: operationId: create_push_token summary: Create or Update Push Token description: 'Create or update a push token. This endpoint can be used to migrate push tokens from another platform to Klaviyo. Please use our mobile SDKs ([iOS](https://github.com/klaviyo/klaviyo-swift-sdk) and [Android](https://github.com/klaviyo/klaviyo-android-sdk)) to create push tokens from users'' devices. The maximum allowed payload size is 100KB.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write` `push-tokens:write`' parameters: - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/PushTokenCreateQuery' responses: '202': description: Success 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - profiles:write - push-tokens:write x-klaviyo-subtag: Push Tokens /api/push-tokens/{id}: get: operationId: get_push_token summary: Get Push Token description: 'Return a specific push token based on its ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`' parameters: - name: id in: path description: The value of the push token required: true schema: description: The value of the push token type: string - name: fields[profile] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - email - external_id - first_name - image - last_event_date - last_name - locale - location - location.address1 - location.address2 - location.city - location.country - location.ip - location.latitude - location.longitude - location.region - location.timezone - location.zip - organization - phone_number - properties - title - updated explode: false - name: fields[push-token] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - background - created - enablement_status - metadata - metadata.app_build - metadata.app_id - metadata.app_name - metadata.app_version - metadata.device_id - metadata.device_model - metadata.environment - metadata.klaviyo_sdk - metadata.manufacturer - metadata.os_name - metadata.os_version - metadata.sdk_version - platform - recorded_date - token - vendor explode: false - name: include in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships schema: type: array items: type: string enum: - profile explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetPushTokenResponseCompoundDocument' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read - push-tokens:read x-klaviyo-subtag: Push Tokens delete: operationId: delete_push_token summary: Delete Push Token description: 'Delete a specific push token based on its ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `push-tokens:write`' parameters: - name: id in: path description: The value of the push token to delete required: true schema: description: The value of the push token to delete type: string example: 925e385b52fb405715f3616c337cc65c - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '204': description: Success 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 3/s steady: 60/m x-klaviyo-scopes: - push-tokens:write x-klaviyo-subtag: Push Tokens /api/profile-import: post: operationId: create_or_update_profile summary: Create or Update Profile description: 'Given a set of profile attributes and optionally an ID, create or update a profile. Returns 201 if a new profile was created, 200 if an existing profile was updated. Use the `additional-fields` parameter to include subscriptions and predictive analytics data in your response. Note that setting a field to `null` will clear out the field, whereas not including a field in your request will leave it unchanged. The maximum allowed payload size is 100KB.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `profiles:write`' parameters: - name: additional-fields[profile] in: query description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics''' required: false schema: type: array items: type: string enum: - subscriptions - predictive_analytics explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/ProfileUpsertQuery' responses: '200': description: Profile Updated Successfully content: application/vnd.api+json: schema: $ref: '#/components/schemas/PostProfileResponse' '201': description: Profile Created Successfully content: application/vnd.api+json: schema: $ref: '#/components/schemas/PostProfileResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - create_profile_import x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - profiles:write /api/profile-merge: post: operationId: merge_profiles summary: Merge Profiles description: 'Merge a given related profile into a profile with the given profile ID. The profile provided under `relationships` (the "source" profile) will be merged into the profile provided by the ID in the base data object (the "destination" profile). This endpoint queues an asynchronous task which will merge data from the source profile into the destination profile, deleting the source profile in the process. This endpoint accepts only one source profile. To learn more about how profile data is preserved or overwritten during a merge, please [visit our Help Center](https://help.klaviyo.com/hc/en-us/articles/115005073847#merge-2-profiles3).

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:write`' parameters: - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/ProfileMergeQuery' responses: '201': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/PostProfileMergeResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - create_profile_merge x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:write /api/profile-subscription-bulk-create-jobs: post: operationId: bulk_subscribe_profiles summary: Bulk Subscribe Profiles description: 'Subscribe one or more profiles to email marketing, SMS marketing, WhatsApp, or push. If the provided list has double opt-in enabled, profiles will receive a message requiring their confirmation before subscribing. Otherwise, profiles will be immediately subscribed without receiving a confirmation message. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). If a list is not provided, the opt-in process used will be determined by the [account-level default opt-in setting](https://www.klaviyo.com/settings/account/api-keys). To add someone to a list without changing their subscription status, use [Add Profile to List](https://developers.klaviyo.com/en/reference/create_list_relationships). This API will remove any `UNSUBSCRIBE`, `SPAM_REPORT` or `USER_SUPPRESSED` suppressions from the provided profiles. Learn more about [suppressed profiles](https://help.klaviyo.com/hc/en-us/articles/115005246108-Understanding-suppressed-email-profiles#what-is-a-suppressed-profile-1). Maximum number of profiles can be submitted for subscription: 1000 This endpoint now supports a `historical_import` flag. If this flag is set `true`, profiles being subscribed will bypass double opt-in emails and be subscribed immediately. They will also bypass any associated "Added to list" flows. This is useful for importing historical data where you have already collected consent. If `historical_import` is set to true, the `consented_at` field is required and must be in the past. Push tokens provided in `push_tokens` will be registered for each profile as long as push subscriptions are consented to.

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`' parameters: - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: description: 'Subscribes one or more profiles to marketing, with support for push channel and push tokens. All profiles will be added to the provided list. Either email or phone number is required. Both may be specified to subscribe to both channels. If a profile cannot be found matching the given identifier(s), a new profile will be created and then subscribed.' required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/SubscriptionCreateJobCreateQuery' responses: '202': description: Success 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - subscribe_profiles - create_profile_subscription_bulk_create_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - lists:write - profiles:write - subscriptions:write x-klaviyo-subtag: Consent /api/profile-subscription-bulk-delete-jobs: post: operationId: bulk_unsubscribe_profiles summary: Bulk Unsubscribe Profiles description: '> 🚧 > > Profiles not in the specified list will be globally unsubscribed. Always verify profile list membership before calling this endpoint to avoid unintended global unsubscribes. Unsubscribe one or more profiles from email marketing, SMS marketing, push marketing, or a combination. Learn more about [consent in this guide](https://developers.klaviyo.com/en/docs/collect_email_and_sms_consent_via_api). Push tokens provided in `subscriptions.push.tokens` will be removed for the specified profiles. To remove someone from a list without changing their subscription status, use [Remove Profiles from List](https://developers.klaviyo.com/en/reference/remove_profiles_from_list). Maximum number of profiles per call: 100

*Rate limits*:
Burst: `75/s`
Steady: `750/m` **Scopes:** `lists:write` `profiles:write` `subscriptions:write`' parameters: - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' requestBody: description: 'Unsubscribes one or more profiles from marketing. Supports email, SMS, WhatsApp, and push channels. All profiles will be removed from the provided list. Either email or phone number is required for email/SMS/WhatsApp channels. Push tokens can be removed by providing token strings directly. If a profile cannot be found matching the given identifier(s), a new profile will be created and then unsubscribed.' required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/SubscriptionDeleteJobCreateQuery' responses: '202': description: Success 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - unsubscribe_profiles - create_profile_subscription_bulk_delete_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 75/s steady: 750/m x-klaviyo-scopes: - lists:write - profiles:write - subscriptions:write x-klaviyo-subtag: Consent /api/profiles/{id}/push-tokens: get: operationId: get_push_tokens_for_profile summary: Get Push Tokens for Profile description: 'Return all push tokens that belong to the given profile.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: fields[push-token] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - background - created - enablement_status - metadata - metadata.app_build - metadata.app_id - metadata.app_name - metadata.app_version - metadata.device_id - metadata.device_model - metadata.environment - metadata.klaviyo_sdk - metadata.manufacturer - metadata.os_name - metadata.os_version - metadata.sdk_version - platform - recorded_date - token - vendor explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetPushTokenResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_push_tokens x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read /api/profiles/{id}/relationships/push-tokens: get: operationId: get_push_token_ids_for_profile summary: Get Push Token IDs for Profile description: 'Return the IDs of all push tokens associated with the given profile.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfilePushTokensRelationshipsResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_relationships_push_tokens x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read /api/profiles/{id}/lists: get: operationId: get_lists_for_profile summary: Get Lists for Profile description: 'Get list memberships for a profile with the given profile ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `lists:read` `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: fields[list] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - name - opt_in_process - updated explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetListResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_lists x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 3/s steady: 60/m x-klaviyo-scopes: - lists:read - profiles:read /api/profiles/{id}/relationships/lists: get: operationId: get_list_ids_for_profile summary: Get List IDs for Profile description: 'Get list memberships for a profile with the given profile ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `lists:read` `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileListsRelationshipsResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_relationships_lists x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 3/s steady: 60/m x-klaviyo-scopes: - lists:read - profiles:read /api/profiles/{id}/segments: get: operationId: get_segments_for_profile summary: Get Segments for Profile description: 'Get segment memberships for a profile with the given profile ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `profiles:read` `segments:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: fields[segment] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - definition - definition.condition_groups - is_active - is_processing - is_starred - name - updated explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetSegmentResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_segments x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 3/s steady: 60/m x-klaviyo-scopes: - profiles:read - segments:read /api/profiles/{id}/relationships/segments: get: operationId: get_segment_ids_for_profile summary: Get Segment IDs for Profile description: 'Get segment membership relationships for a profile with the given profile ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `profiles:read` `segments:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileSegmentsRelationshipsResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_relationships_segments x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 3/s steady: 60/m x-klaviyo-scopes: - profiles:read - segments:read /api/profiles/{id}/conversation: get: operationId: get_conversation_for_profile summary: Get Conversation for Profile description: 'Get the conversation for a profile with the given profile ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `conversations:read` `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetConversationResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_conversation x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 3/s steady: 60/m x-klaviyo-scopes: - conversations:read - profiles:read x-klaviyo-subtag: Conversations /api/profiles/{id}/relationships/conversation: get: operationId: get_conversation_id_for_profile summary: Get Conversation ID for Profile description: 'Get the conversation relationship for a profile with the given profile ID.

*Rate limits*:
Burst: `3/s`
Steady: `60/m` **Scopes:** `conversations:read` `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileConversationRelationshipResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_profile_relationships_conversation x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 3/s steady: 60/m x-klaviyo-scopes: - conversations:read - profiles:read x-klaviyo-subtag: Conversations /api/profile-bulk-import-jobs/{id}/lists: get: operationId: get_list_for_bulk_import_profiles_job summary: Get List for Bulk Import Profiles Job description: 'Get list for the bulk profile import job with the given ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: fields[list] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - name - opt_in_process - updated explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetListResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_bulk_profile_import_job_lists - get_lists_for_profile_bulk_import_job - get_profile_bulk_import_job_lists x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - lists:read x-klaviyo-subtag: Bulk Import Profiles /api/profile-bulk-import-jobs/{id}/relationships/lists: get: operationId: get_list_ids_for_bulk_import_profiles_job summary: Get List IDs for Bulk Import Profiles Job description: 'Get list relationship for the bulk profile import job with the given ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `lists:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileBulkImportJobListsRelationshipsResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_bulk_profile_import_job_relationships_lists - get_list_ids_for_profile_bulk_import_job - get_profile_bulk_import_job_relationships_lists x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - lists:read x-klaviyo-subtag: Bulk Import Profiles /api/profile-bulk-import-jobs/{id}/profiles: get: operationId: get_profiles_for_bulk_import_profiles_job summary: Get Profiles for Bulk Import Profiles Job description: 'Get profiles for the bulk profile import job with the given ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: additional-fields[profile] in: query description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics''' required: false schema: type: array items: type: string enum: - subscriptions - predictive_analytics explode: false - name: fields[profile] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - email - external_id - first_name - image - last_event_date - last_name - locale - location - location.address1 - location.address2 - location.city - location.country - location.ip - location.latitude - location.longitude - location.region - location.timezone - location.zip - organization - phone_number - predictive_analytics - predictive_analytics.average_days_between_orders - predictive_analytics.average_order_value - predictive_analytics.churn_probability - predictive_analytics.expected_date_of_next_order - predictive_analytics.historic_clv - predictive_analytics.historic_number_of_orders - predictive_analytics.predicted_clv - predictive_analytics.predicted_number_of_orders - predictive_analytics.ranked_channel_affinity - predictive_analytics.total_clv - properties - subscriptions - subscriptions.email - subscriptions.email.marketing - subscriptions.email.marketing.can_receive_email_marketing - subscriptions.email.marketing.consent - subscriptions.email.marketing.consent_timestamp - subscriptions.email.marketing.custom_method_detail - subscriptions.email.marketing.double_optin - subscriptions.email.marketing.last_updated - subscriptions.email.marketing.list_suppressions - subscriptions.email.marketing.method - subscriptions.email.marketing.method_detail - subscriptions.email.marketing.suppression - subscriptions.mobile_push - subscriptions.mobile_push.marketing - subscriptions.mobile_push.marketing.can_receive_push_marketing - subscriptions.mobile_push.marketing.consent - subscriptions.mobile_push.marketing.consent_timestamp - subscriptions.sms - subscriptions.sms.marketing - subscriptions.sms.marketing.can_receive_sms_marketing - subscriptions.sms.marketing.consent - subscriptions.sms.marketing.consent_timestamp - subscriptions.sms.marketing.last_updated - subscriptions.sms.marketing.method - subscriptions.sms.marketing.method_detail - subscriptions.sms.transactional - subscriptions.sms.transactional.can_receive_sms_transactional - subscriptions.sms.transactional.consent - subscriptions.sms.transactional.consent_timestamp - subscriptions.sms.transactional.last_updated - subscriptions.sms.transactional.method - subscriptions.sms.transactional.method_detail - subscriptions.whatsapp - subscriptions.whatsapp.conversational - subscriptions.whatsapp.conversational.can_receive - subscriptions.whatsapp.conversational.consent - subscriptions.whatsapp.conversational.consent_timestamp - subscriptions.whatsapp.conversational.created_timestamp - subscriptions.whatsapp.conversational.last_updated - subscriptions.whatsapp.conversational.metadata - subscriptions.whatsapp.conversational.phone_number - subscriptions.whatsapp.conversational.valid_until - subscriptions.whatsapp.marketing - subscriptions.whatsapp.marketing.can_receive - subscriptions.whatsapp.marketing.consent - subscriptions.whatsapp.marketing.consent_timestamp - subscriptions.whatsapp.marketing.created_timestamp - subscriptions.whatsapp.marketing.last_updated - subscriptions.whatsapp.marketing.metadata - subscriptions.whatsapp.marketing.phone_number - subscriptions.whatsapp.marketing.valid_until - subscriptions.whatsapp.transactional - subscriptions.whatsapp.transactional.can_receive - subscriptions.whatsapp.transactional.consent - subscriptions.whatsapp.transactional.consent_timestamp - subscriptions.whatsapp.transactional.created_timestamp - subscriptions.whatsapp.transactional.last_updated - subscriptions.whatsapp.transactional.metadata - subscriptions.whatsapp.transactional.phone_number - subscriptions.whatsapp.transactional.valid_until - title - updated explode: false - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: page[size] in: query description: 'Default: 20. Min: 1. Max: 100.' required: false schema: type: integer default: 20 maximum: 100 minimum: 1 - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_bulk_profile_import_job_profiles - get_profile_bulk_import_job_profiles - get_profiles_for_profile_bulk_import_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read x-klaviyo-subtag: Bulk Import Profiles /api/profile-bulk-import-jobs/{id}/relationships/profiles: get: operationId: get_profile_ids_for_bulk_import_profiles_job summary: Get Profile IDs for Bulk Import Profiles Job description: 'Get profile relationships for the bulk profile import job with the given ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: page[size] in: query description: 'Default: 20. Min: 1. Max: 100.' required: false schema: type: integer default: 20 maximum: 100 minimum: 1 - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileBulkImportJobProfilesRelationshipsResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_bulk_profile_import_job_relationships_profiles - get_profile_bulk_import_job_relationships_profiles - get_profile_ids_for_profile_bulk_import_job x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read x-klaviyo-subtag: Bulk Import Profiles /api/profile-bulk-import-jobs/{id}/import-errors: get: operationId: get_errors_for_bulk_import_profiles_job summary: Get Errors for Bulk Import Profiles Job description: 'Get import errors for the bulk profile import job with the given ID.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read`' parameters: - name: id in: path description: '' required: true schema: type: string - name: fields[import-error] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - code - detail - original_payload - source - source.pointer - title explode: false - name: page[cursor] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination required: false schema: type: string - name: page[size] in: query description: 'Default: 20. Min: 1. Max: 100.' required: false schema: type: integer default: 20 maximum: 100 minimum: 1 - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetImportErrorResponseCollection' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_bulk_profile_import_job_import_errors - get_import_errors_for_profile_bulk_import_job - get_profile_bulk_import_job_import_errors x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read x-klaviyo-subtag: Bulk Import Profiles /api/push-tokens/{id}/profile: get: operationId: get_profile_for_push_token summary: Get Profile for Push Token description: 'Return the profile associated with the given push token.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`' parameters: - name: id in: path description: The value of the push token required: true schema: description: The value of the push token type: string - name: additional-fields[profile] in: query description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'', ''predictive_analytics''' required: false schema: type: array items: type: string enum: - subscriptions - predictive_analytics explode: false - name: fields[profile] in: query description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets required: false schema: type: array items: type: string enum: - created - email - external_id - first_name - image - last_event_date - last_name - locale - location - location.address1 - location.address2 - location.city - location.country - location.ip - location.latitude - location.longitude - location.region - location.timezone - location.zip - organization - phone_number - predictive_analytics - predictive_analytics.average_days_between_orders - predictive_analytics.average_order_value - predictive_analytics.churn_probability - predictive_analytics.expected_date_of_next_order - predictive_analytics.historic_clv - predictive_analytics.historic_number_of_orders - predictive_analytics.predicted_clv - predictive_analytics.predicted_number_of_orders - predictive_analytics.ranked_channel_affinity - predictive_analytics.total_clv - properties - subscriptions - subscriptions.email - subscriptions.email.marketing - subscriptions.email.marketing.can_receive_email_marketing - subscriptions.email.marketing.consent - subscriptions.email.marketing.consent_timestamp - subscriptions.email.marketing.custom_method_detail - subscriptions.email.marketing.double_optin - subscriptions.email.marketing.last_updated - subscriptions.email.marketing.list_suppressions - subscriptions.email.marketing.method - subscriptions.email.marketing.method_detail - subscriptions.email.marketing.suppression - subscriptions.mobile_push - subscriptions.mobile_push.marketing - subscriptions.mobile_push.marketing.can_receive_push_marketing - subscriptions.mobile_push.marketing.consent - subscriptions.mobile_push.marketing.consent_timestamp - subscriptions.sms - subscriptions.sms.marketing - subscriptions.sms.marketing.can_receive_sms_marketing - subscriptions.sms.marketing.consent - subscriptions.sms.marketing.consent_timestamp - subscriptions.sms.marketing.last_updated - subscriptions.sms.marketing.method - subscriptions.sms.marketing.method_detail - subscriptions.sms.transactional - subscriptions.sms.transactional.can_receive_sms_transactional - subscriptions.sms.transactional.consent - subscriptions.sms.transactional.consent_timestamp - subscriptions.sms.transactional.last_updated - subscriptions.sms.transactional.method - subscriptions.sms.transactional.method_detail - subscriptions.whatsapp - subscriptions.whatsapp.conversational - subscriptions.whatsapp.conversational.can_receive - subscriptions.whatsapp.conversational.consent - subscriptions.whatsapp.conversational.consent_timestamp - subscriptions.whatsapp.conversational.created_timestamp - subscriptions.whatsapp.conversational.last_updated - subscriptions.whatsapp.conversational.metadata - subscriptions.whatsapp.conversational.phone_number - subscriptions.whatsapp.conversational.valid_until - subscriptions.whatsapp.marketing - subscriptions.whatsapp.marketing.can_receive - subscriptions.whatsapp.marketing.consent - subscriptions.whatsapp.marketing.consent_timestamp - subscriptions.whatsapp.marketing.created_timestamp - subscriptions.whatsapp.marketing.last_updated - subscriptions.whatsapp.marketing.metadata - subscriptions.whatsapp.marketing.phone_number - subscriptions.whatsapp.marketing.valid_until - subscriptions.whatsapp.transactional - subscriptions.whatsapp.transactional.can_receive - subscriptions.whatsapp.transactional.consent - subscriptions.whatsapp.transactional.consent_timestamp - subscriptions.whatsapp.transactional.created_timestamp - subscriptions.whatsapp.transactional.last_updated - subscriptions.whatsapp.transactional.metadata - subscriptions.whatsapp.transactional.phone_number - subscriptions.whatsapp.transactional.valid_until - title - updated explode: false - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetProfileResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_push_token_profile x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read - push-tokens:read x-klaviyo-subtag: Push Tokens /api/push-tokens/{id}/relationships/profile: get: operationId: get_profile_id_for_push_token summary: Get Profile ID for Push Token description: 'Return the ID of the profile associated with the given push token.

*Rate limits*:
Burst: `10/s`
Steady: `150/m` **Scopes:** `profiles:read` `push-tokens:read`' parameters: - name: id in: path description: The value of the push token required: true schema: description: The value of the push token type: string - name: revision in: header description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])' required: true schema: type: string default: '2026-04-15' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetPushTokenProfileRelationshipResponse' 4XX: $ref: '#/components/responses/ClientError' 5XX: $ref: '#/components/responses/ServerError' tags: - Profiles x-klaviyo-operation-aliases: - get_push_token_relationships_profile x-klaviyo-pre-release: None x-klaviyo-ratelimit: burst: 10/s steady: 150/m x-klaviyo-scopes: - profiles:read - push-tokens:read x-klaviyo-subtag: Push Tokens components: schemas: MessageBlockedMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - message_blocked required: - field - method ConstantContactIntegrationFilter: type: object properties: type: type: string enum: - string operator: type: string enum: - in value: type: array items: enum: - constant_contact type: string required: - type - operator - value NoEmailMarketingNeverSubscribed: type: object properties: subscription: type: string enum: - never_subscribed filters: type: array items: oneOf: - $ref: '#/components/schemas/BounceDateFilter' - $ref: '#/components/schemas/ManualSuppressionDateFilter' - $ref: '#/components/schemas/InvalidEmailDateFilter' required: - subscription - filters PostBulkProfileSuppressionsCreateJobResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileSuppressionBulkCreateJobEnum' id: description: Unique identifier for retrieving the job. Generated by Klaviyo. type: string attributes: type: object properties: status: description: Status of the asynchronous job. type: string example: processing enum: - cancelled - complete - processing - queued created_at: description: The date and time the job was created in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' total_count: description: The total number of operations to be processed by the job. See `completed_count` for the job's current progress. type: integer example: 10 completed_count: description: The total number of operations that have been completed by the job. type: integer example: 9 default: 0 nullable: true completed_at: description: Date and time the job was completed in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true skipped_count: description: The total number of profiles that have been skipped as part of the job. type: integer example: 1 default: 0 nullable: true required: - status - created_at - total_count relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: Suppress/Unsuppress all profiles in this list type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' segments: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: description: Suppress/Unsuppress all profiles in this segment type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links links: $ref: '#/components/schemas/ObjectLinks' required: - data GetPushTokenResponseCollectionCompoundDocument: type: object properties: data: type: array items: $ref: '#/components/schemas/PushTokenResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' included: type: array items: $ref: '#/components/schemas/ProfileResponseObjectResource' required: - data GetListResponseCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/ListResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data GetPushTokenProfileRelationshipResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H required: - type - id links: $ref: '#/components/schemas/ObjectLinks' required: - data ProfilePredictiveAnalyticsChannelAffinityPriorityCondition: type: object properties: type: type: string enum: - profile-predictive-analytics dimension: description: Possible dimension for channel affinity criterion. type: string enum: - channel_affinity measurement: type: string enum: - priority predicted_channel: description: Possible channels in a channel affinity definition. type: string enum: - email - push - sms filter: $ref: '#/components/schemas/ProfilePredictiveAnalyticsChannelAffinityPriorityFilter' required: - type - dimension - measurement - predicted_channel - filter ProfileSuppressionBulkCreateJobEnum: type: string enum: - profile-suppression-bulk-create-job ListEnum: type: string enum: - list PushTokenResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/PushTokenEnum' id: description: ID of push token type: string attributes: type: object properties: created: description: The time at which the token was created type: string format: date-time example: '2022-11-08T00:00:00+00:00' token: description: The push token type: string enablement_status: description: The enablement status of the push token type: string enum: - AUTHORIZED - DENIED - NOT_DETERMINED - PROVISIONAL - UNAUTHORIZED platform: description: The platform of the push token('ios', 'android') type: string enum: - android - ios vendor: description: The vendor of the push token('APNs', 'FCM') type: string background: description: The background state of the push token type: string recorded_date: description: The date the push token was recorded type: string metadata: description: Metadata of device $ref: '#/components/schemas/DeviceMetadata' nullable: true required: - created - token - enablement_status - platform - vendor - background - recorded_date relationships: type: object properties: profile: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: The profile associated with the push token type: string required: - type - id links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links GetBulkProfileSuppressionsCreateJobResponseCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/BulkProfileSuppressionsCreateJobResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data StatusDateFilter: type: object properties: field: type: string enum: - status_date filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' required: - field - filter PredictiveAnalytics: type: object properties: historic_clv: description: Total value of all historically placed orders type: number example: 93.87 nullable: true predicted_clv: description: Predicted value of all placed orders in the next 365 days type: number example: 27.24 nullable: true total_clv: description: Sum of historic and predicted CLV type: number example: 121.11 nullable: true historic_number_of_orders: description: Number of already placed orders type: number example: 2 nullable: true predicted_number_of_orders: description: Predicted number of placed orders in the next 365 days type: number example: 0.54 nullable: true average_days_between_orders: description: Average number of days between orders (None if only one order has been placed) type: number example: 189 nullable: true average_order_value: description: Average value of placed orders type: number example: 46.94 nullable: true churn_probability: description: Probability the customer has churned type: number example: 0.89 nullable: true expected_date_of_next_order: description: Expected date of next order, as calculated at the time of their most recent order type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true ranked_channel_affinity: description: List of channels ranked by their predicted effectiveness for this profile, with the best channel being listed first at index 0 type: array items: type: string enum: - email - push - sms - whatsapp description: Enum for channel name return values used in the V3 API for channel affinity for the field `ranked_channel_affinity`. example: - sms - email - push nullable: true ProfileUpsertQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string nullable: true attributes: type: object properties: email: description: Individual's email address type: string example: sarah.mason@klaviyo-demo.com nullable: true phone_number: description: Individual's phone number in E.164 format type: string example: '+15005550006' nullable: true external_id: description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. type: string nullable: true _kx: description: 'Also known as the `exchange_id`, this is an encrypted identifier used for identifying a profile by Klaviyo''s web tracking. You can use this field as a filter when retrieving profiles via the Get Profiles endpoint.' type: string nullable: true first_name: description: Individual's first name type: string example: Sarah nullable: true last_name: description: Individual's last name type: string example: Mason nullable: true organization: description: Name of the company or organization within the company for whom the individual works type: string example: Example Corporation nullable: true locale: description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2) type: string example: en-US nullable: true title: description: Individual's job title type: string example: Regional Manager nullable: true image: description: URL pointing to the location of a profile image type: string example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg nullable: true location: $ref: '#/components/schemas/ProfileLocation' nullable: true properties: description: An object containing key/value pairs for any custom properties assigned to this profile type: object example: pseudonym: Dr. Octopus nullable: true meta: $ref: '#/components/schemas/ProfileMeta' nullable: true required: - type - attributes ProfileSuppressionBulkDeleteJobEnum: type: string enum: - profile-suppression-bulk-delete-job PushChannel: type: object properties: marketing: description: The mobile push marketing subscription. $ref: '#/components/schemas/PushMarketing' nullable: true HasPushMarketingConsent: type: object properties: channel: type: string enum: - push can_receive_marketing: type: boolean enum: - true consent_status: $ref: '#/components/schemas/HasPushMarketing' required: - channel - can_receive_marketing - consent_status ProfileEnum: type: string enum: - profile GetBulkProfileSuppressionsRemoveJobResponse: type: object properties: data: $ref: '#/components/schemas/BulkProfileSuppressionsRemoveJobResponseObjectResource' links: $ref: '#/components/schemas/ObjectLinks' required: - data BulkProfileSuppressionsCreateJobResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/ProfileSuppressionBulkCreateJobEnum' id: description: Unique identifier for retrieving the job. Generated by Klaviyo. type: string attributes: type: object properties: status: description: Status of the asynchronous job. type: string example: processing enum: - cancelled - complete - processing - queued created_at: description: The date and time the job was created in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' total_count: description: The total number of operations to be processed by the job. See `completed_count` for the job's current progress. type: integer example: 10 completed_count: description: The total number of operations that have been completed by the job. type: integer example: 9 default: 0 nullable: true completed_at: description: Date and time the job was completed in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true skipped_count: description: The total number of profiles that have been skipped as part of the job. type: integer example: 1 default: 0 nullable: true required: - status - created_at - total_count relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: Suppress/Unsuppress all profiles in this list type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' segments: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: description: Suppress/Unsuppress all profiles in this segment type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links ProfileModificationMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - profile_modification required: - field - method CheckoutMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - checkout required: - field - method PushMarketing: type: object properties: can_receive_push_marketing: description: Whether or not this profile is subscribed to receive mobile push. type: boolean consent: description: The consent status for mobile push marketing. type: string example: SUBSCRIBED consent_timestamp: description: The timestamp when the consent was last changed, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true required: - can_receive_push_marketing - consent SuppressionCreateJobCreateQuery: type: object properties: data: $ref: '#/components/schemas/SuppressionCreateJobCreateQueryResourceObject' required: - data WhatsappMarketingChannel: type: object properties: consent: description: The consent status for the channel. type: string example: SUBSCRIBED consent_timestamp: description: The timestamp when consent was recorded or updated for the channel, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true last_updated: description: The timestamp when the channel was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true created_timestamp: description: The timestamp when the channel was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true metadata: description: Channel-specific metadata containing additional information about the permission. type: object nullable: true can_receive: description: Whether the profile can receive messages on this channel. type: boolean valid_until: description: Optional expiration date for the permission, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2024-02-21T20:07:38+00:00' nullable: true phone_number: description: Phone number to which the consent was granted for. type: string required: - consent - can_receive - phone_number RelativeAnniversaryDateFilter: type: object properties: type: type: string enum: - date operator: description: 'Operators for relative date filters. e.g. "anniversary in the last 10 days"' type: string enum: - anniversary-last - anniversary-next unit: description: Units for relative date filters. type: string enum: - day - hour - week quantity: type: integer required: - type - operator - unit - quantity ImportErrorEnum: type: string enum: - import-error ProfilePredictiveAnalyticsStringFilter: type: object properties: type: type: string enum: - string operator: oneOf: - enum: - equals type: string - enum: - not-equals type: string value: description: Values for profile predictive analytics gender conditions. type: string enum: - likely_female - likely_male - uncertain required: - type - operator - value ProfileCreateQuery: type: object properties: data: $ref: '#/components/schemas/ProfileCreateQueryResourceObject' required: - data ShopifyIntegrationFilter: type: object properties: type: type: string enum: - string operator: type: string enum: - in value: type: array items: enum: - shopify type: string required: - type - operator - value ObjectLinks: type: object properties: self: type: string format: uri required: - self ExplicitlyUnreachable: type: object properties: reachable_status: type: string enum: - explicitly_unreachable filters: type: array items: oneOf: - $ref: '#/components/schemas/EffectiveDateFilter' - $ref: '#/components/schemas/RecordedDateFilter' - $ref: '#/components/schemas/MethodFilter' - $ref: '#/components/schemas/FormSubscribeFilter' required: - reachable_status - filters ProfileMarketingConsentCondition: type: object properties: type: type: string enum: - profile-marketing-consent consent: oneOf: - $ref: '#/components/schemas/HasEmailMarketingConsent' - $ref: '#/components/schemas/NoEmailMarketingConsent' - $ref: '#/components/schemas/HasSMSMarketingConsent' - $ref: '#/components/schemas/NoSMSMarketingConsent' - $ref: '#/components/schemas/HasPushMarketingConsent' - $ref: '#/components/schemas/NoPushMarketingConsent' required: - type - consent PreferencePageFilter: type: object properties: field: type: string enum: - method method: type: string enum: - preference_page filter: description: Optional filter on a specific subscribe page url $ref: '#/components/schemas/EqualsStringFilter' nullable: true required: - field - method DoubleOptinFilter: type: object properties: field: type: string enum: - is_double_opt_in filter: $ref: '#/components/schemas/BooleanFilter' required: - field - filter NoSMSMarketingUnsubscribed: type: object properties: subscription: type: string enum: - unsubscribed filters: type: array items: oneOf: - $ref: '#/components/schemas/StatusDateFilter' - $ref: '#/components/schemas/FormMethodFilter' - $ref: '#/components/schemas/ManualImportManualMethodFilter' - $ref: '#/components/schemas/ManualAddManualMethodFilter' - $ref: '#/components/schemas/ManualRemoveMethodFilter' - $ref: '#/components/schemas/BulkRemoveMethodFilter' - $ref: '#/components/schemas/CheckoutMethodFilter' - $ref: '#/components/schemas/InboundMessageMethodFilter' - $ref: '#/components/schemas/PreferencePageMethodFilter' - $ref: '#/components/schemas/SftpMethodFilter' - $ref: '#/components/schemas/CarrierDeactivationMethodFilter' - $ref: '#/components/schemas/ProvidedLandlineMethodFilter' - $ref: '#/components/schemas/MessageBlockedMethodFilter' - $ref: '#/components/schemas/ProvidedNoAgeMethodFilter' - $ref: '#/components/schemas/FailedAgeGateMethodFilter' - $ref: '#/components/schemas/ShopifyIntegrationMethodFilter' nullable: true required: - subscription GetBulkProfileSuppressionsCreateJobResponse: type: object properties: data: $ref: '#/components/schemas/BulkProfileSuppressionsCreateJobResponseObjectResource' links: $ref: '#/components/schemas/ObjectLinks' required: - data MethodFilter: type: object properties: field: type: string enum: - subscribe_method method: description: Method for subscribing / unsubscribing. type: string enum: - api - back_in_stock - bigcommerce - bulk_remove - campaign_monitor - carrier_deactivation - checkout - constant_contact - exact_target - facebook - failed_age_gate - inbound_message - integration - mad_mimi - magento_two - mailbox_provider - manual_add - manual_import - manual_remove - message_blocked - netsuite - preference_page - provided_landline - provided_no_age - sftp - shopify - social_instagram_message - spam_complaint - square - wix - woocommerce required: - field - method TagEnum: type: string enum: - tag FailedAgeGateMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - failed_age_gate required: - field - method ProfileMetaPatchProperties: type: object properties: append: description: Append a simple value or values to this property array type: object example: skus: '92538' nullable: true unappend: description: Remove a simple value or values from this property array type: object example: skus: '40571' nullable: true unset: description: Remove a key or keys (and their values) completely from properties example: skus nullable: true oneOf: - type: string - type: array items: type: string SuppressionCreateJobCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileSuppressionBulkCreateJobEnum' attributes: type: object properties: profiles: description: The profile(s) to create suppressions for. type: object nullable: true properties: data: type: array items: $ref: '#/components/schemas/ProfileSuppressionCreateQueryResourceObject' required: - data relationships: type: object properties: list: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ListEnum' id: description: Suppress all profiles in this list type: string example: Y6nRLr required: - type - id segment: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/SegmentEnum' id: description: Suppress all profiles in this segment type: string example: Y6nRLr required: - type - id required: - type - attributes UnsubscriptionChannels: type: object properties: email: description: The subscription parameters to unsubscribe from the "EMAIL" Channel. $ref: '#/components/schemas/EmailUnsubscriptionParameters' nullable: true sms: description: The subscription parameters to unsubscribe from the "SMS" Channel. $ref: '#/components/schemas/SMSUnsubscriptionParameters' nullable: true whatsapp: description: The subscription parameters to unsubscribe from the "WhatsApp" Channel. $ref: '#/components/schemas/WhatsAppUnsubscriptionParameters' nullable: true push: description: The subscription parameters to unsubscribe from the "Push" Channel. $ref: '#/components/schemas/PushUnsubscriptionParameters' nullable: true ImportErrorResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/ImportErrorEnum' id: description: Unique identifier for the error. type: string example: e4eebb08-b055-4a6f-bb13-c8cb69c9eb94 attributes: type: object properties: code: description: A code for classifying the error type. type: string example: invalid title: description: A high-level message about the error. type: string example: Invalid input detail: description: Specific details about the error. type: string example: The payload provided in the request is invalid. source: description: Additional information on the source of the error. $ref: '#/components/schemas/ErrorSource' original_payload: type: object nullable: true required: - code - title - detail - source required: - type - id - attributes ProfileHasCustomObjectFilter: type: object properties: property_id: type: integer filter: oneOf: - $ref: '#/components/schemas/StringOperatorStringFilter' - $ref: '#/components/schemas/StringArrayOperatorStringArrayFilter' - $ref: '#/components/schemas/NumericOperatorNumericFilter' - $ref: '#/components/schemas/NumericRangeFilter' - $ref: '#/components/schemas/BooleanFilter' - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/ExistenceOperatorExistenceFilter' required: - property_id - filter ConstantContactIntegrationMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - integration filter: $ref: '#/components/schemas/ConstantContactIntegrationFilter' required: - field - method - filter PushTokenEnum: type: string enum: - push-token HasEmailMarketingNeverSubscribed: type: object properties: subscription: type: string enum: - never_subscribed filters: nullable: true required: - subscription GetProfileListsRelationshipsResponseCollection: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: Primary key that uniquely identifies this list. Generated by Klaviyo. type: string example: Y6nRLr links: $ref: '#/components/schemas/CollectionLinks' required: - data NumericRangeFilter: type: object properties: type: type: string enum: - numeric operator: description: Operators for numeric range filters. type: string enum: - between start: oneOf: - type: integer - type: number end: oneOf: - type: integer - type: number required: - type - operator - start - end FormSubscribeFilter: type: object properties: field: type: string enum: - subscribe_method method: type: string enum: - form filter: description: Optional filter on a specific list of form IDs $ref: '#/components/schemas/InStringArrayFilter' nullable: true required: - field - method NoSMSMarketingConsent: type: object properties: channel: type: string enum: - sms can_receive_marketing: type: boolean enum: - false consent_status: oneOf: - $ref: '#/components/schemas/NoSMSMarketing' - $ref: '#/components/schemas/NoSMSMarketingUnsubscribed' - $ref: '#/components/schemas/NoSMSMarketingNeverSubscribed' required: - channel - can_receive_marketing - consent_status ProvidedNoAgeMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - provided_no_age required: - field - method ProfileSubscriptionBulkCreateJobEnum: type: string enum: - profile-subscription-bulk-create-job PostBulkProfileSuppressionsRemoveJobResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileSuppressionBulkDeleteJobEnum' id: description: Unique identifier for retrieving the job. Generated by Klaviyo. type: string attributes: type: object properties: status: description: Status of the asynchronous job. type: string example: processing enum: - cancelled - complete - processing - queued created_at: description: The date and time the job was created in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' total_count: description: The total number of operations to be processed by the job. See `completed_count` for the job's current progress. type: integer example: 10 completed_count: description: The total number of operations that have been completed by the job. type: integer example: 9 default: 0 nullable: true completed_at: description: Date and time the job was completed in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true skipped_count: description: The total number of profiles that have been skipped as part of the job. type: integer example: 1 default: 0 nullable: true required: - status - created_at - total_count relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: Suppress/Unsuppress all profiles in this list type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' segments: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: description: Suppress/Unsuppress all profiles in this segment type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links links: $ref: '#/components/schemas/ObjectLinks' required: - data ProfileMeta: type: object properties: patch_properties: description: Specify one or more patch operations to apply to existing property data example: append: skus: '92538' $ref: '#/components/schemas/ProfileMetaPatchProperties' nullable: true patch_identifiers: description: Specify one or more patch operations to apply to existing identifier data. Currently only `email` is supported, and it is used to add or remove secondary email addresses on a profile. example: append: email: - example@test.com - another@example.com $ref: '#/components/schemas/PatchIdentifiers' nullable: true SubscribedSMSIsRcsCapableFilter: type: object properties: field: type: string enum: - is_rcs_capable filter: $ref: '#/components/schemas/BooleanFilter' required: - field - filter SMSUnsubscriptionParameters: type: object properties: marketing: description: The parameters to unsubscribe from marketing on the "SMS" channel. $ref: '#/components/schemas/UnsubscriptionParameters' nullable: true transactional: description: The parameters to unsubscribe from transactional messaging on the "SMS" channel. $ref: '#/components/schemas/UnsubscriptionParameters' nullable: true GetProfileResponse: type: object properties: data: allOf: - properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: properties: subscriptions: $ref: '#/components/schemas/Subscriptions' nullable: true predictive_analytics: $ref: '#/components/schemas/PredictiveAnalytics' nullable: true - $ref: '#/components/schemas/ProfileResponseObjectResource' links: $ref: '#/components/schemas/ObjectLinks' required: - data GetProfileConversationRelationshipResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ConversationEnum' id: type: string required: - type - id links: $ref: '#/components/schemas/ObjectLinks' required: - data APIMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - api filter: description: Optional filter on a specific list of API keys (using last 4 digits of the key) $ref: '#/components/schemas/InStringArrayFilter' nullable: true required: - field - method ConversationResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/ConversationEnum' id: type: string relationships: type: object properties: profile: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: type: string required: - type - id links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - links StaticDateFilter: type: object properties: type: type: string enum: - date operator: description: 'Operators for static date filters. E.g. "before 2023-01-01"' type: string enum: - after - before date: type: string format: date-time example: '2022-11-08T00:00:00+00:00' required: - type - operator - date ProfileSuppressionDeleteQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: type: object properties: email: description: The email of the profile to unsuppress. type: string example: matt-kemp@klaviyo-demo.com required: - email required: - type - attributes ExplicitlyReachable: type: object properties: reachable_status: type: string enum: - explicitly_reachable filters: type: array items: oneOf: - $ref: '#/components/schemas/EffectiveDateFilter' - $ref: '#/components/schemas/RecordedDateFilter' - $ref: '#/components/schemas/MethodFilter' - $ref: '#/components/schemas/FormSubscribeFilter' required: - reachable_status - filters ListLengthFilter: type: object properties: type: type: string enum: - list operator: description: Operators for list length filters. type: string enum: - length-equals - length-greater-than - length-greater-than-or-equal - length-less-than - length-less-than-or-equal value: type: integer required: - type - operator - value GetProfileImportJobResponseCompoundDocument: type: object properties: data: $ref: '#/components/schemas/ProfileImportJobResponseObjectResource' included: type: array items: $ref: '#/components/schemas/ListResponseObjectResource' links: $ref: '#/components/schemas/ObjectLinks' required: - data RecordedDateFilter: type: object properties: field: type: string enum: - recorded_date filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' required: - field - filter SftpMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - sftp required: - field - method PushTokenEntry: type: object properties: token: description: A push token from APNS or FCM. type: string example: 1234567890abcdef platform: description: The platform on which the push token was created. Either "ios" or "android". type: string enum: - android - ios vendor: description: The vendor of the push token. Either "apns" or "fcm". type: string example: apns enum: - apns - fcm enablement_status: description: The enablement status for the push token. type: string example: AUTHORIZED enum: - AUTHORIZED - DENIED - NOT_DETERMINED - PROVISIONAL - UNAUTHORIZED nullable: true background: description: The background state of the push token. type: string example: AVAILABLE enum: - AVAILABLE - DENIED - RESTRICTED nullable: true device_metadata: description: Metadata about the device that created the push token. $ref: '#/components/schemas/PushTokenDeviceMetadata' nullable: true required: - token - platform - vendor InvalidEmailDateFilter: type: object properties: field: type: string enum: - invalid_email_date filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' - $ref: '#/components/schemas/IsSetExistenceFilter' required: - field - filter WhatsappChannel: type: object properties: marketing: description: The Whatsapp marketing subscription. $ref: '#/components/schemas/WhatsappMarketingChannel' nullable: true transactional: description: The Whatsapp transactional subscription. $ref: '#/components/schemas/WhatsappTransactionalChannel' nullable: true conversational: description: The Whatsapp conversational subscription. $ref: '#/components/schemas/WhatsappConversationalChannel' nullable: true CarrierDeactivationMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - carrier_deactivation required: - field - method PushUnsubscriptionParameters: type: object properties: marketing: description: The parameters to unsubscribe from marketing on the "Push" channel. $ref: '#/components/schemas/UnsubscriptionParameters' tokens: description: A list of push tokens to unsubscribe/remove. type: array items: $ref: '#/components/schemas/PushTokenEntry' required: - marketing - tokens HasPushMarketing: type: object properties: subscription: type: string enum: - any filters: type: array items: $ref: '#/components/schemas/StatusDateFilter' nullable: true required: - subscription ProfileMergeQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileMergeEnum' id: description: The ID of the destination profile to merge into type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H relationships: type: object properties: profiles: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: The ID of a source profile to merge into the destination profile type: string example: 01GDDKASAP8TKDDA2GRZDSVP4I required: - profiles required: - type - id - relationships ImplicitlyReachable: type: object properties: reachable_status: type: string enum: - implicitly_reachable required: - reachable_status EffectiveDateFilter: type: object properties: field: type: string enum: - effective_date filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' required: - field - filter SpamComplaintMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - spam_complaint required: - field - method ListResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/ListEnum' id: description: Primary key that uniquely identifies this list. Generated by Klaviyo. type: string example: Y6nRLr attributes: type: object properties: name: description: A helpful name to label the list type: string example: Newsletter nullable: true created: description: Date and time when the list was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true updated: description: Date and time when the list was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true opt_in_process: description: 'The opt-in process for this list. Valid values: ''double_opt_in'', ''single_opt_in''.' type: string example: double_opt_in enum: - double_opt_in - single_opt_in nullable: true relationships: type: object properties: profiles: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ProfileEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' tags: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/TagEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' flow-triggers: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/FlowEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links WhatsAppUnsubscriptionParameters: type: object properties: marketing: description: The parameters to unsubscribe from marketing on the "WhatsApp" channel. $ref: '#/components/schemas/UnsubscriptionParameters' nullable: true transactional: description: The parameters to unsubscribe from transactional messaging on the "WhatsApp" channel. $ref: '#/components/schemas/UnsubscriptionParameters' nullable: true conversational: description: The parameters to unsubscribe from conversational messaging on the "WhatsApp" channel. $ref: '#/components/schemas/UnsubscriptionParameters' nullable: true FlowEnum: type: string enum: - flow EmailChannel: type: object properties: marketing: description: The email marketing subscription. $ref: '#/components/schemas/EmailMarketing' nullable: true DataWarehouseImportMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - data_warehouse_import required: - field - method EqualsStringFilter: type: object properties: type: type: string enum: - string operator: type: string enum: - equals value: type: string nullable: true required: - type - operator - value GetProfileBulkImportJobListsRelationshipsResponseCollection: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: Primary key that uniquely identifies this list. Generated by Klaviyo. type: string example: Y6nRLr links: $ref: '#/components/schemas/CollectionLinks' required: - data SuppressionDeleteJobCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileSuppressionBulkDeleteJobEnum' attributes: type: object properties: profiles: description: The profile(s) to remove suppressions for. type: object nullable: true properties: data: type: array items: $ref: '#/components/schemas/ProfileSuppressionDeleteQueryResourceObject' required: - data relationships: type: object properties: list: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ListEnum' id: description: The list to pull the profiles to remove suppressions from type: string example: Y6nRLr required: - type - id segment: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/SegmentEnum' id: description: The segment to pull the profiles to remove suppressions from type: string example: Y6nRLr required: - type - id required: - type - attributes SuppressionDeleteJobCreateQuery: type: object properties: data: $ref: '#/components/schemas/SuppressionDeleteJobCreateQueryResourceObject' required: - data BooleanFilter: type: object properties: type: type: string enum: - boolean operator: description: Operators for boolean filters. type: string enum: - equals value: type: boolean required: - type - operator - value ProfileSubscriptionBulkDeleteJobEnum: type: string enum: - profile-subscription-bulk-delete-job ProfilePredictiveAnalyticsChannelAffinityRankFilter: type: object properties: type: type: string enum: - string operator: oneOf: - enum: - equals type: string - enum: - not-equals type: string value: description: Possible rank values in a channel affinity definition. type: string enum: - high - low - medium required: - type - operator - value ManualImportMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - manual_import required: - field - method WhatsappConversationalChannel: type: object properties: consent: description: The consent status for the channel. type: string example: SUBSCRIBED consent_timestamp: description: The timestamp when consent was recorded or updated for the channel, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true last_updated: description: The timestamp when the channel was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true created_timestamp: description: The timestamp when the channel was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true metadata: description: Channel-specific metadata containing additional information about the permission. type: object nullable: true can_receive: description: Whether the profile can receive messages on this channel. type: boolean valid_until: description: Optional expiration date for the permission, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2024-02-21T20:07:38+00:00' nullable: true phone_number: description: Phone number to which the consent was granted for. type: string required: - consent - can_receive - phone_number ProfilePredictiveAnalyticsChannelAffinityPriorityFilter: type: object properties: type: type: string enum: - numeric operator: type: string enum: - equals value: type: integer required: - type - operator - value ProfileHasCustomObjectCondition: type: object properties: type: type: string enum: - profile-has-custom-object object_type_id: type: string object_type_relationship_id: type: string filter: $ref: '#/components/schemas/IntegerFilter' filters: type: array items: $ref: '#/components/schemas/ProfileHasCustomObjectFilter' required: - type - object_type_id - object_type_relationship_id - filter - filters ImplicitlyUnreachable: type: object properties: reachable_status: type: string enum: - implicitly_unreachable required: - reachable_status EmailUnsubscriptionParameters: type: object properties: marketing: description: The parameters to unsubscribe from marketing on the "EMAIL" channel. $ref: '#/components/schemas/UnsubscriptionParameters' required: - marketing SMSSubscriptionParameters: type: object properties: marketing: description: The parameters to subscribe to marketing on the "SMS" Channel. $ref: '#/components/schemas/SubscriptionParameters' nullable: true transactional: description: The parameters to subscribe to transactional messaging on the "SMS" Channel. $ref: '#/components/schemas/SubscriptionParameters' nullable: true ProfilePropertyCondition: type: object properties: type: type: string enum: - profile-property property: type: string filter: oneOf: - $ref: '#/components/schemas/StringOperatorStringFilter' - $ref: '#/components/schemas/StringArrayOperatorStringArrayFilter' - $ref: '#/components/schemas/StringPhoneOperatorStringArrayFilter' - $ref: '#/components/schemas/NumericOperatorNumericFilter' - $ref: '#/components/schemas/BooleanFilter' - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' - $ref: '#/components/schemas/ListContainsOperatorListContainsFilter' - $ref: '#/components/schemas/ListLengthFilter' - $ref: '#/components/schemas/ExistenceOperatorExistenceFilter' required: - type - property - filter NoEmailMarketingUnsubscribed: type: object properties: subscription: type: string enum: - unsubscribed filters: nullable: true oneOf: - type: array items: oneOf: - $ref: '#/components/schemas/StatusDateFilter' - $ref: '#/components/schemas/APIMethodFilter' - $ref: '#/components/schemas/InboundMessageMethodFilter' - $ref: '#/components/schemas/PreferencePageMethodFilter' - $ref: '#/components/schemas/ManualRemoveMethodFilter' - $ref: '#/components/schemas/SpamComplaintMethodFilter' - $ref: '#/components/schemas/MailboxProviderMethodFilter' - $ref: '#/components/schemas/OneClickUnsubscribeMethodFilter' - $ref: '#/components/schemas/ManualImportMethodFilter' - $ref: '#/components/schemas/SftpMethodFilter' - $ref: '#/components/schemas/DataWarehouseImportMethodFilter' - $ref: '#/components/schemas/ProfileModificationMethodFilter' - $ref: '#/components/schemas/ConstantContactIntegrationMethodFilter' - type: array items: oneOf: - $ref: '#/components/schemas/BounceDateFilter' - $ref: '#/components/schemas/ManualSuppressionDateFilter' - $ref: '#/components/schemas/InvalidEmailDateFilter' required: - subscription BulkProfileSuppressionsRemoveJobResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/ProfileSuppressionBulkDeleteJobEnum' id: description: Unique identifier for retrieving the job. Generated by Klaviyo. type: string attributes: type: object properties: status: description: Status of the asynchronous job. type: string example: processing enum: - cancelled - complete - processing - queued created_at: description: The date and time the job was created in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' total_count: description: The total number of operations to be processed by the job. See `completed_count` for the job's current progress. type: integer example: 10 completed_count: description: The total number of operations that have been completed by the job. type: integer example: 9 default: 0 nullable: true completed_at: description: Date and time the job was completed in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true skipped_count: description: The total number of profiles that have been skipped as part of the job. type: integer example: 1 default: 0 nullable: true required: - status - created_at - total_count relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: Suppress/Unsuppress all profiles in this list type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' segments: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: description: Suppress/Unsuppress all profiles in this segment type: string example: Y6nRLr links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links RelationshipLinks: type: object properties: self: type: string format: uri related: type: string format: uri required: - self - related BounceDateFilter: type: object properties: field: type: string enum: - bounce_date filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' - $ref: '#/components/schemas/IsSetExistenceFilter' required: - field - filter NoEmailMarketing: type: object properties: subscription: type: string enum: - any filters: type: array items: oneOf: - $ref: '#/components/schemas/BounceDateFilter' - $ref: '#/components/schemas/ManualSuppressionDateFilter' - $ref: '#/components/schemas/InvalidEmailDateFilter' nullable: true required: - subscription PostProfileMergeResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: The ID of the destination profile that was merged into type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - links links: $ref: '#/components/schemas/ObjectLinks' required: - data ImplicitlyOrExplicitlyUnreachable: type: object properties: reachable_status: type: string enum: - implicitly_or_explicitly_unreachable required: - reachable_status ProfileMergeQuery: type: object properties: data: $ref: '#/components/schemas/ProfileMergeQueryResourceObject' required: - data NoPushMarketingConsent: type: object properties: channel: type: string enum: - push can_receive_marketing: type: boolean enum: - false consent_status: $ref: '#/components/schemas/NoPushMarketing' required: - channel - can_receive_marketing - consent_status ProfileCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: type: object properties: email: description: Individual's email address type: string example: sarah.mason@klaviyo-demo.com nullable: true phone_number: description: Individual's phone number in E.164 format type: string example: '+15005550006' nullable: true external_id: description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. type: string nullable: true first_name: description: Individual's first name type: string example: Sarah nullable: true last_name: description: Individual's last name type: string example: Mason nullable: true organization: description: Name of the company or organization within the company for whom the individual works type: string example: Example Corporation nullable: true locale: description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2) type: string example: en-US nullable: true title: description: Individual's job title type: string example: Regional Manager nullable: true image: description: URL pointing to the location of a profile image type: string example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg nullable: true location: $ref: '#/components/schemas/ProfileLocation' nullable: true properties: description: An object containing key/value pairs for any custom properties assigned to this profile type: object example: pseudonym: Dr. Octopus nullable: true required: - type - attributes EmailMarketing: type: object properties: can_receive_email_marketing: description: Whether or not this profile has implicit consent to receive email marketing. True if it does profile does not have any global suppressions. type: boolean consent: description: The consent status for email marketing. type: string example: SUBSCRIBED consent_timestamp: description: The timestamp when consent was recorded or updated for email marketing, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true last_updated: description: The timestamp when a field on the email marketing object was last modified. type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true method: description: The method by which the profile was subscribed to email marketing. type: string example: PREFERENCE_PAGE nullable: true method_detail: description: Additional details about the method by which the profile was subscribed to email marketing. This may be empty if no details were provided. type: string example: mydomain.com/signup default: '' nullable: true custom_method_detail: description: Additional detail provided by the caller when the profile was subscribed. This may be empty if no details were provided. type: string example: marketing drive nullable: true double_optin: description: Whether the profile was subscribed to email marketing using a double opt-in. type: boolean example: true nullable: true suppression: description: The global email marketing suppression for this profile. type: array items: $ref: '#/components/schemas/EmailMarketingSuppression' nullable: true list_suppressions: description: The list suppressions for this profile. type: array items: $ref: '#/components/schemas/EmailMarketingListSuppression' nullable: true required: - can_receive_email_marketing - consent StaticDateRangeFilter: type: object properties: type: type: string enum: - date operator: description: 'Operators for static date range filters. E.g. "between 2023-01-01 and 2023-02-01"' type: string enum: - between-static start: type: string format: date-time example: '2022-11-08T00:00:00+00:00' end: type: string format: date-time example: '2022-11-08T00:00:00+00:00' required: - type - operator - start - end SMSTransactional: type: object properties: can_receive_sms_transactional: description: Whether or not this profile is subscribed to receive transactional SMS. type: boolean consent: description: The consent status for SMS Transactional. type: string example: SUBSCRIBED consent_timestamp: description: The timestamp when consent was recorded or updated for Transactional SMS messaging , in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true method: description: The method by which the profile was subscribed to Transactional SMS messaging . type: string example: TEXT nullable: true method_detail: description: Additional details about the method which the profile was subscribed to Transactional SMS messaging. This may be empty if no details were provided. type: string example: JOIN default: '' nullable: true last_updated: description: The timestamp when the SMS consent record was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true required: - can_receive_sms_transactional - consent ProfileHasGroupMembershipCondition: type: object properties: type: type: string enum: - profile-group-membership is_member: type: boolean enum: - true group_ids: type: array items: type: string timeframe_filter: nullable: true oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' required: - type - is_member - group_ids WhatsappTransactionalChannel: type: object properties: consent: description: The consent status for the channel. type: string example: SUBSCRIBED consent_timestamp: description: The timestamp when consent was recorded or updated for the channel, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true last_updated: description: The timestamp when the channel was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true created_timestamp: description: The timestamp when the channel was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true metadata: description: Channel-specific metadata containing additional information about the permission. type: object nullable: true can_receive: description: Whether the profile can receive messages on this channel. type: boolean valid_until: description: Optional expiration date for the permission, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2024-02-21T20:07:38+00:00' nullable: true phone_number: description: Phone number to which the consent was granted for. type: string required: - consent - can_receive - phone_number ProfilePartialUpdateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H attributes: type: object properties: email: description: Individual's email address type: string example: sarah.mason@klaviyo-demo.com nullable: true phone_number: description: Individual's phone number in E.164 format type: string example: '+15005550006' nullable: true external_id: description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. type: string nullable: true first_name: description: Individual's first name type: string example: Sarah nullable: true last_name: description: Individual's last name type: string example: Mason nullable: true organization: description: Name of the company or organization within the company for whom the individual works type: string example: Example Corporation nullable: true locale: description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2) type: string example: en-US nullable: true title: description: Individual's job title type: string example: Regional Manager nullable: true image: description: URL pointing to the location of a profile image type: string example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg nullable: true location: $ref: '#/components/schemas/ProfileLocation' nullable: true properties: description: An object containing key/value pairs for any custom properties assigned to this profile type: object example: pseudonym: Dr. Octopus nullable: true meta: $ref: '#/components/schemas/ProfileMeta' nullable: true required: - type - id - attributes SubscriptionCreateJobCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileSubscriptionBulkCreateJobEnum' attributes: type: object properties: custom_source: description: A custom method detail or source to store on the consent records. type: string example: Marketing Event nullable: true profiles: description: The profile(s) to subscribe type: object properties: data: type: array items: $ref: '#/components/schemas/ProfileSubscriptionCreateQueryResourceObject' required: - data historical_import: description: Whether this subscription is part of a historical import. If true, the consented_at field must be provided for each profile. type: boolean default: false nullable: true required: - profiles relationships: type: object properties: list: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ListEnum' id: description: The list to add the newly subscribed profiles to type: string example: Y6nRLr required: - type - id required: - type - attributes Subscriptions: type: object properties: email: description: The email channel subscription. $ref: '#/components/schemas/EmailChannel' nullable: true sms: description: The SMS channel subscription. $ref: '#/components/schemas/SMSChannel' nullable: true mobile_push: description: The mobile push channel subscription. $ref: '#/components/schemas/PushChannel' nullable: true whatsapp: description: The whatsapp channel subscription. $ref: '#/components/schemas/WhatsappChannel' nullable: true ImplicitlyOrExplicitlyReachable: type: object properties: reachable_status: type: string enum: - implicitly_or_explicitly_reachable required: - reachable_status GetPushTokenResponseCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/PushTokenResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data ProfilePartialUpdateQuery: type: object properties: data: $ref: '#/components/schemas/ProfilePartialUpdateQueryResourceObject' required: - data ErrorSource: type: object properties: pointer: description: A pointer to the source of the error in the request payload. type: string example: /data default: /data nullable: true PushSubscriptionParameters: type: object properties: marketing: description: The parameters to subscribe to marketing on the "Push" channel. $ref: '#/components/schemas/SubscriptionParameters' tokens: description: A list of push tokens to register for this profile. type: array items: $ref: '#/components/schemas/PushTokenEntry' nullable: true anonymous_id: description: An anonymous identifier for push-only profiles with no email/phone. type: string nullable: true required: - marketing GetProfileBulkImportJobProfilesRelationshipsResponseCollection: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H links: $ref: '#/components/schemas/CollectionLinks' required: - data AlltimeDateFilter: type: object properties: type: type: string enum: - date operator: description: Operators for alltime date filters. type: string enum: - alltime required: - type - operator SMSMarketing: type: object properties: can_receive_sms_marketing: description: Whether or not this profile is subscribed to receive SMS marketing. type: boolean consent: description: The consent status for SMS marketing. type: string example: SUBSCRIBED consent_timestamp: description: The timestamp when consent was recorded or updated for SMS marketing, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true method: description: The method by which the profile was subscribed to SMS marketing. type: string example: TEXT nullable: true method_detail: description: Additional details about the method which the profile was subscribed to SMS marketing. This may be empty if no details were provided. type: string example: JOIN default: '' nullable: true last_updated: description: The timestamp when the SMS consent record was last modified, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' nullable: true required: - can_receive_sms_marketing - consent ProfileRegionCondition: type: object properties: type: type: string enum: - profile-region in_region: type: boolean region: description: Regions for profile region conditions. type: string enum: - european_union - united_states required: - type - in_region - region SegmentResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/SegmentEnum' id: type: string attributes: type: object properties: name: description: A helpful name to label the segment type: string example: Repeat Purchasers nullable: true definition: $ref: '#/components/schemas/SegmentDefinition' nullable: true created: description: Date and time when the segment was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true updated: description: Date and time when the segment was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true is_active: description: Whether the segment is active. Inactive segments are not processed and their membership does not update. type: boolean is_processing: type: boolean is_starred: type: boolean required: - is_active - is_processing - is_starred relationships: type: object properties: profiles: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ProfileEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' tags: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/TagEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' flow-triggers: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/FlowEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links LessThanPositiveNumericFilter: type: object properties: type: type: string enum: - numeric operator: type: string enum: - less-than value: oneOf: - type: integer - type: number required: - type - operator - value PatchIdentifiers: type: object properties: append: type: object unappend: type: object PushTokenCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/PushTokenEnum' attributes: type: object properties: token: description: A push token from APNS or FCM. type: string example: '1234567890' platform: description: The platform on which the push token was created. type: string enum: - android - ios enablement_status: description: This is the enablement status for the individual push token. type: string example: AUTHORIZED default: AUTHORIZED enum: - AUTHORIZED - DENIED - NOT_DETERMINED - PROVISIONAL - UNAUTHORIZED nullable: true vendor: description: The vendor of the push token. type: string example: apns enum: - apns - fcm background: description: The background state of the push token. type: string example: AVAILABLE default: AVAILABLE enum: - AVAILABLE - DENIED - RESTRICTED nullable: true device_metadata: description: Metadata about the device that created the push token $ref: '#/components/schemas/DeviceMetadata' nullable: true profile: description: The profile associated with the push token to create/update type: object properties: data: $ref: '#/components/schemas/PushProfileUpsertQueryResourceObject' required: - data required: - token - platform - vendor - profile required: - type - attributes ProfileResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H nullable: true attributes: type: object properties: email: description: Individual's email address type: string example: sarah.mason@klaviyo-demo.com nullable: true phone_number: description: Individual's phone number in E.164 format type: string example: '+15005550006' nullable: true external_id: description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. type: string nullable: true first_name: description: Individual's first name type: string example: Sarah nullable: true last_name: description: Individual's last name type: string example: Mason nullable: true organization: description: Name of the company or organization within the company for whom the individual works type: string example: Example Corporation nullable: true locale: description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2) type: string example: en-US nullable: true title: description: Individual's job title type: string example: Regional Manager nullable: true image: description: URL pointing to the location of a profile image type: string example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg nullable: true created: description: Date and time when the profile was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true updated: description: Date and time when the profile was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true last_event_date: description: Date and time of the most recent event the triggered an update to the profile, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true location: $ref: '#/components/schemas/ProfileLocation' nullable: true properties: description: An object containing key/value pairs for any custom properties assigned to this profile type: object example: pseudonym: Dr. Octopus nullable: true relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' segments: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' push-tokens: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/PushTokenEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - attributes - links CustomSourceFilter: type: object properties: field: type: string enum: - custom_source filter: $ref: '#/components/schemas/EqualsStringFilter' required: - field - filter SMSChannel: type: object properties: marketing: description: The SMS marketing subscription. $ref: '#/components/schemas/SMSMarketing' nullable: true transactional: description: The SMS transactional subscription. $ref: '#/components/schemas/SMSTransactional' nullable: true ProfileMetricFunnelSteps: type: object properties: metric_exists: type: boolean metric_id: type: string metric_filters: type: array items: $ref: '#/components/schemas/ProfileMetricPropertyFilter' nullable: true required: - metric_exists - metric_id ProfileUpsertQuery: type: object properties: data: $ref: '#/components/schemas/ProfileUpsertQueryResourceObject' required: - data HasEmailMarketing: type: object properties: subscription: type: string enum: - any filters: nullable: true required: - subscription GetProfileResponseCollectionCompoundDocument: type: object properties: data: type: array items: allOf: - properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: properties: subscriptions: $ref: '#/components/schemas/Subscriptions' nullable: true predictive_analytics: $ref: '#/components/schemas/PredictiveAnalytics' nullable: true - $ref: '#/components/schemas/ProfileResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' included: type: array items: oneOf: - $ref: '#/components/schemas/ConversationResponseObjectResource' - $ref: '#/components/schemas/PushTokenResponseObjectResource' required: - data SubscriptionChannels: type: object properties: email: description: The subscription parameters to subscribe to on the "EMAIL" Channel. $ref: '#/components/schemas/EmailSubscriptionParameters' nullable: true sms: description: The subscription parameters to subscribe to on the "SMS" Channel. $ref: '#/components/schemas/SMSSubscriptionParameters' nullable: true whatsapp: description: The subscription parameters to subscribe to on the "WhatsApp" Channel. $ref: '#/components/schemas/WhatsAppSubscriptionParameters' nullable: true push: description: The subscription parameters to subscribe to on the "Push" Channel. $ref: '#/components/schemas/PushSubscriptionParameters' nullable: true NoSMSMarketing: type: object properties: subscription: type: string enum: - any required: - subscription OneClickUnsubscribeMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - one_click_unsubscribe required: - field - method ProfileNoGroupMembershipCondition: type: object properties: type: type: string enum: - profile-group-membership is_member: type: boolean enum: - false group_ids: type: array items: type: string required: - type - is_member - group_ids SegmentDefinition: type: object properties: condition_groups: type: array items: $ref: '#/components/schemas/ConditionGroup' required: - condition_groups ProvidedLandlineMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - provided_landline required: - field - method PatchProfileResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H nullable: true attributes: type: object properties: email: description: Individual's email address type: string example: sarah.mason@klaviyo-demo.com nullable: true phone_number: description: Individual's phone number in E.164 format type: string example: '+15005550006' nullable: true external_id: description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. type: string nullable: true first_name: description: Individual's first name type: string example: Sarah nullable: true last_name: description: Individual's last name type: string example: Mason nullable: true organization: description: Name of the company or organization within the company for whom the individual works type: string example: Example Corporation nullable: true locale: description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2) type: string example: en-US nullable: true title: description: Individual's job title type: string example: Regional Manager nullable: true image: description: URL pointing to the location of a profile image type: string example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg nullable: true created: description: Date and time when the profile was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true updated: description: Date and time when the profile was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true last_event_date: description: Date and time of the most recent event the triggered an update to the profile, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true location: $ref: '#/components/schemas/ProfileLocation' nullable: true properties: description: An object containing key/value pairs for any custom properties assigned to this profile type: object example: pseudonym: Dr. Octopus nullable: true subscriptions: $ref: '#/components/schemas/Subscriptions' nullable: true predictive_analytics: $ref: '#/components/schemas/PredictiveAnalytics' nullable: true relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' segments: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' push-tokens: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/PushTokenEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - attributes - links links: $ref: '#/components/schemas/ObjectLinks' required: - data ManualRemoveMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - manual_remove required: - field - method SegmentEnum: type: string enum: - segment NoEmailMarketingSubscribed: type: object properties: subscription: type: string enum: - subscribed filters: type: array items: oneOf: - $ref: '#/components/schemas/BounceDateFilter' - $ref: '#/components/schemas/ManualSuppressionDateFilter' - $ref: '#/components/schemas/InvalidEmailDateFilter' required: - subscription - filters ListSubstringFilter: type: object properties: type: type: string enum: - list operator: description: Operators for list substring filters. type: string enum: - contains-substring - not-contains-substring value: type: string nullable: true required: - type - operator - value PostProfileImportJobResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileBulkImportJobEnum' id: description: Unique identifier for retrieving the job. Generated by Klaviyo. type: string attributes: type: object properties: status: description: Status of the asynchronous job. type: string example: processing enum: - cancelled - complete - processing - queued created_at: description: The date and time the job was created in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' total_count: description: The total number of operations to be processed by the job. See `completed_count` for the job's current progress. type: integer example: 10 completed_count: description: The total number of operations that have been completed by the job. type: integer example: 9 default: 0 nullable: true failed_count: description: The total number of operations that have failed as part of the job. type: integer example: 1 default: 0 nullable: true completed_at: description: Date and time the job was completed in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true expires_at: description: Date and time the job expires in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true started_at: description: Date and time the job started processing in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true required: - status - created_at - total_count relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: List to add the profiles to type: string links: $ref: '#/components/schemas/RelationshipLinks' profiles: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: IDs of the created/updated profiles type: string links: $ref: '#/components/schemas/RelationshipLinks' import-errors: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ImportErrorEnum' id: description: Errors encountering during import type: string links: $ref: '#/components/schemas/OnlyRelatedLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links links: $ref: '#/components/schemas/ObjectLinks' required: - data FormMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - form filter: description: Optional filter on a specific list of form ids $ref: '#/components/schemas/InStringArrayFilter' nullable: true required: - field - method GetPushTokenResponseCompoundDocument: type: object properties: data: $ref: '#/components/schemas/PushTokenResponseObjectResource' included: type: array items: $ref: '#/components/schemas/ProfileResponseObjectResource' links: $ref: '#/components/schemas/ObjectLinks' required: - data ConversationEnum: type: string enum: - conversation ProfilePredictiveAnalyticsDateCondition: type: object properties: dimension: description: Dimension for date profile predictive analytics conditions. type: string enum: - expected_date_of_next_purchase filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' type: type: string enum: - profile-predictive-analytics required: - dimension - filter - type InboundMessageMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - inbound_message required: - field - method GetProfileImportJobResponseCollectionCompoundDocument: type: object properties: data: type: array items: $ref: '#/components/schemas/ProfileImportJobResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data IntegerFilter: type: object properties: type: type: string enum: - numeric operator: description: Operators for numeric filters. type: string enum: - equals - greater-than - greater-than-or-equal - less-than - less-than-or-equal - not-equals value: type: integer required: - type - operator - value NoEmailMarketingConsent: type: object properties: channel: type: string enum: - email can_receive_marketing: type: boolean enum: - false consent_status: oneOf: - $ref: '#/components/schemas/NoEmailMarketing' - $ref: '#/components/schemas/NoEmailMarketingUnsubscribed' - $ref: '#/components/schemas/NoEmailMarketingNeverSubscribed' - $ref: '#/components/schemas/NoEmailMarketingSubscribed' required: - channel - can_receive_marketing - consent_status PushTokenCreateQuery: type: object properties: data: $ref: '#/components/schemas/PushTokenCreateQueryResourceObject' required: - data ProfileLocation: type: object properties: address1: description: First line of street address type: string example: 89 E 42nd St nullable: true address2: description: Second line of street address type: string example: 1st floor nullable: true city: description: City name type: string example: New York nullable: true country: description: Country name type: string example: United States nullable: true latitude: description: Latitude coordinate. We recommend providing a precision of four decimal places. example: '40.7128' nullable: true oneOf: - type: string - type: number longitude: description: Longitude coordinate. We recommend providing a precision of four decimal places. example: '74.0060' nullable: true oneOf: - type: string - type: number region: description: Region within a country, such as state or province type: string example: NY nullable: true zip: description: Zip code type: string example: '10017' nullable: true timezone: description: Time zone name. We recommend using time zones from the IANA Time Zone Database. type: string example: America/New_York nullable: true ip: description: IP Address type: string example: 127.0.0.1 nullable: true ProfileBulkImportJobEnum: type: string enum: - profile-bulk-import-job ProfilePermissionsCondition: type: object properties: type: type: string enum: - profile-permissions permission: oneOf: - $ref: '#/components/schemas/ExplicitlyReachable' - $ref: '#/components/schemas/ImplicitlyReachable' - $ref: '#/components/schemas/ImplicitlyOrExplicitlyReachable' - $ref: '#/components/schemas/ExplicitlyUnreachable' - $ref: '#/components/schemas/ImplicitlyUnreachable' - $ref: '#/components/schemas/ImplicitlyOrExplicitlyUnreachable' channel: description: Possible channels for profile permissions criterion. type: string enum: - whatsapp_marketing - whatsapp_transactional required: - type - permission - channel ManualImportManualMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - manual_import filter: description: Optional filter on a specific list of user email addresses who initiated the manual action $ref: '#/components/schemas/InStringArrayFilter' nullable: true required: - field - method StringPhoneOperatorStringArrayFilter: type: object properties: type: type: string enum: - string operator: description: "Operators for phone string array filters.\n\nExample condition using this filter:\n {" type: string enum: - phone-country-code-in - phone-country-code-not-in value: type: array items: type: string required: - type - operator - value ManualAddManualMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - manual_add filter: description: Optional filter on a specific list of user email addresses who initiated the manual action $ref: '#/components/schemas/InStringArrayFilter' nullable: true required: - field - method ProfileSuppressionCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: type: object properties: email: description: The email of the profile to suppress. type: string example: matt-kemp@klaviyo-demo.com required: - email required: - type - attributes GetImportErrorResponseCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/ImportErrorResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data IsSetExistenceFilter: type: object properties: type: type: string enum: - existence operator: type: string enum: - is-set required: - type - operator ProfileSubscriptionCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: The ID of the profile to subscribe. If provided, this will be used to perform the lookup. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H nullable: true attributes: type: object properties: email: description: The email address relating to the email subscription included in `subscriptions`. If the email channel is omitted from `subscriptions`, this will be set on the profile. type: string example: matt-kemp@klaviyo-demo.com nullable: true phone_number: description: The phone number relating to the SMS subscription included in `subscriptions`. If the SMS channel is omitted from `subscriptions`, this will be set on the profile. This must be in E.164 format. type: string example: '+15005550006' nullable: true subscriptions: description: Specifies the channel and message types that the profile will be consented to. $ref: '#/components/schemas/SubscriptionChannels' age_gated_date_of_birth: description: 'The profile''s date of birth. This field is required to update SMS consent for accounts using age-gating: https://help.klaviyo.com/hc/en-us/articles/17252552814875' type: string format: date nullable: true required: - subscriptions required: - type - attributes SegmentsProfileMetricCondition: type: object properties: type: type: string enum: - profile-metric metric_id: type: string measurement: description: Measurements for profile metrics. type: string enum: - count - sum measurement_filter: $ref: '#/components/schemas/NumericOperatorNumericFilter' timeframe_filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/AlltimeDateFilter' metric_filters: type: array items: $ref: '#/components/schemas/ProfileMetricPropertyFilter' nullable: true required: - type - metric_id - measurement - measurement_filter - timeframe_filter CalendarDateFilter: type: object properties: type: type: string enum: - date operator: description: Operators for calendar date filters. type: string enum: - calendar-month value: type: integer required: - type - operator - value GetBulkProfileSuppressionsRemoveJobResponseCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/BulkProfileSuppressionsRemoveJobResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data GetProfileResponseCollection: type: object properties: data: type: array items: allOf: - properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: properties: subscriptions: $ref: '#/components/schemas/Subscriptions' nullable: true predictive_analytics: $ref: '#/components/schemas/PredictiveAnalytics' nullable: true - $ref: '#/components/schemas/ProfileResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data NoPushMarketing: type: object properties: subscription: type: string enum: - any required: - subscription SubscriptionDeleteJobCreateQuery: type: object properties: data: $ref: '#/components/schemas/SubscriptionDeleteJobCreateQueryResourceObject' required: - data PreferencePageMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - preference_page required: - field - method ProfileSubscriptionDeleteQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: type: object properties: email: description: The email address to unsubscribe. type: string example: matt-kemp@klaviyo-demo.com nullable: true phone_number: description: The phone number to unsubscribe. This must be in E.164 format. type: string example: '+15005550006' nullable: true subscriptions: description: Specifies the channel and message types that the profile will have consent revoked from. $ref: '#/components/schemas/UnsubscriptionChannels' required: - subscriptions required: - type - attributes BulkRemoveMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - bulk_remove required: - field - method SegmentsProfileMetricFunnelCondition: type: object properties: type: type: string enum: - profile-metric-funnel timeframe_filter: oneOf: - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' completion_window_seconds: description: "Allowed completion window durations for funnel conditions (in\n seconds)." type: string enum: - DAYS_1 - DAYS_180 - DAYS_3 - DAYS_30 - DAYS_5 - DAYS_90 - HOURS_1 - WEEKS_1 - YEARS_1 nullable: true steps: type: array items: $ref: '#/components/schemas/ProfileMetricFunnelSteps' required: - type - timeframe_filter - steps ProfilePostalCodeDistanceCondition: type: object properties: type: type: string enum: - profile-postal-code-distance country_code: type: string postal_code: type: string unit: description: Units for profile postal code distance conditions. type: string enum: - kilometers - miles filter: oneOf: - $ref: '#/components/schemas/GreaterThanPositiveNumericFilter' - $ref: '#/components/schemas/LessThanPositiveNumericFilter' required: - type - country_code - postal_code - unit - filter HasSMSMarketingSubscribed: type: object properties: subscription: type: string enum: - subscribed filters: type: array items: oneOf: - $ref: '#/components/schemas/StatusDateFilter' - $ref: '#/components/schemas/FormMethodFilter' - $ref: '#/components/schemas/ManualImportManualMethodFilter' - $ref: '#/components/schemas/ManualAddManualMethodFilter' - $ref: '#/components/schemas/CheckoutMethodFilter' - $ref: '#/components/schemas/InboundMessageMethodFilter' - $ref: '#/components/schemas/PreferencePageMethodFilter' - $ref: '#/components/schemas/SftpMethodFilter' - $ref: '#/components/schemas/ShopifyIntegrationMethodFilter' - $ref: '#/components/schemas/SubscribedSMSIsRcsCapableFilter' nullable: true required: - subscription ProfilePredictiveAnalyticsStringCondition: type: object properties: type: type: string enum: - profile-predictive-analytics dimension: description: Dimension for string profile predictive analytics conditions. type: string enum: - predicted_gender filter: $ref: '#/components/schemas/ProfilePredictiveAnalyticsStringFilter' required: - type - dimension - filter ProfileImportJobCreateQuery: type: object properties: data: $ref: '#/components/schemas/ProfileImportJobCreateQueryResourceObject' required: - data RelativeDateOperatorBaseRelativeDateFilter: type: object properties: type: type: string enum: - date operator: description: 'Operators for relative date filters. e.g. "in the last 10 days"' type: string enum: - at-least - in-the-last - in-the-next unit: description: Units for relative date filters. type: string enum: - day - hour - week quantity: type: integer required: - type - operator - unit - quantity ExistenceOperatorExistenceFilter: type: object properties: type: type: string enum: - existence operator: description: Operators for existence filters. type: string enum: - is-set - not-set required: - type - operator BackInStockMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - back_in_stock required: - field - method ListContainsOperatorListContainsFilter: type: object properties: type: type: string enum: - list operator: description: Operators for list contains filters. type: string enum: - contains - not-contains value: nullable: true oneOf: - type: integer - type: string required: - type - operator - value EmailMarketingListSuppression: type: object properties: list_id: description: The ID of list to which the suppression applies. type: string example: Y6nRLr reason: description: The reason the profile was suppressed from the list. type: string example: USER_SUPPRESSED timestamp: description: The timestamp when the profile was suppressed from the list, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' required: - list_id - reason - timestamp ProfileImportJobCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileBulkImportJobEnum' attributes: type: object properties: profiles: description: Array of profiles to create or update type: object properties: data: type: array items: $ref: '#/components/schemas/ProfileUpsertQueryResourceObject' required: - data required: - profiles relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: Optional list to add the profiles to type: string example: VRgFBd required: - type - attributes ProfilePredictiveAnalyticsNumericCondition: type: object properties: type: type: string enum: - profile-predictive-analytics dimension: description: Dimensions for numeric profile predictive analytics conditions. type: string enum: - average_days_between_orders - average_order_value - churn_probability - historic_clv - historic_number_of_orders - predicted_clv - predicted_number_of_orders - total_clv filter: $ref: '#/components/schemas/NumericOperatorNumericFilter' required: - type - dimension - filter ProfileMergeEnum: type: string enum: - profile-merge StringOperatorStringFilter: type: object properties: type: type: string enum: - string operator: description: Operators for string filters. type: string enum: - contains - ends-with - equals - not-contains - not-ends-with - not-equals - not-starts-with - nregex - regex - starts-with value: type: string nullable: true required: - type - operator - value GetConversationResponse: type: object properties: data: $ref: '#/components/schemas/ConversationResponseObjectResource' links: $ref: '#/components/schemas/ObjectLinks' required: - data ManualSuppressionDateFilter: type: object properties: field: type: string enum: - manual_suppression_date filter: oneOf: - $ref: '#/components/schemas/StaticDateFilter' - $ref: '#/components/schemas/StaticDateRangeFilter' - $ref: '#/components/schemas/RelativeDateOperatorBaseRelativeDateFilter' - $ref: '#/components/schemas/RelativeAnniversaryDateFilter' - $ref: '#/components/schemas/RelativeDateRangeFilter' - $ref: '#/components/schemas/CalendarDateFilter' - $ref: '#/components/schemas/AnniversaryDateFilter' - $ref: '#/components/schemas/IsSetExistenceFilter' required: - field - filter GetProfileSegmentsRelationshipsResponseCollection: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: type: string links: $ref: '#/components/schemas/CollectionLinks' required: - data PushTokenDeviceMetadata: type: object properties: device_id: description: Relatively stable ID for the device. Will update on app uninstall and reinstall type: string example: '1234567890' nullable: true klaviyo_sdk: description: The name of the SDK used to create the push token. type: string example: swift enum: - android - flutter - flutter_community - react_native - swift nullable: true sdk_version: description: The version of the SDK used to create the push token type: string example: 1.0.0 nullable: true device_model: description: The model of the device type: string example: iPhone12,1 nullable: true os_name: description: The name of the operating system on the device. type: string example: ios enum: - android - ios - ipados - macos - tvos nullable: true os_version: description: The version of the operating system on the device type: string example: '14.0' nullable: true manufacturer: description: The manufacturer of the device type: string example: Apple nullable: true app_name: description: The name of the app that created the push token type: string example: Klaviyo nullable: true app_version: description: The version of the app that created the push token type: string example: 1.0.0 nullable: true app_build: description: The build of the app that created the push token type: string example: '1' nullable: true app_id: description: The ID of the app that created the push token type: string example: com.klaviyo.app nullable: true environment: description: The environment in which the push token was created type: string example: release enum: - debug - release nullable: true SubscriptionDeleteJobCreateQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileSubscriptionBulkDeleteJobEnum' attributes: type: object properties: profiles: description: The profile(s) to unsubscribe type: object properties: data: type: array items: $ref: '#/components/schemas/ProfileSubscriptionDeleteQueryResourceObject' required: - data required: - profiles relationships: type: object properties: list: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ListEnum' id: description: The list to remove the profiles from type: string example: Y6nRLr required: - type - id required: - type - attributes ShopifyIntegrationMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - integration filter: $ref: '#/components/schemas/ShopifyIntegrationFilter' required: - field - method - filter SubscriptionCreateJobCreateQuery: type: object properties: data: $ref: '#/components/schemas/SubscriptionCreateJobCreateQueryResourceObject' required: - data UnsubscriptionParameters: type: object properties: consent: description: The Consent status to be set as part of the unsubscribe call. Currently supports "UNSUBSCRIBED". type: string example: UNSUBSCRIBED enum: - UNSUBSCRIBED required: - consent RelativeDateRangeFilter: type: object properties: type: type: string enum: - date operator: description: 'Operators for relative date range filters. e.g. "between 10 and 20 days ago"' type: string enum: - between start: type: integer end: type: integer unit: description: Units for relative date filters. type: string enum: - day - hour - week required: - type - operator - start - end - unit PostProfileResponse: type: object properties: data: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string example: 01GDDKASAP8TKDDA2GRZDSVP4H nullable: true attributes: type: object properties: email: description: Individual's email address type: string example: sarah.mason@klaviyo-demo.com nullable: true phone_number: description: Individual's phone number in E.164 format type: string example: '+15005550006' nullable: true external_id: description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. type: string nullable: true first_name: description: Individual's first name type: string example: Sarah nullable: true last_name: description: Individual's last name type: string example: Mason nullable: true organization: description: Name of the company or organization within the company for whom the individual works type: string example: Example Corporation nullable: true locale: description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2) type: string example: en-US nullable: true title: description: Individual's job title type: string example: Regional Manager nullable: true image: description: URL pointing to the location of a profile image type: string example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg nullable: true created: description: Date and time when the profile was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true updated: description: Date and time when the profile was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true last_event_date: description: Date and time of the most recent event the triggered an update to the profile, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm) type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true location: $ref: '#/components/schemas/ProfileLocation' nullable: true properties: description: An object containing key/value pairs for any custom properties assigned to this profile type: object example: pseudonym: Dr. Octopus nullable: true subscriptions: $ref: '#/components/schemas/Subscriptions' nullable: true predictive_analytics: $ref: '#/components/schemas/PredictiveAnalytics' nullable: true relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' segments: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/SegmentEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' push-tokens: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/PushTokenEnum' id: type: string links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - attributes - links links: $ref: '#/components/schemas/ObjectLinks' required: - data HasEmailMarketingSubscribed: type: object properties: subscription: type: string enum: - subscribed filters: type: array items: oneOf: - $ref: '#/components/schemas/DoubleOptinFilter' - $ref: '#/components/schemas/StatusDateFilter' - $ref: '#/components/schemas/CustomSourceFilter' - $ref: '#/components/schemas/FormMethodFilter' - $ref: '#/components/schemas/PreferencePageFilter' - $ref: '#/components/schemas/APIMethodFilter' - $ref: '#/components/schemas/InboundMessageMethodFilter' - $ref: '#/components/schemas/BackInStockMethodFilter' - $ref: '#/components/schemas/SftpMethodFilter' - $ref: '#/components/schemas/ManualImportManualMethodFilter' - $ref: '#/components/schemas/ManualAddManualMethodFilter' - $ref: '#/components/schemas/ShopifyIntegrationMethodFilter' nullable: true required: - subscription MailboxProviderMethodFilter: type: object properties: field: type: string enum: - method method: type: string enum: - mailbox_provider required: - field - method AnniversaryDateFilter: type: object properties: type: type: string enum: - date operator: description: Operators for anniversary date filters. type: string enum: - anniversary - anniversary-month required: - type - operator ListSetFilter: type: object properties: type: type: string enum: - list operator: description: Operators for list contains set filters. type: string enum: - contains-all - contains-any - not-contains-all - not-contains-any value: type: array items: type: string required: - type - operator - value PushProfileUpsertQueryResourceObject: type: object properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: Primary key that uniquely identifies this profile. Generated by Klaviyo. type: string nullable: true attributes: type: object properties: phone_number: description: Individual's phone number in E.164 format type: string example: '+15005550006' nullable: true external_id: description: A unique identifier used by customers to associate Klaviyo profiles with profiles in an external system, such as a point-of-sale system. Format varies based on the external system. type: string nullable: true _kx: description: 'Also known as the `exchange_id`, this is an encrypted identifier used for identifying a profile by Klaviyo''s web tracking. You can use this field as a filter when retrieving profiles via the Get Profiles endpoint.' type: string nullable: true first_name: description: Individual's first name type: string example: Sarah nullable: true last_name: description: Individual's last name type: string example: Mason nullable: true organization: description: Name of the company or organization within the company for whom the individual works type: string example: Example Corporation nullable: true locale: description: The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2) type: string example: en-US nullable: true title: description: Individual's job title type: string example: Regional Manager nullable: true image: description: URL pointing to the location of a profile image type: string example: https://images.pexels.com/photos/3760854/pexels-photo-3760854.jpeg nullable: true location: $ref: '#/components/schemas/ProfileLocation' nullable: true properties: description: An object containing key/value pairs for any custom properties assigned to this profile type: object example: pseudonym: Dr. Octopus nullable: true meta: $ref: '#/components/schemas/ProfileMeta' nullable: true email: description: Individual's email address type: string example: sarah.mason@klaviyo-demo.com nullable: true required: - type - attributes DeviceMetadata: type: object properties: device_id: description: Relatively stable ID for the device. Will update on app uninstall and reinstall type: string example: '1234567890' nullable: true klaviyo_sdk: description: The name of the SDK used to create the push token. type: string example: swift enum: - android - flutter - flutter_community - react_native - swift nullable: true sdk_version: description: The version of the SDK used to create the push token type: string example: 1.0.0 nullable: true device_model: description: The model of the device type: string example: iPhone12,1 nullable: true os_name: description: The name of the operating system on the device. type: string example: ios enum: - android - ios - ipados - macos - tvos nullable: true os_version: description: The version of the operating system on the device type: string example: '14.0' nullable: true manufacturer: description: The manufacturer of the device type: string example: Apple nullable: true app_name: description: The name of the app that created the push token type: string example: Klaviyo nullable: true app_version: description: The version of the app that created the push token type: string example: 1.0.0 nullable: true app_build: description: The build of the app that created the push token type: string example: '1' nullable: true app_id: description: The ID of the app that created the push token type: string example: com.klaviyo.app nullable: true environment: description: The environment in which the push token was created type: string example: release enum: - debug - release nullable: true ProfileMetricPropertyFilter: type: object properties: property: type: string filter: nullable: true oneOf: - $ref: '#/components/schemas/StringOperatorStringFilter' - $ref: '#/components/schemas/StringArrayOperatorStringArrayFilter' - $ref: '#/components/schemas/ExistenceOperatorExistenceFilter' - $ref: '#/components/schemas/ListSetFilter' - $ref: '#/components/schemas/ListLengthFilter' - $ref: '#/components/schemas/ListSubstringFilter' - $ref: '#/components/schemas/BooleanFilter' - $ref: '#/components/schemas/NumericOperatorNumericFilter' required: - property GetProfileResponseCompoundDocument: type: object properties: data: allOf: - properties: type: $ref: '#/components/schemas/ProfileEnum' attributes: properties: subscriptions: $ref: '#/components/schemas/Subscriptions' nullable: true predictive_analytics: $ref: '#/components/schemas/PredictiveAnalytics' nullable: true - $ref: '#/components/schemas/ProfileResponseObjectResource' included: type: array items: oneOf: - $ref: '#/components/schemas/ListResponseObjectResource' - $ref: '#/components/schemas/SegmentResponseObjectResource' - $ref: '#/components/schemas/ConversationResponseObjectResource' - $ref: '#/components/schemas/PushTokenResponseObjectResource' links: $ref: '#/components/schemas/ObjectLinks' required: - data ProfileImportJobResponseObjectResource: type: object properties: type: $ref: '#/components/schemas/ProfileBulkImportJobEnum' id: description: Unique identifier for retrieving the job. Generated by Klaviyo. type: string attributes: type: object properties: status: description: Status of the asynchronous job. type: string example: processing enum: - cancelled - complete - processing - queued created_at: description: The date and time the job was created in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' total_count: description: The total number of operations to be processed by the job. See `completed_count` for the job's current progress. type: integer example: 10 completed_count: description: The total number of operations that have been completed by the job. type: integer example: 9 default: 0 nullable: true failed_count: description: The total number of operations that have failed as part of the job. type: integer example: 1 default: 0 nullable: true completed_at: description: Date and time the job was completed in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true expires_at: description: Date and time the job expires in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true started_at: description: Date and time the job started processing in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2022-11-08T00:00:00+00:00' nullable: true required: - status - created_at - total_count relationships: type: object properties: lists: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ListEnum' id: description: List to add the profiles to type: string links: $ref: '#/components/schemas/RelationshipLinks' profiles: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ProfileEnum' id: description: IDs of the created/updated profiles type: string links: $ref: '#/components/schemas/RelationshipLinks' import-errors: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/ImportErrorEnum' id: description: Errors encountering during import type: string links: $ref: '#/components/schemas/OnlyRelatedLinks' links: $ref: '#/components/schemas/ObjectLinks' required: - type - id - attributes - links ConditionGroup: type: object properties: conditions: type: array items: oneOf: - $ref: '#/components/schemas/ProfileHasGroupMembershipCondition' - $ref: '#/components/schemas/ProfileNoGroupMembershipCondition' - $ref: '#/components/schemas/SegmentsProfileMetricCondition' - $ref: '#/components/schemas/ProfileMarketingConsentCondition' - $ref: '#/components/schemas/ProfilePostalCodeDistanceCondition' - $ref: '#/components/schemas/ProfilePropertyCondition' - $ref: '#/components/schemas/ProfileRegionCondition' - $ref: '#/components/schemas/ProfilePredictiveAnalyticsDateCondition' - $ref: '#/components/schemas/ProfilePredictiveAnalyticsNumericCondition' - $ref: '#/components/schemas/ProfilePredictiveAnalyticsStringCondition' - $ref: '#/components/schemas/ProfilePredictiveAnalyticsChannelAffinityPriorityCondition' - $ref: '#/components/schemas/ProfilePredictiveAnalyticsChannelAffinityRankCondition' - $ref: '#/components/schemas/ProfileHasCustomObjectCondition' - $ref: '#/components/schemas/ProfilePermissionsCondition' - $ref: '#/components/schemas/SegmentsProfileMetricFunnelCondition' required: - conditions GetSegmentResponseCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/SegmentResponseObjectResource' links: $ref: '#/components/schemas/CollectionLinks' required: - data GetProfilePushTokensRelationshipsResponseCollection: type: object properties: data: type: array items: type: object required: - type - id properties: type: $ref: '#/components/schemas/PushTokenEnum' id: description: ID of push token type: string links: $ref: '#/components/schemas/CollectionLinks' required: - data InStringArrayFilter: type: object properties: type: type: string enum: - string operator: type: string enum: - in value: type: array items: type: string required: - type - operator - value NoSMSMarketingNeverSubscribed: type: object properties: subscription: type: string enum: - never_subscribed required: - subscription EmailSubscriptionParameters: type: object properties: marketing: description: The parameters to subscribe to on the "EMAIL" Channel. Currently supports "MARKETING". $ref: '#/components/schemas/SubscriptionParameters' required: - marketing WhatsAppSubscriptionParameters: type: object properties: marketing: description: The parameters to subscribe to marketing on the "WhatsApp" Channel. $ref: '#/components/schemas/SubscriptionParameters' nullable: true transactional: description: The parameters to subscribe to transactional messaging on the "WhatsApp" Channel. $ref: '#/components/schemas/SubscriptionParameters' nullable: true GreaterThanPositiveNumericFilter: type: object properties: type: type: string enum: - numeric operator: type: string enum: - greater-than value: oneOf: - type: integer - type: number required: - type - operator - value EmailMarketingSuppression: type: object properties: reason: description: The reason the profile was suppressed. type: string example: HARD_BOUNCE enum: - HARD_BOUNCE - INVALID_EMAIL - SPAM_COMPLAINT - UNSUBSCRIBE - USER_SUPPRESSED timestamp: description: The timestamp when the profile was suppressed, in ISO 8601 format (YYYY-MM-DDTHH:MM:SS.mmmmmm). type: string format: date-time example: '2023-02-21T20:07:38+00:00' required: - reason - timestamp SubscriptionParameters: type: object properties: consent: description: The Consent status to be set as part of the subscribe call. Currently supports "SUBSCRIBED". type: string example: SUBSCRIBED enum: - SUBSCRIBED consented_at: description: The timestamp of when the profile's consent was gathered. This should only be used when syncing over historical consent info to Klaviyo; if the `historical_import` flag is not included, providing any value for this field will raise an error. type: string format: date-time nullable: true required: - consent NumericOperatorNumericFilter: type: object properties: type: type: string enum: - numeric operator: description: Operators for numeric filters. type: string enum: - equals - greater-than - greater-than-or-equal - less-than - less-than-or-equal - not-equals value: oneOf: - type: integer - type: number required: - type - operator - value ProfilePredictiveAnalyticsChannelAffinityRankCondition: type: object properties: type: type: string enum: - profile-predictive-analytics dimension: description: Possible dimension for channel affinity criterion. type: string enum: - channel_affinity measurement: type: string enum: - rank predicted_channel: description: Possible channels in a channel affinity definition. type: string enum: - email - push - sms filter: $ref: '#/components/schemas/ProfilePredictiveAnalyticsChannelAffinityRankFilter' required: - type - dimension - measurement - predicted_channel - filter CollectionLinks: type: object properties: self: type: string format: uri first: type: string format: uri last: type: string format: uri prev: type: string format: uri next: type: string format: uri required: - self HasSMSMarketingConsent: type: object properties: channel: type: string enum: - sms can_receive_marketing: type: boolean enum: - true consent_status: $ref: '#/components/schemas/HasSMSMarketingSubscribed' required: - channel - can_receive_marketing - consent_status OnlyRelatedLinks: type: object properties: related: type: string format: uri required: - related StringArrayOperatorStringArrayFilter: type: object properties: type: type: string enum: - string operator: description: Operators for string-in-array filters. type: string enum: - in - not-in value: type: array items: type: string required: - type - operator - value HasEmailMarketingConsent: type: object properties: channel: type: string enum: - email can_receive_marketing: type: boolean enum: - true consent_status: oneOf: - $ref: '#/components/schemas/HasEmailMarketing' - $ref: '#/components/schemas/HasEmailMarketingSubscribed' - $ref: '#/components/schemas/HasEmailMarketingNeverSubscribed' required: - channel - can_receive_marketing - consent_status responses: ClientError: description: Client Error content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object required: - id - code - title - detail properties: id: type: string code: type: string title: type: string detail: type: string source: type: object properties: pointer: type: string parameter: type: string required: - errors ServerError: description: Server Error content: application/vnd.api+json: schema: type: object properties: errors: type: array items: type: object required: - id - code - title - detail properties: id: type: string code: type: string title: type: string detail: type: string source: type: object properties: pointer: type: string parameter: type: string required: - errors securitySchemes: Klaviyo-API-Key: type: apiKey in: header name: Authorization description: Private key authentication for /api/ endpoints is performed by setting the `Authorization` header to `Klaviyo-API-Key your-private-api-key`
For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#authentication x-default: Klaviyo-API-Key your-private-api-key x-readme: explorer-enabled: false proxy-enabled: true samples-enabled: true