Oracle E-Business Suite · Capability

Oracle EBS Supply Chain Management API — Purchasing

Oracle EBS Supply Chain Management API — Purchasing. 6 operations. Lead operation: Retrieve Purchase Orders. Self-contained Naftiko capability covering one Oracle E Business Suite business surface.

Run with Naftiko Oracle E Business SuitePurchasing

What You Can Do

GET
Getpurchaseorders — Retrieve Purchase Orders
/v1/po/purchaseorders
POST
Createpurchaseorder — Create a Purchase Order
/v1/po/purchaseorders
GET
Getpurchaseorderbyid — Retrieve a Specific Purchase Order
/v1/po/purchaseorders/{poheaderid}
PUT
Updatepurchaseorder — Update a Purchase Order
/v1/po/purchaseorders/{poheaderid}
GET
Getrequisitions — Retrieve Purchase Requisitions
/v1/po/requisitions
GET
Getsuppliers — Retrieve Suppliers
/v1/po/suppliers

MCP Tools

retrieve-purchase-orders

Retrieve Purchase Orders

read-only idempotent
create-purchase-order

Create a Purchase Order

retrieve-specific-purchase-order

Retrieve a Specific Purchase Order

read-only idempotent
update-purchase-order

Update a Purchase Order

idempotent
retrieve-purchase-requisitions

Retrieve Purchase Requisitions

read-only idempotent
retrieve-suppliers

Retrieve Suppliers

read-only idempotent

Capability Spec

supply-chain-purchasing.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Oracle EBS Supply Chain Management API — Purchasing
  description: 'Oracle EBS Supply Chain Management API — Purchasing. 6 operations. Lead operation: Retrieve Purchase Orders.
    Self-contained Naftiko capability covering one Oracle E Business Suite business surface.'
  tags:
  - Oracle E Business Suite
  - Purchasing
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ORACLE_E_BUSINESS_SUITE_API_KEY: ORACLE_E_BUSINESS_SUITE_API_KEY
capability:
  consumes:
  - type: http
    namespace: supply-chain-purchasing
    baseUri: https://{instance}.oracle.com/webservices/rest
    description: Oracle EBS Supply Chain Management API — Purchasing business capability. Self-contained, no shared references.
    resources:
    - name: po-purchaseOrders
      path: /po/purchaseOrders
      operations:
      - name: getpurchaseorders
        method: GET
        description: Retrieve Purchase Orders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: poHeaderId
          in: query
          type: integer
          description: Purchase order header identifier
        - name: segment1
          in: query
          type: string
          description: Purchase order number
        - name: vendorId
          in: query
          type: integer
          description: Supplier/vendor identifier
        - name: authorizationStatus
          in: query
          type: string
          description: Authorization status
        - name: creationDateFrom
          in: query
          type: string
          description: Creation date range start (YYYY-MM-DD)
        - name: creationDateTo
          in: query
          type: string
          description: Creation date range end (YYYY-MM-DD)
        - name: typeLookupCode
          in: query
          type: string
          description: Purchase order type
      - name: createpurchaseorder
        method: POST
        description: Create a Purchase Order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: po-purchaseOrders-poHeaderId
      path: /po/purchaseOrders/{poHeaderId}
      operations:
      - name: getpurchaseorderbyid
        method: GET
        description: Retrieve a Specific Purchase Order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: poHeaderId
          in: path
          type: integer
          required: true
      - name: updatepurchaseorder
        method: PUT
        description: Update a Purchase Order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: poHeaderId
          in: path
          type: integer
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: po-requisitions
      path: /po/requisitions
      operations:
      - name: getrequisitions
        method: GET
        description: Retrieve Purchase Requisitions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: requisitionHeaderId
          in: query
          type: integer
          description: Requisition header identifier
        - name: requisitionNumber
          in: query
          type: string
          description: Requisition number
        - name: authorizationStatus
          in: query
          type: string
          description: Authorization status
    - name: po-suppliers
      path: /po/suppliers
      operations:
      - name: getsuppliers
        method: GET
        description: Retrieve Suppliers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vendorId
          in: query
          type: integer
          description: Vendor identifier
        - name: vendorName
          in: query
          type: string
          description: Vendor name (supports wildcards)
        - name: segment1
          in: query
          type: string
          description: Vendor number
        - name: vendorType
          in: query
          type: string
          description: Vendor type
    authentication:
      type: apikey
      key: accessToken
      value: '{{env.ORACLE_E_BUSINESS_SUITE_API_KEY}}'
      placement: cookie
  exposes:
  - type: rest
    namespace: supply-chain-purchasing-rest
    port: 8080
    description: REST adapter for Oracle EBS Supply Chain Management API — Purchasing. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/po/purchaseorders
      name: po-purchaseorders
      description: REST surface for po-purchaseOrders.
      operations:
      - method: GET
        name: getpurchaseorders
        description: Retrieve Purchase Orders
        call: supply-chain-purchasing.getpurchaseorders
        with:
          poHeaderId: rest.poHeaderId
          segment1: rest.segment1
          vendorId: rest.vendorId
          authorizationStatus: rest.authorizationStatus
          creationDateFrom: rest.creationDateFrom
          creationDateTo: rest.creationDateTo
          typeLookupCode: rest.typeLookupCode
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createpurchaseorder
        description: Create a Purchase Order
        call: supply-chain-purchasing.createpurchaseorder
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/po/purchaseorders/{poheaderid}
      name: po-purchaseorders-poheaderid
      description: REST surface for po-purchaseOrders-poHeaderId.
      operations:
      - method: GET
        name: getpurchaseorderbyid
        description: Retrieve a Specific Purchase Order
        call: supply-chain-purchasing.getpurchaseorderbyid
        with:
          poHeaderId: rest.poHeaderId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatepurchaseorder
        description: Update a Purchase Order
        call: supply-chain-purchasing.updatepurchaseorder
        with:
          poHeaderId: rest.poHeaderId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/po/requisitions
      name: po-requisitions
      description: REST surface for po-requisitions.
      operations:
      - method: GET
        name: getrequisitions
        description: Retrieve Purchase Requisitions
        call: supply-chain-purchasing.getrequisitions
        with:
          requisitionHeaderId: rest.requisitionHeaderId
          requisitionNumber: rest.requisitionNumber
          authorizationStatus: rest.authorizationStatus
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/po/suppliers
      name: po-suppliers
      description: REST surface for po-suppliers.
      operations:
      - method: GET
        name: getsuppliers
        description: Retrieve Suppliers
        call: supply-chain-purchasing.getsuppliers
        with:
          vendorId: rest.vendorId
          vendorName: rest.vendorName
          segment1: rest.segment1
          vendorType: rest.vendorType
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: supply-chain-purchasing-mcp
    port: 9090
    transport: http
    description: MCP adapter for Oracle EBS Supply Chain Management API — Purchasing. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: retrieve-purchase-orders
      description: Retrieve Purchase Orders
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: supply-chain-purchasing.getpurchaseorders
      with:
        poHeaderId: tools.poHeaderId
        segment1: tools.segment1
        vendorId: tools.vendorId
        authorizationStatus: tools.authorizationStatus
        creationDateFrom: tools.creationDateFrom
        creationDateTo: tools.creationDateTo
        typeLookupCode: tools.typeLookupCode
      outputParameters:
      - type: object
        mapping: $.
    - name: create-purchase-order
      description: Create a Purchase Order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: supply-chain-purchasing.createpurchaseorder
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-specific-purchase-order
      description: Retrieve a Specific Purchase Order
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: supply-chain-purchasing.getpurchaseorderbyid
      with:
        poHeaderId: tools.poHeaderId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-purchase-order
      description: Update a Purchase Order
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: supply-chain-purchasing.updatepurchaseorder
      with:
        poHeaderId: tools.poHeaderId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-purchase-requisitions
      description: Retrieve Purchase Requisitions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: supply-chain-purchasing.getrequisitions
      with:
        requisitionHeaderId: tools.requisitionHeaderId
        requisitionNumber: tools.requisitionNumber
        authorizationStatus: tools.authorizationStatus
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-suppliers
      description: Retrieve Suppliers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: supply-chain-purchasing.getsuppliers
      with:
        vendorId: tools.vendorId
        vendorName: tools.vendorName
        segment1: tools.segment1
        vendorType: tools.vendorType
      outputParameters:
      - type: object
        mapping: $.