fabric · Capability

fabric Offers — Promotions

fabric Offers — Promotions. 8 operations. Lead operation: Get All Promotions. Self-contained Naftiko capability covering one fabric business surface.

fabric Offers — Promotions is a Naftiko capability published by fabric, one of 25 capabilities the APIs.io network indexes for this provider. It bundles 8 operations across the POST, GET, PUT, and DELETE methods rooted at /v1/promotions.

The capability includes 2 read-only operations and 6 state-changing operations. Lead operation: Get All Promotions. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Fabric and Promotions.

Run with Naftiko FabricPromotions

What You Can Do

GET
Get all promotions — Get All Promotions
/v1/promotions
POST
Create promotion — Create Promotion
/v1/promotions
PUT
Update a specific promotion — Update a Specific Promotion
/v1/promotions/{promotionId}
GET
Get a specific promotion — Get a Specific Promotion
/v1/promotions/{promotionId}
DELETE
Delete a specific promotion — Delete a Specific Promotion
/v1/promotions/{promotionId}
POST
Enable or disable a promotion — Enable or Disable a Promotion
/v1/promotions/{promotionId}/actions/toggle
POST
End a promotion — End a Promotion
/v1/promotions/{promotionId}/actions/end
POST
Search for promotions — Search for Promotions
/v1/promotions/search

MCP Tools

fabric-get-all-promotions

Get All Promotions

read-only idempotent
fabric-create-promotion

Create Promotion

fabric-update-a-specific-promotion

Update a Specific Promotion

idempotent
fabric-get-a-specific-promotion

Get a Specific Promotion

read-only idempotent
fabric-delete-a-specific-promotion

Delete a Specific Promotion

idempotent
fabric-enable-or-disable-a-promotion

Enable or Disable a Promotion

fabric-end-a-promotion

End a Promotion

fabric-search-for-promotions

Search for Promotions

Capability Spec

offers-promotions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: fabric Offers — Promotions
  description: 'fabric Offers — Promotions. 8 operations. Lead operation: Get All Promotions. Self-contained Naftiko capability covering one fabric business surface.'
  tags:
  - Fabric
  - Promotions
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    FABRIC_ACCESS_TOKEN: FABRIC_ACCESS_TOKEN
capability:
  consumes:
  - type: http
    namespace: offers-promotions
    baseUri: https://api.fabric.inc/v3
    description: fabric Offers — Promotions consumed operations from fabric-offers-promotions-openapi.yml.
    resources:
    - name: promotions
      path: /promotions
      operations:
      - name: get-all-promotions
        method: GET
        description: 'Get All Promotions'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-promotion
        method: POST
        description: 'Create Promotion'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: promotions-promotionid
      path: /promotions/{promotionId}
      operations:
      - name: update-a-specific-promotion
        method: PUT
        description: 'Update a Specific Promotion'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: promotionId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: get-a-specific-promotion
        method: GET
        description: 'Get a Specific Promotion'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: promotionId
          in: path
          type: string
          required: true
      - name: delete-a-specific-promotion
        method: DELETE
        description: 'Delete a Specific Promotion'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: promotionId
          in: path
          type: string
          required: true
    - name: promotions-promotionid-actions-toggle
      path: /promotions/{promotionId}/actions/toggle
      operations:
      - name: enable-or-disable-a-promotion
        method: POST
        description: 'Enable or Disable a Promotion'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: promotionId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: promotions-promotionid-actions-end
      path: /promotions/{promotionId}/actions/end
      operations:
      - name: end-a-promotion
        method: POST
        description: 'End a Promotion'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: promotionId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: promotions-search
      path: /promotions/search
      operations:
      - name: search-for-promotions
        method: POST
        description: 'Search for Promotions'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      value: '{{env.FABRIC_ACCESS_TOKEN}}'
      placement: header
  exposes:
  - type: rest
    namespace: offers-promotions-rest
    port: 8080
    description: REST adapter for fabric Offers — Promotions. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/promotions
      name: promotions
      description: REST surface for promotions.
      operations:
      - method: GET
        name: get-all-promotions
        description: 'Get All Promotions'
        call: offers-promotions.get-all-promotions
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: create-promotion
        description: 'Create Promotion'
        call: offers-promotions.create-promotion
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/promotions/{promotionId}
      name: promotions-promotionid
      description: REST surface for promotions-promotionid.
      operations:
      - method: PUT
        name: update-a-specific-promotion
        description: 'Update a Specific Promotion'
        call: offers-promotions.update-a-specific-promotion
        with:
          promotionId: rest.path.promotionId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: get-a-specific-promotion
        description: 'Get a Specific Promotion'
        call: offers-promotions.get-a-specific-promotion
        with:
          promotionId: rest.path.promotionId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-a-specific-promotion
        description: 'Delete a Specific Promotion'
        call: offers-promotions.delete-a-specific-promotion
        with:
          promotionId: rest.path.promotionId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/promotions/{promotionId}/actions/toggle
      name: promotions-promotionid-actions-toggle
      description: REST surface for promotions-promotionid-actions-toggle.
      operations:
      - method: POST
        name: enable-or-disable-a-promotion
        description: 'Enable or Disable a Promotion'
        call: offers-promotions.enable-or-disable-a-promotion
        with:
          promotionId: rest.path.promotionId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/promotions/{promotionId}/actions/end
      name: promotions-promotionid-actions-end
      description: REST surface for promotions-promotionid-actions-end.
      operations:
      - method: POST
        name: end-a-promotion
        description: 'End a Promotion'
        call: offers-promotions.end-a-promotion
        with:
          promotionId: rest.path.promotionId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/promotions/search
      name: promotions-search
      description: REST surface for promotions-search.
      operations:
      - method: POST
        name: search-for-promotions
        description: 'Search for Promotions'
        call: offers-promotions.search-for-promotions
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: offers-promotions-mcp
    port: 9090
    transport: http
    description: MCP adapter for fabric Offers — Promotions. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: fabric-get-all-promotions
      description: 'Get All Promotions'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: offers-promotions.get-all-promotions
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-create-promotion
      description: 'Create Promotion'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: offers-promotions.create-promotion
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-update-a-specific-promotion
      description: 'Update a Specific Promotion'
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: offers-promotions.update-a-specific-promotion
      with:
        promotionId: tools.promotionId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-get-a-specific-promotion
      description: 'Get a Specific Promotion'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: offers-promotions.get-a-specific-promotion
      with:
        promotionId: tools.promotionId
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-delete-a-specific-promotion
      description: 'Delete a Specific Promotion'
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: offers-promotions.delete-a-specific-promotion
      with:
        promotionId: tools.promotionId
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-enable-or-disable-a-promotion
      description: 'Enable or Disable a Promotion'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: offers-promotions.enable-or-disable-a-promotion
      with:
        promotionId: tools.promotionId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-end-a-promotion
      description: 'End a Promotion'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: offers-promotions.end-a-promotion
      with:
        promotionId: tools.promotionId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-search-for-promotions
      description: 'Search for Promotions'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: offers-promotions.search-for-promotions
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.