Ariba Sourcing · Capability

Ariba Sourcing - External Approval API — Approval Tasks

Ariba Sourcing - External Approval API — Approval Tasks. 4 operations. Lead operation: Ariba Sourcing Submit Approval Action. Self-contained Naftiko capability covering one Ariba Sourcing business surface.

Run with Naftiko Ariba SourcingApproval Tasks

What You Can Do

POST
Submitapprovalaction — Ariba Sourcing Submit Approval Action
/v1/action
GET
Listapprovalchanges — Ariba Sourcing List Changed Approval Tasks
/v1/changes
GET
Listpendingapprovables — Ariba Sourcing List Pending Approval Tasks
/v1/pendingapprovables
GET
Getapprovaltask — Ariba Sourcing Get Approval Task Details
/v1/task/{entity-id}

MCP Tools

ariba-sourcing-submit-approval-action

Ariba Sourcing Submit Approval Action

ariba-sourcing-list-changed-approval

Ariba Sourcing List Changed Approval Tasks

read-only idempotent
ariba-sourcing-list-pending-approval

Ariba Sourcing List Pending Approval Tasks

read-only idempotent
ariba-sourcing-get-approval-task

Ariba Sourcing Get Approval Task Details

read-only idempotent

Capability Spec

external-approval-approval-tasks.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Ariba Sourcing - External Approval API — Approval Tasks
  description: 'Ariba Sourcing - External Approval API — Approval Tasks. 4 operations. Lead operation: Ariba Sourcing Submit
    Approval Action. Self-contained Naftiko capability covering one Ariba Sourcing business surface.'
  tags:
  - Ariba Sourcing
  - Approval Tasks
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ARIBA_SOURCING_API_KEY: ARIBA_SOURCING_API_KEY
capability:
  consumes:
  - type: http
    namespace: external-approval-approval-tasks
    baseUri: https://openapi.ariba.com/api/sourcing-approval/v2/prod
    description: Ariba Sourcing - External Approval API — Approval Tasks business capability. Self-contained, no shared references.
    resources:
    - name: action
      path: /action
      operations:
      - name: submitapprovalaction
        method: POST
        description: Ariba Sourcing Submit Approval Action
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: realm
          in: query
          type: string
          description: The SAP Ariba realm name.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: changes
      path: /changes
      operations:
      - name: listapprovalchanges
        method: GET
        description: Ariba Sourcing List Changed Approval Tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: realm
          in: query
          type: string
          description: The SAP Ariba realm name identifying your site.
          required: true
        - name: needTotal
          in: query
          type: boolean
          description: Whether to include total count in X-Total-Count response header.
        - name: offset
          in: query
          type: integer
          description: Offset from the beginning of the result set for pagination.
        - name: limit
          in: query
          type: integer
          description: Maximum page size. Ignored if value is less than 10.
        - name: lastChangeId
          in: query
          type: string
          description: The last change received in the previous response. Response includes all changes since this ID. Default
            is 0.
        - name: $filter
          in: query
          type: string
          description: Filter approval tasks by solution area and type. See API documentation for supported filter values.
    - name: pendingApprovables
      path: /pendingApprovables
      operations:
      - name: listpendingapprovables
        method: GET
        description: Ariba Sourcing List Pending Approval Tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: realm
          in: query
          type: string
          description: The SAP Ariba realm name identifying your site.
          required: true
        - name: user
          in: query
          type: string
          description: User ID. If specified, only approval tasks assigned to this user are returned.
        - name: documentType
          in: query
          type: string
          description: 'Type of document to be approved. Values: Workspace, Folder, RFXDocument, ContractContentDocument,
            ContractWorkspace, ContractRequest.'
        - name: offset
          in: query
          type: integer
          description: Starting point within collection of results.
        - name: limit
          in: query
          type: integer
          description: Maximum number of records. Range 0-100, default 100.
        - name: resetStartPosition
          in: query
          type: boolean
          description: When true, returns empty set if offset exceeds total records.
    - name: task-entity_id
      path: /task/{entity_id}
      operations:
      - name: getapprovaltask
        method: GET
        description: Ariba Sourcing Get Approval Task Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: entity_id
          in: path
          type: string
          description: The task ID as returned from GET /changes or GET /pendingApprovables.
          required: true
        - name: realm
          in: query
          type: string
          description: The SAP Ariba realm name.
          required: true
    authentication:
      type: bearer
      token: '{{env.ARIBA_SOURCING_API_KEY}}'
  exposes:
  - type: rest
    namespace: external-approval-approval-tasks-rest
    port: 8080
    description: REST adapter for Ariba Sourcing - External Approval API — Approval Tasks. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/action
      name: action
      description: REST surface for action.
      operations:
      - method: POST
        name: submitapprovalaction
        description: Ariba Sourcing Submit Approval Action
        call: external-approval-approval-tasks.submitapprovalaction
        with:
          realm: rest.realm
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/changes
      name: changes
      description: REST surface for changes.
      operations:
      - method: GET
        name: listapprovalchanges
        description: Ariba Sourcing List Changed Approval Tasks
        call: external-approval-approval-tasks.listapprovalchanges
        with:
          realm: rest.realm
          needTotal: rest.needTotal
          offset: rest.offset
          limit: rest.limit
          lastChangeId: rest.lastChangeId
          $filter: rest.$filter
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/pendingapprovables
      name: pendingapprovables
      description: REST surface for pendingApprovables.
      operations:
      - method: GET
        name: listpendingapprovables
        description: Ariba Sourcing List Pending Approval Tasks
        call: external-approval-approval-tasks.listpendingapprovables
        with:
          realm: rest.realm
          user: rest.user
          documentType: rest.documentType
          offset: rest.offset
          limit: rest.limit
          resetStartPosition: rest.resetStartPosition
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/task/{entity-id}
      name: task-entity-id
      description: REST surface for task-entity_id.
      operations:
      - method: GET
        name: getapprovaltask
        description: Ariba Sourcing Get Approval Task Details
        call: external-approval-approval-tasks.getapprovaltask
        with:
          entity_id: rest.entity_id
          realm: rest.realm
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: external-approval-approval-tasks-mcp
    port: 9090
    transport: http
    description: MCP adapter for Ariba Sourcing - External Approval API — Approval Tasks. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: ariba-sourcing-submit-approval-action
      description: Ariba Sourcing Submit Approval Action
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: external-approval-approval-tasks.submitapprovalaction
      with:
        realm: tools.realm
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ariba-sourcing-list-changed-approval
      description: Ariba Sourcing List Changed Approval Tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: external-approval-approval-tasks.listapprovalchanges
      with:
        realm: tools.realm
        needTotal: tools.needTotal
        offset: tools.offset
        limit: tools.limit
        lastChangeId: tools.lastChangeId
        $filter: tools.$filter
      outputParameters:
      - type: object
        mapping: $.
    - name: ariba-sourcing-list-pending-approval
      description: Ariba Sourcing List Pending Approval Tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: external-approval-approval-tasks.listpendingapprovables
      with:
        realm: tools.realm
        user: tools.user
        documentType: tools.documentType
        offset: tools.offset
        limit: tools.limit
        resetStartPosition: tools.resetStartPosition
      outputParameters:
      - type: object
        mapping: $.
    - name: ariba-sourcing-get-approval-task
      description: Ariba Sourcing Get Approval Task Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: external-approval-approval-tasks.getapprovaltask
      with:
        entity_id: tools.entity_id
        realm: tools.realm
      outputParameters:
      - type: object
        mapping: $.