Klaviyo · Capability

Klaviyo API — Tags

Klaviyo API — Tags. 26 operations. Lead operation: Get Tag Groups. Self-contained Naftiko capability covering one Klaviyo business surface.

Run with Naftiko KlaviyoTags

What You Can Do

GET
Gettaggroups — Get Tag Groups
/v1/api/tag-groups
POST
Createtaggroup — Create Tag Group
/v1/api/tag-groups
GET
Gettaggroup — Get Tag Group
/v1/api/tag-groups/{id}
PATCH
Updatetaggroup — Update Tag Group
/v1/api/tag-groups/{id}
DELETE
Deletetaggroup — Delete Tag Group
/v1/api/tag-groups/{id}
GET
Gettagidsfortaggroup — Get Tag IDs for Tag Group
/v1/api/tag-groups/{id}/relationships/tags
GET
Gettagsfortaggroup — Get Tags for Tag Group
/v1/api/tag-groups/{id}/tags
GET
Gettags — Get Tags
/v1/api/tags
POST
Createtag — Create Tag
/v1/api/tags
GET
Gettag — Get Tag
/v1/api/tags/{id}
PATCH
Updatetag — Update Tag
/v1/api/tags/{id}
DELETE
Deletetag — Delete Tag
/v1/api/tags/{id}
GET
Getcampaignidsfortag — Get Campaign IDs for Tag
/v1/api/tags/{id}/relationships/campaigns
POST
Tagcampaigns — Tag Campaigns
/v1/api/tags/{id}/relationships/campaigns
DELETE
Removetagfromcampaigns — Remove Tag from Campaigns
/v1/api/tags/{id}/relationships/campaigns
GET
Getflowidsfortag — Get Flow IDs for Tag
/v1/api/tags/{id}/relationships/flows
POST
Tagflows — Tag Flows
/v1/api/tags/{id}/relationships/flows
DELETE
Removetagfromflows — Remove Tag from Flows
/v1/api/tags/{id}/relationships/flows
GET
Getlistidsfortag — Get List IDs for Tag
/v1/api/tags/{id}/relationships/lists
POST
Taglists — Tag Lists
/v1/api/tags/{id}/relationships/lists
DELETE
Removetagfromlists — Remove Tag from Lists
/v1/api/tags/{id}/relationships/lists
GET
Getsegmentidsfortag — Get Segment IDs for Tag
/v1/api/tags/{id}/relationships/segments
POST
Tagsegments — Tag Segments
/v1/api/tags/{id}/relationships/segments
DELETE
Removetagfromsegments — Remove Tag from Segments
/v1/api/tags/{id}/relationships/segments
GET
Gettaggroupidfortag — Get Tag Group ID for Tag
/v1/api/tags/{id}/relationships/tag-group
GET
Gettaggroupfortag — Get Tag Group for Tag
/v1/api/tags/{id}/tag-group

MCP Tools

get-tag-groups

Get Tag Groups

read-only idempotent
create-tag-group

Create Tag Group

get-tag-group

Get Tag Group

read-only idempotent
update-tag-group

Update Tag Group

idempotent
delete-tag-group

Delete Tag Group

idempotent
get-tag-ids-tag-group

Get Tag IDs for Tag Group

read-only idempotent
get-tags-tag-group

Get Tags for Tag Group

read-only idempotent
get-tags

Get Tags

read-only idempotent
create-tag

Create Tag

get-tag

Get Tag

read-only idempotent
update-tag

Update Tag

idempotent
delete-tag

Delete Tag

idempotent
get-campaign-ids-tag

Get Campaign IDs for Tag

read-only idempotent
tag-campaigns

Tag Campaigns

remove-tag-campaigns

Remove Tag from Campaigns

idempotent
get-flow-ids-tag

Get Flow IDs for Tag

read-only idempotent
tag-flows

Tag Flows

remove-tag-flows

Remove Tag from Flows

idempotent
get-list-ids-tag

Get List IDs for Tag

read-only idempotent
tag-lists

Tag Lists

remove-tag-lists

Remove Tag from Lists

idempotent
get-segment-ids-tag

Get Segment IDs for Tag

read-only idempotent
tag-segments

Tag Segments

remove-tag-segments

Remove Tag from Segments

idempotent
get-tag-group-id-tag

Get Tag Group ID for Tag

read-only idempotent
get-tag-group-tag

Get Tag Group for Tag

read-only idempotent

Capability Spec

klaviyo-tags.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Klaviyo API — Tags
  description: 'Klaviyo API — Tags. 26 operations. Lead operation: Get Tag Groups. Self-contained Naftiko capability covering
    one Klaviyo business surface.'
  tags:
  - Klaviyo
  - Tags
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KLAVIYO_API_KEY: KLAVIYO_API_KEY
capability:
  consumes:
  - type: http
    namespace: klaviyo-tags
    baseUri: https://a.klaviyo.com
    description: Klaviyo API — Tags business capability. Self-contained, no shared references.
    resources:
    - name: api-tag-groups
      path: /api/tag-groups
      operations:
      - name: gettaggroups
        method: GET
        description: Get Tag Groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields[tag-group]
          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`: `co'
        - 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: 25. Min: 1. Max: 25.'
        - 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: createtaggroup
        method: POST
        description: Create Tag Group
        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-tag-groups-id
      path: /api/tag-groups/{id}
      operations:
      - name: gettaggroup
        method: GET
        description: Get Tag Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag Group ID
          required: true
        - name: fields[tag-group]
          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: updatetaggroup
        method: PATCH
        description: Update Tag Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag Group ID
          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: deletetaggroup
        method: DELETE
        description: Delete Tag Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag Group ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-tag-groups-id-relationships-tags
      path: /api/tag-groups/{id}/relationships/tags
      operations:
      - name: gettagidsfortaggroup
        method: GET
        description: Get Tag IDs for Tag Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag Group ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-tag-groups-id-tags
      path: /api/tag-groups/{id}/tags
      operations:
      - name: gettagsfortaggroup
        method: GET
        description: Get Tags for Tag Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag Group ID
          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
    - name: api-tags
      path: /api/tags
      operations:
      - name: gettags
        method: GET
        description: Get Tags
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields[tag-group]
          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`: `co'
        - 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: 50. Min: 1. Max: 50.'
        - 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: createtag
        method: POST
        description: Create Tag
        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-tags-id
      path: /api/tags/{id}
      operations:
      - name: gettag
        method: GET
        description: Get Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: fields[tag-group]
          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: updatetag
        method: PATCH
        description: Update Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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: deletetag
        method: DELETE
        description: Delete Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-tags-id-relationships-campaigns
      path: /api/tags/{id}/relationships/campaigns
      operations:
      - name: getcampaignidsfortag
        method: GET
        description: Get Campaign IDs for Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
      - name: tagcampaigns
        method: POST
        description: Tag Campaigns
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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: removetagfromcampaigns
        method: DELETE
        description: Remove Tag from Campaigns
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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-tags-id-relationships-flows
      path: /api/tags/{id}/relationships/flows
      operations:
      - name: getflowidsfortag
        method: GET
        description: Get Flow IDs for Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
      - name: tagflows
        method: POST
        description: Tag Flows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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: removetagfromflows
        method: DELETE
        description: Remove Tag from Flows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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-tags-id-relationships-lists
      path: /api/tags/{id}/relationships/lists
      operations:
      - name: getlistidsfortag
        method: GET
        description: Get List IDs for Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
      - name: taglists
        method: POST
        description: Tag Lists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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: removetagfromlists
        method: DELETE
        description: Remove Tag from Lists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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-tags-id-relationships-segments
      path: /api/tags/{id}/relationships/segments
      operations:
      - name: getsegmentidsfortag
        method: GET
        description: Get Segment IDs for Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
      - name: tagsegments
        method: POST
        description: Tag Segments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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: removetagfromsegments
        method: DELETE
        description: Remove Tag from Segments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          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-tags-id-relationships-tag-group
      path: /api/tags/{id}/relationships/tag-group
      operations:
      - name: gettaggroupidfortag
        method: GET
        description: Get Tag Group ID for Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: revision
          in: header
          type: string
          description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
          required: true
    - name: api-tags-id-tag-group
      path: /api/tags/{id}/tag-group
      operations:
      - name: gettaggroupfortag
        method: GET
        description: Get Tag Group for Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The Tag ID
          required: true
        - name: fields[tag-group]
          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-tags-rest
    port: 8080
    description: REST adapter for Klaviyo API — Tags. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/tag-groups
      name: api-tag-groups
      description: REST surface for api-tag-groups.
      operations:
      - method: GET
        name: gettaggroups
        description: Get Tag Groups
        call: klaviyo-tags.gettaggroups
        with:
          fields[tag-group]: rest.fields[tag-group]
          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: createtaggroup
        description: Create Tag Group
        call: klaviyo-tags.createtaggroup
        with:
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tag-groups/{id}
      name: api-tag-groups-id
      description: REST surface for api-tag-groups-id.
      operations:
      - method: GET
        name: gettaggroup
        description: Get Tag Group
        call: klaviyo-tags.gettaggroup
        with:
          id: rest.id
          fields[tag-group]: rest.fields[tag-group]
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatetaggroup
        description: Update Tag Group
        call: klaviyo-tags.updatetaggroup
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletetaggroup
        description: Delete Tag Group
        call: klaviyo-tags.deletetaggroup
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tag-groups/{id}/relationships/tags
      name: api-tag-groups-id-relationships-tags
      description: REST surface for api-tag-groups-id-relationships-tags.
      operations:
      - method: GET
        name: gettagidsfortaggroup
        description: Get Tag IDs for Tag Group
        call: klaviyo-tags.gettagidsfortaggroup
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tag-groups/{id}/tags
      name: api-tag-groups-id-tags
      description: REST surface for api-tag-groups-id-tags.
      operations:
      - method: GET
        name: gettagsfortaggroup
        description: Get Tags for Tag Group
        call: klaviyo-tags.gettagsfortaggroup
        with:
          id: rest.id
          fields[tag]: rest.fields[tag]
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags
      name: api-tags
      description: REST surface for api-tags.
      operations:
      - method: GET
        name: gettags
        description: Get Tags
        call: klaviyo-tags.gettags
        with:
          fields[tag-group]: rest.fields[tag-group]
          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: createtag
        description: Create Tag
        call: klaviyo-tags.createtag
        with:
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags/{id}
      name: api-tags-id
      description: REST surface for api-tags-id.
      operations:
      - method: GET
        name: gettag
        description: Get Tag
        call: klaviyo-tags.gettag
        with:
          id: rest.id
          fields[tag-group]: rest.fields[tag-group]
          fields[tag]: rest.fields[tag]
          include: rest.include
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatetag
        description: Update Tag
        call: klaviyo-tags.updatetag
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletetag
        description: Delete Tag
        call: klaviyo-tags.deletetag
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags/{id}/relationships/campaigns
      name: api-tags-id-relationships-campaigns
      description: REST surface for api-tags-id-relationships-campaigns.
      operations:
      - method: GET
        name: getcampaignidsfortag
        description: Get Campaign IDs for Tag
        call: klaviyo-tags.getcampaignidsfortag
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: tagcampaigns
        description: Tag Campaigns
        call: klaviyo-tags.tagcampaigns
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removetagfromcampaigns
        description: Remove Tag from Campaigns
        call: klaviyo-tags.removetagfromcampaigns
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags/{id}/relationships/flows
      name: api-tags-id-relationships-flows
      description: REST surface for api-tags-id-relationships-flows.
      operations:
      - method: GET
        name: getflowidsfortag
        description: Get Flow IDs for Tag
        call: klaviyo-tags.getflowidsfortag
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: tagflows
        description: Tag Flows
        call: klaviyo-tags.tagflows
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removetagfromflows
        description: Remove Tag from Flows
        call: klaviyo-tags.removetagfromflows
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags/{id}/relationships/lists
      name: api-tags-id-relationships-lists
      description: REST surface for api-tags-id-relationships-lists.
      operations:
      - method: GET
        name: getlistidsfortag
        description: Get List IDs for Tag
        call: klaviyo-tags.getlistidsfortag
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: taglists
        description: Tag Lists
        call: klaviyo-tags.taglists
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removetagfromlists
        description: Remove Tag from Lists
        call: klaviyo-tags.removetagfromlists
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags/{id}/relationships/segments
      name: api-tags-id-relationships-segments
      description: REST surface for api-tags-id-relationships-segments.
      operations:
      - method: GET
        name: getsegmentidsfortag
        description: Get Segment IDs for Tag
        call: klaviyo-tags.getsegmentidsfortag
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: tagsegments
        description: Tag Segments
        call: klaviyo-tags.tagsegments
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removetagfromsegments
        description: Remove Tag from Segments
        call: klaviyo-tags.removetagfromsegments
        with:
          id: rest.id
          revision: rest.revision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags/{id}/relationships/tag-group
      name: api-tags-id-relationships-tag-group
      description: REST surface for api-tags-id-relationships-tag-group.
      operations:
      - method: GET
        name: gettaggroupidfortag
        description: Get Tag Group ID for Tag
        call: klaviyo-tags.gettaggroupidfortag
        with:
          id: rest.id
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/tags/{id}/tag-group
      name: api-tags-id-tag-group
      description: REST surface for api-tags-id-tag-group.
      operations:
      - method: GET
        name: gettaggroupfortag
        description: Get Tag Group for Tag
        call: klaviyo-tags.gettaggroupfortag
        with:
          id: rest.id
          fields[tag-group]: rest.fields[tag-group]
          revision: rest.revision
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: klaviyo-tags-mcp
    port: 9090
    transport: http
    description: MCP adapter for Klaviyo API — Tags. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-tag-groups
      description: Get Tag Groups
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-tags.gettaggroups
      with:
        fields[tag-group]: tools.fields[tag-group]
        filter: tools.filter
        page[cursor]: tools.page[cursor]
        page[size]: tools.page[size]
        sort: tools.sort
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: create-tag-group
      description: Create Tag Group
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: klaviyo-tags.createtaggroup
      with:
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tag-group
      description: Get Tag Group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: klaviyo-tags.gettaggroup
      with:
        id: tools.id
        fields[tag-group]: tools.fields[tag-group]
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: update-tag-group
      description: Update Tag Group
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: klaviyo-tags.updatetaggroup
      with:
        id: tools.id
        revision: tools.revision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-tag-group
      description: Delete Tag Group
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: klaviyo-tags.deletetaggroup
      with:
        id: tools.id
        revision: tools.revision
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tag-ids-tag-group
      description: Get Tag IDs for

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/klaviyo/refs/heads/main/capabilities/klaviyo-tags.yaml