openapi: 3.0.3 info: title: JAGGAER ASO Customer Host Entity Service Async Attributes 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: Attributes description: Event attribute management paths: /event/{event-id}/apiAttribute/{attribute-id}: get: operationId: getAttribute summary: Attribute description: Retrieves a specific attribute for the given sourcing event. tags: - Attributes parameters: - $ref: '#/components/parameters/eventId' - $ref: '#/components/parameters/attributeId' responses: '200': description: Success; returns the attribute details. content: application/json: schema: $ref: '#/components/schemas/AttributeResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: operationId: updateAttribute summary: Update Attribute description: Updates a specific attribute for the given sourcing event. tags: - Attributes parameters: - $ref: '#/components/parameters/eventId' - $ref: '#/components/parameters/attributeId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AttributeUpdateRequest' responses: '200': description: Success; attribute updated. content: application/json: schema: $ref: '#/components/schemas/AttributeResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' delete: operationId: deleteAttribute summary: Delete Attribute description: Deletes a specific attribute from the given sourcing event. tags: - Attributes parameters: - $ref: '#/components/parameters/eventId' - $ref: '#/components/parameters/attributeId' responses: '204': description: Success; attribute deleted. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /event/{event-id}/apiAttributes: get: operationId: getAttributes summary: Attributes description: Retrieves all attributes for the given sourcing event. tags: - Attributes parameters: - $ref: '#/components/parameters/eventId' responses: '200': description: Success; returns a list of attributes. content: application/json: schema: $ref: '#/components/schemas/AttributeListResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: operationId: createAttribute summary: Create Attribute description: Creates a new attribute for the given sourcing event. tags: - Attributes parameters: - $ref: '#/components/parameters/eventId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AttributeCreateRequest' responses: '200': description: Success; attribute created. content: application/json: schema: $ref: '#/components/schemas/AttributeResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' patch: operationId: updateAttributes summary: Update Attributes (Bulk) description: Bulk updates multiple attributes for the given sourcing event. tags: - Attributes parameters: - $ref: '#/components/parameters/eventId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AttributeBulkUpdateRequest' responses: '200': description: Success; attributes updated. content: application/json: schema: $ref: '#/components/schemas/AttributeListResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' /event/{event-id}/attributeType/{attribute-type}/apiAttributes: get: operationId: getAttributesByType summary: Attributes by Type description: 'Retrieves all attributes of the specified type for the given sourcing event. ' tags: - Attributes parameters: - $ref: '#/components/parameters/eventId' - name: attribute-type in: path required: true description: The attribute type filter. schema: type: string responses: '200': description: Success; returns attributes filtered by type. content: application/json: schema: $ref: '#/components/schemas/AttributeListResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: AttributeCreateRequest: type: object description: Request body for creating an event attribute. required: - attributeName - attributeType properties: attributeName: type: string attributeType: type: string value: type: string 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 AttributeBulkUpdateRequest: type: object description: Request body for bulk updating event attributes. properties: attributes: type: array items: $ref: '#/components/schemas/AttributeUpdateRequest' AttributeResponse: type: object description: Sourcing event attribute details. properties: attributeId: type: integer description: Unique identifier for the attribute. attributeName: type: string description: Name of the attribute. attributeType: type: string description: Type classification of the attribute. value: type: string description: Current value of the attribute. AttributeUpdateRequest: type: object description: Request body for updating an event attribute. properties: value: type: string AttributeListResponse: type: object description: List of sourcing event attributes. properties: attributes: type: array items: $ref: '#/components/schemas/AttributeResponse' parameters: attributeId: name: attribute-id in: path required: true description: Identifier for the event attribute. schema: type: integer eventId: name: event-id in: path required: true description: Identifier for the sourcing event. 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.