AB Tasty · Capability

AB Tasty Decision API — Post

AB Tasty Decision API — Post. 4 operations. Lead operation: AB Tasty Post Activate. Self-contained Naftiko capability covering one Ab Tasty business surface.

Run with Naftiko Ab TastyPost

What You Can Do

POST
Postactivate — AB Tasty Post Activate
/v1/activate
POST
Postenvironmentidcampaigns — AB Tasty Post Environment Campaigns
/v1/{environmentid}/campaigns
POST
Postenvironmentidcampaignscampaignid — AB Tasty Post Environment Campaigns
/v1/{environmentid}/campaigns/{campaignid}
POST
Postenvironmentidflags — AB Tasty Post Environment Flags
/v1/{environmentid}/flags

MCP Tools

ab-tasty-post-activate

AB Tasty Post Activate

ab-tasty-post-environment-campaigns

AB Tasty Post Environment Campaigns

ab-tasty-post-environment-campaigns-2

AB Tasty Post Environment Campaigns

ab-tasty-post-environment-flags

AB Tasty Post Environment Flags

Capability Spec

decision-post.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: AB Tasty Decision API — Post
  description: 'AB Tasty Decision API — Post. 4 operations. Lead operation: AB Tasty Post Activate. Self-contained Naftiko
    capability covering one Ab Tasty business surface.'
  tags:
  - Ab Tasty
  - Post
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    AB_TASTY_API_KEY: AB_TASTY_API_KEY
capability:
  consumes:
  - type: http
    namespace: decision-post
    baseUri: https://decision.flagship.io/v2
    description: AB Tasty Decision API — Post business capability. Self-contained, no shared references.
    resources:
    - name: activate
      path: /activate
      operations:
      - name: postactivate
        method: POST
        description: AB Tasty Post Activate
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: environmentId-campaigns
      path: /{environmentId}/campaigns
      operations:
      - name: postenvironmentidcampaigns
        method: POST
        description: AB Tasty Post Environment Campaigns
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: environmentId-campaigns-campaignId
      path: /{environmentId}/campaigns/{campaignId}
      operations:
      - name: postenvironmentidcampaignscampaignid
        method: POST
        description: AB Tasty Post Environment Campaigns
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: environmentId-flags
      path: /{environmentId}/flags
      operations:
      - name: postenvironmentidflags
        method: POST
        description: AB Tasty Post Environment Flags
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: exposeAllKeys
          in: query
          type: boolean
          description: If true, all flag keys (even flag keys with null values) will be returned
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: x-api-key
      value: '{{env.AB_TASTY_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: decision-post-rest
    port: 8080
    description: REST adapter for AB Tasty Decision API — Post. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/activate
      name: activate
      description: REST surface for activate.
      operations:
      - method: POST
        name: postactivate
        description: AB Tasty Post Activate
        call: decision-post.postactivate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{environmentid}/campaigns
      name: environmentid-campaigns
      description: REST surface for environmentId-campaigns.
      operations:
      - method: POST
        name: postenvironmentidcampaigns
        description: AB Tasty Post Environment Campaigns
        call: decision-post.postenvironmentidcampaigns
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{environmentid}/campaigns/{campaignid}
      name: environmentid-campaigns-campaignid
      description: REST surface for environmentId-campaigns-campaignId.
      operations:
      - method: POST
        name: postenvironmentidcampaignscampaignid
        description: AB Tasty Post Environment Campaigns
        call: decision-post.postenvironmentidcampaignscampaignid
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{environmentid}/flags
      name: environmentid-flags
      description: REST surface for environmentId-flags.
      operations:
      - method: POST
        name: postenvironmentidflags
        description: AB Tasty Post Environment Flags
        call: decision-post.postenvironmentidflags
        with:
          exposeAllKeys: rest.exposeAllKeys
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: decision-post-mcp
    port: 9090
    transport: http
    description: MCP adapter for AB Tasty Decision API — Post. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: ab-tasty-post-activate
      description: AB Tasty Post Activate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: decision-post.postactivate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ab-tasty-post-environment-campaigns
      description: AB Tasty Post Environment Campaigns
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: decision-post.postenvironmentidcampaigns
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ab-tasty-post-environment-campaigns-2
      description: AB Tasty Post Environment Campaigns
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: decision-post.postenvironmentidcampaignscampaignid
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ab-tasty-post-environment-flags
      description: AB Tasty Post Environment Flags
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: decision-post.postenvironmentidflags
      with:
        exposeAllKeys: tools.exposeAllKeys
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.