JAGGAER Suppliers API

Event supplier management

OpenAPI Specification

jaggaer-suppliers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: JAGGAER ASO Customer Host Entity Service Async Suppliers API
  description: 'The Customer Host Entity Service (CHES) API provides system-to-system REST endpoints for managing customer hosts, users, events, and templates within the JAGGAER Advanced Sourcing Optimizer (ASO) platform. It enables creation and retrieval of sourcing events, template management, user administration, and location-based rate structure queries using OAuth 2.0 bearer tokens combined with API key authentication.

    '
  version: v26.0.0.4
  contact:
    name: JAGGAER Support
    url: https://www.jaggaer.com/support
  x-api-id: jaggaer-aso-ches
servers:
- url: https://ches.aso-api.jaggaer.com
  description: JAGGAER ASO CHES Production Server
security:
- bearerAuth: []
  apiKeyHeader: []
tags:
- name: Suppliers
  description: Event supplier management
paths:
  /event/{event-id}/apiSupplier/{supplier-id}:
    get:
      operationId: getSupplier
      summary: Supplier
      description: Retrieves a specific supplier for the given sourcing event.
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/supplierId'
      responses:
        '200':
          description: Success; returns supplier details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteSupplier
      summary: Delete Supplier
      description: Removes a specific supplier from the given sourcing event.
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/supplierId'
      responses:
        '204':
          description: Success; supplier removed from event.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event/{event-id}/user/{user-id}/apiSupplier/{supplier-id}:
    patch:
      operationId: updateSupplierByUser
      summary: Supplier by User
      description: 'Updates a specific supplier for the given event scoped to the specified user.

        '
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/userId'
      - $ref: '#/components/parameters/supplierId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierUpdateRequest'
      responses:
        '200':
          description: Success; supplier updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event/{event-id}/apiSuppliers:
    get:
      operationId: getSuppliers
      summary: Suppliers
      description: Retrieves all suppliers for the given sourcing event.
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/eventId'
      responses:
        '200':
          description: Success; returns list of suppliers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event/{event-id}/user/{user-id}/apiSuppliers:
    post:
      operationId: createSuppliersByUser
      summary: Create Suppliers by User
      description: 'Adds suppliers to the given event scoped to the specified user.

        '
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierCreateRequest'
      responses:
        '200':
          description: Success; supplier(s) added to event.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
    patch:
      operationId: updateSuppliersByUser
      summary: Update Suppliers by User (Bulk)
      description: 'Bulk updates suppliers for the given event scoped to the specified user.

        '
      tags:
      - Suppliers
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierBulkUpdateRequest'
      responses:
        '200':
          description: Success; suppliers updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  schemas:
    SupplierBulkUpdateRequest:
      type: object
      description: Request body for bulk updating suppliers.
      properties:
        suppliers:
          type: array
          items:
            $ref: '#/components/schemas/SupplierUpdateRequest'
    ErrorResponse:
      type: object
      description: Error response with validation details.
      properties:
        statuses:
          type: object
          description: Map of status codes to arrays of status detail objects.
          additionalProperties:
            type: array
            items:
              type: object
              additionalProperties:
                type: string
    SupplierListResponse:
      type: object
      description: List of event suppliers.
      properties:
        suppliers:
          type: array
          items:
            $ref: '#/components/schemas/SupplierResponse'
    SupplierCreateRequest:
      type: object
      description: Request body for adding suppliers to an event.
      properties:
        suppliers:
          type: array
          items:
            type: object
            properties:
              supplierId:
                type: integer
    SupplierUpdateRequest:
      type: object
      description: Request body for updating a supplier.
      properties:
        status:
          type: string
    SupplierResponse:
      type: object
      description: Sourcing event supplier details.
      properties:
        supplierId:
          type: integer
          description: Unique identifier for the supplier.
        supplierName:
          type: string
          description: Name of the supplier.
        status:
          type: string
          description: Participation status of the supplier in the event.
  parameters:
    eventId:
      name: event-id
      in: path
      required: true
      description: Identifier for the sourcing event.
      schema:
        type: integer
    userId:
      name: user-id
      in: path
      required: true
      description: Identifier for the user.
      schema:
        type: integer
    supplierId:
      name: supplier-id
      in: path
      required: true
      description: Identifier for the supplier.
      schema:
        type: integer
  responses:
    Unauthorized:
      description: 'Authentication failed. Ensure a valid OAuth 2.0 bearer token and API key are provided.

        '
    NotFound:
      description: The requested resource was not found.
    UnprocessableEntity:
      description: 'The request was syntactically valid but could not be processed due to validation errors.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token for authentication.
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key passed as a request header.