openapi: 3.1.0 info: title: Oracle EBS e-Commerce Gateway Accounts Payable Purchasing API description: RESTful APIs for Oracle E-Business Suite e-Commerce Gateway providing EDI (Electronic Data Interchange) transaction support. Enables exchange of standard ASC X12 and EDIFACT documents with trading partners through flat ASCII file integration with third-party EDI translators. Supports inbound and outbound document processing for purchase orders, invoices, ship notices, and other business documents. version: 12.2.0 contact: name: Oracle Support email: support@oracle.com url: https://support.oracle.com license: name: Oracle Proprietary url: https://www.oracle.com/legal/terms/ x-logo: url: https://www.oracle.com/a/ocom/img/oracle-logo.svg servers: - url: https://{instance}.oracle.com/webservices/rest description: Oracle EBS ISG REST endpoint variables: instance: default: ebs-host description: The Oracle EBS instance hostname tags: - name: Purchasing description: Purchase order, requisition, and supplier management paths: /po/purchaseOrders: get: operationId: getPurchaseOrders summary: Retrieve Purchase Orders description: Retrieves purchase order records. Maps to the PO_HEADERS_ALL, PO_LINES_ALL, PO_LINE_LOCATIONS_ALL, and PO_DISTRIBUTIONS_ALL tables through the PO_PURCHASE_ORDERS_PKG PL/SQL API. tags: - Purchasing security: - tokenAuth: [] - basicAuth: [] parameters: - name: poHeaderId in: query description: Purchase order header identifier schema: type: integer example: '500123' - name: segment1 in: query description: Purchase order number schema: type: string example: example_value - name: vendorId in: query description: Supplier/vendor identifier schema: type: integer example: '500123' - name: authorizationStatus in: query description: Authorization status schema: type: string enum: - APPROVED - IN PROCESS - INCOMPLETE - PRE-APPROVED - REJECTED - REQUIRES REAPPROVAL example: APPROVED - name: creationDateFrom in: query description: Creation date range start (YYYY-MM-DD) schema: type: string format: date example: '2026-01-15' - name: creationDateTo in: query description: Creation date range end (YYYY-MM-DD) schema: type: string format: date example: '2026-01-15' - name: typeLookupCode in: query description: Purchase order type schema: type: string enum: - STANDARD - BLANKET - CONTRACT - PLANNED example: STANDARD - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: '200': description: List of purchase orders content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/PurchaseOrder' totalCount: type: integer hasMore: type: boolean examples: Getpurchaseorders200Example: summary: Default getPurchaseOrders 200 response x-microcks-default: true value: items: - poHeaderId: '500123' segment1: example_value typeLookupCode: STANDARD vendorId: '500123' vendorName: example_value vendorSiteId: '500123' currencyCode: example_value authorizationStatus: APPROVED approvedFlag: Y closedCode: OPEN totalAmount: 42.5 creationDate: '2026-01-15T10:30:00Z' approvedDate: '2026-01-15' buyerId: '500123' shipToLocationId: '500123' billToLocationId: '500123' termsId: '500123' description: A sample description. lines: - {} orgId: '500123' lastUpdateDate: '2026-01-15T10:30:00Z' totalCount: 10 hasMore: true '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createPurchaseOrder summary: Create a Purchase Order description: Creates a new purchase order. Uses the PO_HEADERS_INTERFACE, PO_LINES_INTERFACE, and PO_DISTRIBUTIONS_INTERFACE tables, then initiates the Import Standard Purchase Orders concurrent program. tags: - Purchasing security: - tokenAuth: [] - basicAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PurchaseOrderCreate' examples: CreatepurchaseorderRequestExample: summary: Default createPurchaseOrder request x-microcks-default: true value: vendorId: '500123' vendorSiteId: '500123' currencyCode: example_value typeLookupCode: example_value description: A sample description. buyerId: '500123' shipToLocationId: '500123' billToLocationId: '500123' termsId: '500123' lines: - lineNum: 10 itemId: '500123' itemDescription: example_value categoryId: '500123' quantity: 42.5 unitMeasLookupCode: example_value unitPrice: 42.5 needByDate: '2026-01-15' shipToOrganizationId: '500123' responses: '201': description: Purchase order created successfully content: application/json: schema: $ref: '#/components/schemas/PurchaseOrder' examples: Createpurchaseorder201Example: summary: Default createPurchaseOrder 201 response x-microcks-default: true value: poHeaderId: '500123' segment1: example_value typeLookupCode: STANDARD vendorId: '500123' vendorName: example_value vendorSiteId: '500123' currencyCode: example_value authorizationStatus: APPROVED approvedFlag: Y closedCode: OPEN totalAmount: 42.5 creationDate: '2026-01-15T10:30:00Z' approvedDate: '2026-01-15' buyerId: '500123' shipToLocationId: '500123' billToLocationId: '500123' termsId: '500123' description: A sample description. lines: - poLineId: '500123' lineNum: 10 lineType: example_value itemId: '500123' itemDescription: example_value categoryId: '500123' quantity: 42.5 unitMeasLookupCode: example_value unitPrice: 42.5 amount: 42.5 needByDate: '2026-01-15' promisedDate: '2026-01-15' closedCode: example_value shipments: {} orgId: '500123' lastUpdateDate: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /po/purchaseOrders/{poHeaderId}: get: operationId: getPurchaseOrderById summary: Retrieve a Specific Purchase Order description: Retrieves a purchase order by its header identifier. tags: - Purchasing security: - tokenAuth: [] - basicAuth: [] parameters: - name: poHeaderId in: path required: true schema: type: integer example: '500123' responses: '200': description: Purchase order details content: application/json: schema: $ref: '#/components/schemas/PurchaseOrder' examples: Getpurchaseorderbyid200Example: summary: Default getPurchaseOrderById 200 response x-microcks-default: true value: poHeaderId: '500123' segment1: example_value typeLookupCode: STANDARD vendorId: '500123' vendorName: example_value vendorSiteId: '500123' currencyCode: example_value authorizationStatus: APPROVED approvedFlag: Y closedCode: OPEN totalAmount: 42.5 creationDate: '2026-01-15T10:30:00Z' approvedDate: '2026-01-15' buyerId: '500123' shipToLocationId: '500123' billToLocationId: '500123' termsId: '500123' description: A sample description. lines: - poLineId: '500123' lineNum: 10 lineType: example_value itemId: '500123' itemDescription: example_value categoryId: '500123' quantity: 42.5 unitMeasLookupCode: example_value unitPrice: 42.5 amount: 42.5 needByDate: '2026-01-15' promisedDate: '2026-01-15' closedCode: example_value shipments: {} orgId: '500123' lastUpdateDate: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updatePurchaseOrder summary: Update a Purchase Order description: Updates an existing purchase order. Uses the PO_CHANGE_API1_S PL/SQL package for modifications to approved purchase orders. tags: - Purchasing security: - tokenAuth: [] - basicAuth: [] parameters: - name: poHeaderId in: path required: true schema: type: integer example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PurchaseOrderUpdate' examples: UpdatepurchaseorderRequestExample: summary: Default updatePurchaseOrder request x-microcks-default: true value: description: A sample description. lines: - poLineId: '500123' quantity: 42.5 unitPrice: 42.5 needByDate: '2026-01-15' cancelFlag: true responses: '200': description: Purchase order updated successfully content: application/json: schema: $ref: '#/components/schemas/PurchaseOrder' examples: Updatepurchaseorder200Example: summary: Default updatePurchaseOrder 200 response x-microcks-default: true value: poHeaderId: '500123' segment1: example_value typeLookupCode: STANDARD vendorId: '500123' vendorName: example_value vendorSiteId: '500123' currencyCode: example_value authorizationStatus: APPROVED approvedFlag: Y closedCode: OPEN totalAmount: 42.5 creationDate: '2026-01-15T10:30:00Z' approvedDate: '2026-01-15' buyerId: '500123' shipToLocationId: '500123' billToLocationId: '500123' termsId: '500123' description: A sample description. lines: - poLineId: '500123' lineNum: 10 lineType: example_value itemId: '500123' itemDescription: example_value categoryId: '500123' quantity: 42.5 unitMeasLookupCode: example_value unitPrice: 42.5 amount: 42.5 needByDate: '2026-01-15' promisedDate: '2026-01-15' closedCode: example_value shipments: {} orgId: '500123' lastUpdateDate: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /po/requisitions: get: operationId: getRequisitions summary: Retrieve Purchase Requisitions description: Retrieves purchase requisition records. Maps to the PO_REQUISITION_HEADERS_ALL and PO_REQUISITION_LINES_ALL tables. tags: - Purchasing security: - tokenAuth: [] - basicAuth: [] parameters: - name: requisitionHeaderId in: query description: Requisition header identifier schema: type: integer example: '500123' - name: requisitionNumber in: query description: Requisition number schema: type: string example: example_value - name: authorizationStatus in: query description: Authorization status schema: type: string enum: - APPROVED - IN PROCESS - INCOMPLETE - REJECTED - RETURNED example: APPROVED - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: '200': description: List of requisitions content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Requisition' totalCount: type: integer hasMore: type: boolean examples: Getrequisitions200Example: summary: Default getRequisitions 200 response x-microcks-default: true value: items: - requisitionHeaderId: '500123' segment1: example_value typeLookupCode: PURCHASE authorizationStatus: example_value preparerId: '500123' description: A sample description. totalAmount: 42.5 creationDate: '2026-01-15T10:30:00Z' lines: - {} orgId: '500123' totalCount: 10 hasMore: true '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /po/suppliers: get: operationId: getSuppliers summary: Retrieve Suppliers description: Retrieves supplier/vendor records. Maps to the AP_SUPPLIERS and AP_SUPPLIER_SITES_ALL tables through the AP_VENDOR_PUB_PKG API. tags: - Purchasing security: - tokenAuth: [] - basicAuth: [] parameters: - name: vendorId in: query description: Vendor identifier schema: type: integer example: '500123' - name: vendorName in: query description: Vendor name (supports wildcards) schema: type: string example: example_value - name: segment1 in: query description: Vendor number schema: type: string example: example_value - name: vendorType in: query description: Vendor type schema: type: string example: example_value - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: '200': description: List of suppliers content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Supplier' totalCount: type: integer hasMore: type: boolean examples: Getsuppliers200Example: summary: Default getSuppliers 200 response x-microcks-default: true value: items: - vendorId: '500123' vendorName: example_value segment1: example_value vendorType: example_value taxPayerId: '500123' standardIndustryClass: example_value paymentCurrencyCode: example_value paymentMethodCode: example_value termsId: '500123' enabled: true startDateActive: '2026-01-15' endDateActive: '2026-01-15' sites: - {} creationDate: '2026-01-15T10:30:00Z' lastUpdateDate: '2026-01-15T10:30:00Z' totalCount: 10 hasMore: true '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: PurchaseOrderCreate: type: object required: - vendorId - vendorSiteId - currencyCode - lines properties: vendorId: type: integer example: '500123' vendorSiteId: type: integer example: '500123' currencyCode: type: string example: example_value typeLookupCode: type: string default: STANDARD example: example_value description: type: string example: A sample description. buyerId: type: integer example: '500123' shipToLocationId: type: integer example: '500123' billToLocationId: type: integer example: '500123' termsId: type: integer example: '500123' lines: type: array items: type: object required: - itemDescription - quantity - unitPrice properties: lineNum: type: integer itemId: type: integer itemDescription: type: string categoryId: type: integer quantity: type: number format: double unitMeasLookupCode: type: string unitPrice: type: number format: double needByDate: type: string format: date shipToOrganizationId: type: integer example: [] PurchaseOrder: type: object properties: poHeaderId: type: integer description: Purchase order header identifier example: '500123' segment1: type: string description: Purchase order number example: example_value typeLookupCode: type: string description: Purchase order type enum: - STANDARD - BLANKET - CONTRACT - PLANNED example: STANDARD vendorId: type: integer description: Supplier/vendor identifier example: '500123' vendorName: type: string description: Supplier/vendor name example: example_value vendorSiteId: type: integer description: Vendor site identifier example: '500123' currencyCode: type: string description: Currency code (ISO 4217) example: example_value authorizationStatus: type: string description: Authorization status enum: - APPROVED - IN PROCESS - INCOMPLETE - PRE-APPROVED - REJECTED - REQUIRES REAPPROVAL example: APPROVED approvedFlag: type: string description: Approved flag enum: - Y - N example: Y closedCode: type: string description: Close status enum: - OPEN - CLOSED - FINALLY CLOSED - CLOSED FOR RECEIVING - CLOSED FOR INVOICE example: OPEN totalAmount: type: number format: double description: Total purchase order amount example: 42.5 creationDate: type: string format: date-time description: Creation date example: '2026-01-15T10:30:00Z' approvedDate: type: string format: date description: Approval date example: '2026-01-15' buyerId: type: integer description: Buyer employee identifier example: '500123' shipToLocationId: type: integer description: Ship-to location identifier example: '500123' billToLocationId: type: integer description: Bill-to location identifier example: '500123' termsId: type: integer description: Payment terms identifier example: '500123' description: type: string description: Purchase order description example: A sample description. lines: type: array items: $ref: '#/components/schemas/PurchaseOrderLine' example: [] orgId: type: integer description: Operating unit identifier example: '500123' lastUpdateDate: type: string format: date-time example: '2026-01-15T10:30:00Z' ErrorResponse: type: object properties: error: type: object properties: code: type: string message: type: string detail: type: string example: example_value Requisition: type: object properties: requisitionHeaderId: type: integer description: Requisition header identifier example: '500123' segment1: type: string description: Requisition number example: example_value typeLookupCode: type: string description: Requisition type enum: - PURCHASE - INTERNAL example: PURCHASE authorizationStatus: type: string description: Authorization status example: example_value preparerId: type: integer description: Preparer identifier example: '500123' description: type: string description: Requisition description example: A sample description. totalAmount: type: number format: double example: 42.5 creationDate: type: string format: date-time example: '2026-01-15T10:30:00Z' lines: type: array items: $ref: '#/components/schemas/RequisitionLine' example: [] orgId: type: integer example: '500123' Supplier: type: object properties: vendorId: type: integer description: Vendor identifier example: '500123' vendorName: type: string description: Vendor name example: example_value segment1: type: string description: Vendor number example: example_value vendorType: type: string description: Vendor type lookup code example: example_value taxPayerId: type: string description: Tax payer identification number example: '500123' standardIndustryClass: type: string description: Standard industry classification example: example_value paymentCurrencyCode: type: string description: Default payment currency example: example_value paymentMethodCode: type: string description: Default payment method example: example_value termsId: type: integer description: Default payment terms identifier example: '500123' enabled: type: boolean description: Whether the vendor is active example: true startDateActive: type: string format: date example: '2026-01-15' endDateActive: type: string format: date example: '2026-01-15' sites: type: array items: $ref: '#/components/schemas/SupplierSite' example: [] creationDate: type: string format: date-time example: '2026-01-15T10:30:00Z' lastUpdateDate: type: string format: date-time example: '2026-01-15T10:30:00Z' RequisitionLine: type: object properties: requisitionLineId: type: integer example: '500123' lineNum: type: integer example: 10 itemId: type: integer example: '500123' itemDescription: type: string example: example_value categoryId: type: integer example: '500123' quantity: type: number format: double example: 42.5 unitMeasLookupCode: type: string example: example_value unitPrice: type: number format: double example: 42.5 needByDate: type: string format: date example: '2026-01-15' suggestedVendorId: type: integer example: '500123' SupplierSite: type: object properties: vendorSiteId: type: integer description: Vendor site identifier example: '500123' vendorSiteCode: type: string description: Vendor site code example: example_value addressLine1: type: string example: example_value addressLine2: type: string example: example_value city: type: string example: example_value state: type: string example: example_value zip: type: string example: example_value country: type: string example: example_value purchasingSiteFlag: type: string enum: - Y - N example: Y paymentSiteFlag: type: string enum: - Y - N example: Y orgId: type: integer example: '500123' PurchaseOrderShipment: type: object properties: lineLocationId: type: integer description: Line location (shipment) identifier example: '500123' shipmentNum: type: integer description: Shipment number example: 10 quantity: type: number format: double description: Shipment quantity example: 42.5 quantityReceived: type: number format: double description: Quantity received example: 42.5 quantityBilled: type: number format: double description: Quantity billed example: 42.5 needByDate: type: string format: date example: '2026-01-15' promisedDate: type: string format: date example: '2026-01-15' shipToOrganizationId: type: integer description: Ship-to organization identifier example: '500123' shipToLocationId: type: integer description: Ship-to location identifier example: '500123' closedCode: type: string description: Shipment close status example: example_value PurchaseOrderLine: type: object properties: poLineId: type: integer description: Purchase order line identifier example: '500123' lineNum: type: integer description: Line number example: 10 lineType: type: string description: Line type example: example_value itemId: type: integer description: Inventory item identifier example: '500123' itemDescription: type: string description: Item description example: example_value categoryId: type: integer description: Item category identifier example: '500123' quantity: type: number format: double description: Ordered quantity example: 42.5 unitMeasLookupCode: type: string description: Unit of measure example: example_value unitPrice: type: number format: double description: Unit price example: 42.5 amount: type: number format: double description: Line amount example: 42.5 needByDate: type: string format: date description: Need-by date example: '2026-01-15' promisedDate: type: string format: date description: Promised date example: '2026-01-15' closedCode: type: string description: Line close status example: example_value shipments: type: array items: $ref: '#/components/schemas/PurchaseOrderShipment' example: [] PurchaseOrderUpdate: type: object properties: description: type: string example: A sample description. lines: type: array items: type: object properties: poLineId: type: integer quantity: type: number format: double unitPrice: type: number format: double needByDate: type: string format: date cancelFlag: type: boolean example: [] responses: NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication required or token expired content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: Offset: name: offset in: query description: Number of records to skip for pagination schema: type: integer default: 0 Limit: name: limit in: query description: Maximum number of records to return schema: type: integer default: 25 maximum: 500 securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic Authentication with Oracle EBS username and password tokenAuth: type: apiKey in: cookie name: accessToken description: Token-based authentication using the ISG login access token