Klaviyo · Capability

Klaviyo API — Lists

Klaviyo API — Lists. 13 operations. Lead operation: Get Lists. Self-contained Naftiko capability covering one Klaviyo business surface.

Run with Naftiko KlaviyoLists

What You Can Do

GET
Getlists — Get Lists
/v1/api/lists
POST
Createlist — Create List
/v1/api/lists
GET
Getlist — Get List
/v1/api/lists/{id}
PATCH
Updatelist — Update List
/v1/api/lists/{id}
DELETE
Deletelist — Delete List
/v1/api/lists/{id}
GET
Getflowstriggeredbylist — Get Flows Triggered by List
/v1/api/lists/{id}/flow-triggers
GET
Getprofilesforlist — Get Profiles for List
/v1/api/lists/{id}/profiles
GET
Getidsforflowstriggeredbylist — Get IDs for Flows Triggered by List
/v1/api/lists/{id}/relationships/flow-triggers
GET
Getprofileidsforlist — Get Profile IDs for List
/v1/api/lists/{id}/relationships/profiles
POST
Addprofilestolist — Add Profiles to List
/v1/api/lists/{id}/relationships/profiles
DELETE
Removeprofilesfromlist — Remove Profiles from List
/v1/api/lists/{id}/relationships/profiles
GET
Gettagidsforlist — Get Tag IDs for List
/v1/api/lists/{id}/relationships/tags
GET
Gettagsforlist — Get Tags for List
/v1/api/lists/{id}/tags

MCP Tools

get-lists

Get Lists

read-only idempotent
create-list

Create List

get-list

Get List

read-only idempotent
update-list

Update List

idempotent
delete-list

Delete List

idempotent
get-flows-triggered-list

Get Flows Triggered by List

read-only idempotent
get-profiles-list

Get Profiles for List

read-only idempotent
get-ids-flows-triggered-list

Get IDs for Flows Triggered by List

read-only idempotent
get-profile-ids-list

Get Profile IDs for List

read-only idempotent
add-profiles-list

Add Profiles to List

remove-profiles-list

Remove Profiles from List

idempotent
get-tag-ids-list

Get Tag IDs for List

read-only idempotent
get-tags-list

Get Tags for List

read-only idempotent

Capability Spec

klaviyo-lists.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Klaviyo API — Lists
  description: 'Klaviyo API — Lists. 13 operations. Lead operation: Get Lists. Self-contained Naftiko capability covering
    one Klaviyo business surface.'
  tags:
  - Klaviyo
  - Lists
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KLAVIYO_API_KEY: KLAVIYO_API_KEY
capability:
  consumes:
  - type: http
    namespace: klaviyo-lists
    baseUri: https://a.klaviyo.com
    description: Klaviyo API — Lists business capability. Self-contained, no shared references.
    resources:
    - name: api-lists
      path: /api/lists
      operations:
      - name: getlists
        method: GET
        description: Get Lists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields[flow]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: fields[list]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: fields[tag]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: filter
          in: query
          type: string
          description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed
            field(s)/operator(s):<br>`name`: `an'
        - name: include
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
        - name: page[cursor]
          in: query
          type: string
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
        - name: page[size]
          in: query
          type: integer
          description: 'Default: 10. Min: 1. Max: 10.'
        - name: sort
          in: query
          type: string
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
      - name: createlist
        method: POST
        description: Create List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-lists-id
      path: /api/lists/{id}
      operations:
      - name: getlist
        method: GET
        description: Get List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: additional-fields[list]
          in: query
          type: array
          description: 'Request additional fields not included by default in the response. Supported values: ''profile_count'''
        - name: fields[flow]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: fields[list]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: fields[tag]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: include
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#relationships
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
      - name: updatelist
        method: PATCH
        description: Update List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletelist
        method: DELETE
        description: Delete List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-lists-id-flow-triggers
      path: /api/lists/{id}/flow-triggers
      operations:
      - name: getflowstriggeredbylist
        method: GET
        description: Get Flows Triggered by List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: fields[flow]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-lists-id-profiles
      path: /api/lists/{id}/profiles
      operations:
      - name: getprofilesforlist
        method: GET
        description: Get Profiles for List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: additional-fields[profile]
          in: query
          type: array
          description: 'Request additional fields not included by default in the response. Supported values: ''subscriptions'',
            ''predictive_analytics'''
        - name: fields[profile]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: filter
          in: query
          type: string
          description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed
            field(s)/operator(s):<br>`email`: `a'
        - name: page[cursor]
          in: query
          type: string
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
        - name: page[size]
          in: query
          type: integer
          description: 'Default: 20. Min: 1. Max: 100.'
        - name: sort
          in: query
          type: string
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-lists-id-relationships-flow-triggers
      path: /api/lists/{id}/relationships/flow-triggers
      operations:
      - name: getidsforflowstriggeredbylist
        method: GET
        description: Get IDs for Flows Triggered by List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-lists-id-relationships-profiles
      path: /api/lists/{id}/relationships/profiles
      operations:
      - name: getprofileidsforlist
        method: GET
        description: Get Profile IDs for List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: filter
          in: query
          type: string
          description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering<br>Allowed
            field(s)/operator(s):<br>`email`: `a'
        - name: page[cursor]
          in: query
          type: string
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
        - name: page[size]
          in: query
          type: integer
          description: 'Default: 20. Min: 1. Max: 100.'
        - name: sort
          in: query
          type: string
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
      - name: addprofilestolist
        method: POST
        description: Add Profiles to List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: removeprofilesfromlist
        method: DELETE
        description: Remove Profiles from List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-lists-id-relationships-tags
      path: /api/lists/{id}/relationships/tags
      operations:
      - name: gettagidsforlist
        method: GET
        description: Get Tag IDs for List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-lists-id-tags
      path: /api/lists/{id}/tags
      operations:
      - name: gettagsforlist
        method: GET
        description: Get Tags for List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Primary key that uniquely identifies this list. Generated by Klaviyo.
          required: true
        - name: fields[tag]
          in: query
          type: array
          description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.KLAVIYO_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: klaviyo-lists-rest
    port: 8080
    description: REST adapter for Klaviyo API — Lists. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/lists
      name: api-lists
      description: REST surface for api-lists.
      operations:
      - method: GET
        name: getlists
        description: Get Lists
        call: klaviyo-lists.getlists
        with:
          fields[flow]: rest.fields[flow]
          fields[list]: rest.fields[list]
          fields[tag]: rest.fields[tag]
          filter: rest.filter
          include: rest.include
          page[cursor]: rest.page[cursor]
          page[size]: rest.page[size]
          sort: rest.sort
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlist
        description: Create List
        call: klaviyo-lists.createlist
        with:
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/lists/{id}
      name: api-lists-id
      description: REST surface for api-lists-id.
      operations:
      - method: GET
        name: getlist
        description: Get List
        call: klaviyo-lists.getlist
        with:
          id: rest.id
          additional-fields[list]: rest.additional-fields[list]
          fields[flow]: rest.fields[flow]
          fields[list]: rest.fields[list]
          fields[tag]: rest.fields[tag]
          include: rest.include
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatelist
        description: Update List
        call: klaviyo-lists.updatelist
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelist
        description: Delete List
        call: klaviyo-lists.deletelist
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/lists/{id}/flow-triggers
      name: api-lists-id-flow-triggers
      description: REST surface for api-lists-id-flow-triggers.
      operations:
      - method: GET
        name: getflowstriggeredbylist
        description: Get Flows Triggered by List
        call: klaviyo-lists.getflowstriggeredbylist
        with:
          id: rest.id
          fields[flow]: rest.fields[flow]
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/lists/{id}/profiles
      name: api-lists-id-profiles
      description: REST surface for api-lists-id-profiles.
      operations:
      - method: GET
        name: getprofilesforlist
        description: Get Profiles for List
        call: klaviyo-lists.getprofilesforlist
        with:
          id: rest.id
          additional-fields[profile]: rest.additional-fields[profile]
          fields[profile]: rest.fields[profile]
          filter: rest.filter
          page[cursor]: rest.page[cursor]
          page[size]: rest.page[size]
          sort: rest.sort
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/lists/{id}/relationships/flow-triggers
      name: api-lists-id-relationships-flow-triggers
      description: REST surface for api-lists-id-relationships-flow-triggers.
      operations:
      - method: GET
        name: getidsforflowstriggeredbylist
        description: Get IDs for Flows Triggered by List
        call: klaviyo-lists.getidsforflowstriggeredbylist
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/lists/{id}/relationships/profiles
      name: api-lists-id-relationships-profiles
      description: REST surface for api-lists-id-relationships-profiles.
      operations:
      - method: GET
        name: getprofileidsforlist
        description: Get Profile IDs for List
        call: klaviyo-lists.getprofileidsforlist
        with:
          id: rest.id
          filter: rest.filter
          page[cursor]: rest.page[cursor]
          page[size]: rest.page[size]
          sort: rest.sort
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addprofilestolist
        description: Add Profiles to List
        call: klaviyo-lists.addprofilestolist
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removeprofilesfromlist
        description: Remove Profiles from List
        call: klaviyo-lists.removeprofilesfromlist
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/lists/{id}/relationships/tags
      name: api-lists-id-relationships-tags
      description: REST surface for api-lists-id-relationships-tags.
      operations:
      - method: GET
        name: gettagidsforlist
        description: Get Tag IDs for List
        call: klaviyo-lists.gettagidsforlist
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/lists/{id}/tags
      name: api-lists-id-tags
      description: REST surface for api-lists-id-tags.
      operations:
      - method: GET
        name: gettagsforlist
        description: Get Tags for List
        call: klaviyo-lists.gettagsforlist
        with:
          id: rest.id
          fields[tag]: rest.fields[tag]
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: klaviyo-lists-mcp
    port: 9090
    transport: http
    description: MCP adapter for Klaviyo API — Lists. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-lists
      description: Get Lists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.getlists
      with:
        fields[flow]: tools.fields[flow]
        fields[list]: tools.fields[list]
        fields[tag]: tools.fields[tag]
        filter: tools.filter
        include: tools.include
        page[cursor]: tools.page[cursor]
        page[size]: tools.page[size]
        sort: tools.sort
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: create-list
      description: Create List
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: klaviyo-lists.createlist
      with:
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list
      description: Get List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.getlist
      with:
        id: tools.id
        additional-fields[list]: tools.additional-fields[list]
        fields[flow]: tools.fields[flow]
        fields[list]: tools.fields[list]
        fields[tag]: tools.fields[tag]
        include: tools.include
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: update-list
      description: Update List
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: klaviyo-lists.updatelist
      with:
        id: tools.id
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-list
      description: Delete List
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: klaviyo-lists.deletelist
      with:
        id: tools.id
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: get-flows-triggered-list
      description: Get Flows Triggered by List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.getflowstriggeredbylist
      with:
        id: tools.id
        fields[flow]: tools.fields[flow]
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: get-profiles-list
      description: Get Profiles for List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.getprofilesforlist
      with:
        id: tools.id
        additional-fields[profile]: tools.additional-fields[profile]
        fields[profile]: tools.fields[profile]
        filter: tools.filter
        page[cursor]: tools.page[cursor]
        page[size]: tools.page[size]
        sort: tools.sort
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: get-ids-flows-triggered-list
      description: Get IDs for Flows Triggered by List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.getidsforflowstriggeredbylist
      with:
        id: tools.id
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: get-profile-ids-list
      description: Get Profile IDs for List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.getprofileidsforlist
      with:
        id: tools.id
        filter: tools.filter
        page[cursor]: tools.page[cursor]
        page[size]: tools.page[size]
        sort: tools.sort
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: add-profiles-list
      description: Add Profiles to List
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: klaviyo-lists.addprofilestolist
      with:
        id: tools.id
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-profiles-list
      description: Remove Profiles from List
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: klaviyo-lists.removeprofilesfromlist
      with:
        id: tools.id
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tag-ids-list
      description: Get Tag IDs for List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.gettagidsforlist
      with:
        id: tools.id
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tags-list
      description: Get Tags for List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-lists.gettagsforlist
      with:
        id: tools.id
        fields[tag]: tools.fields[tag]
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.