JAGGAER Contacts API

Event contact management

OpenAPI Specification

jaggaer-contacts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: JAGGAER ASO Customer Host Entity Service Async Contacts 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: Contacts
  description: Event contact management
paths:
  /event/{event-id}/apiContact/{contact-id}:
    get:
      operationId: getContact
      summary: Contact
      description: Retrieves a specific contact for the given sourcing event.
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/contactId'
      responses:
        '200':
          description: Success; returns contact details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteContact
      summary: Delete Contact
      description: Deletes a specific contact from the given sourcing event.
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/contactId'
      responses:
        '204':
          description: Success; contact deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event/{event-id}/user/{user-id}/apiContact/{contact-id}:
    patch:
      operationId: updateContactByUser
      summary: Contact by User
      description: 'Updates a specific contact for the given sourcing event scoped to the specified user.

        '
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/userId'
      - $ref: '#/components/parameters/contactId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactUpdateRequest'
      responses:
        '200':
          description: Success; contact updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event/{event-id}/user/{user-id}/apiContacts:
    patch:
      operationId: updateContactsByUser
      summary: Contacts by User (Bulk Update)
      description: 'Bulk updates contacts for the given event scoped to the specified user.

        '
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactBulkUpdateRequest'
      responses:
        '200':
          description: Success; contacts updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
  /event/{event-id}/supplier/{supplier-id}/apiContacts:
    get:
      operationId: getContactsBySupplier
      summary: Contacts by Supplier
      description: 'Retrieves all contacts associated with the specified supplier for the given sourcing event.

        '
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/supplierId'
      responses:
        '200':
          description: Success; returns contacts for the supplier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event/{event-id}/user/{user-id}/supplier/{supplier-id}/apiContacts:
    post:
      operationId: createContactByUserAndSupplier
      summary: Contacts by User and Supplier
      description: 'Creates contacts for the given event scoped to the specified user and supplier.

        '
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: '#/components/parameters/userId'
      - $ref: '#/components/parameters/supplierId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactCreateRequest'
      responses:
        '200':
          description: Success; contact(s) created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  responses:
    UnprocessableEntity:
      description: 'The request was syntactically valid but could not be processed due to validation errors.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    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.
  schemas:
    ContactBulkUpdateRequest:
      type: object
      description: Request body for bulk updating event contacts.
      properties:
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/ContactUpdateRequest'
    ContactUpdateRequest:
      type: object
      description: Request body for updating an event contact.
      properties:
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
          format: email
    ContactCreateRequest:
      type: object
      description: Request body for creating an event contact.
      properties:
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
          format: email
    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
    ContactResponse:
      type: object
      description: Event contact details.
      properties:
        contactId:
          type: integer
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
          format: email
        supplierId:
          type: integer
    ContactListResponse:
      type: object
      description: List of event contacts.
      properties:
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/ContactResponse'
  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
    contactId:
      name: contact-id
      in: path
      required: true
      description: Identifier for the contact.
      schema:
        type: integer
    supplierId:
      name: supplier-id
      in: path
      required: true
      description: Identifier for the supplier.
      schema:
        type: integer
  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.