Skip to content

Updating Sourcing Event Examples

The following JSON examples may be used with the jobs endpoints as described in Usage. The examples are specific to the update sourcing event API endpoint (/jobs/update-sourcing-events). Further details on supported payload fields can be found in the OpenAPI Specification.

Info

Attributes excluded from the request payload will not be mutated on the Sourcing Event.

Updating an existing Sourcing Event

In this example, the sourcing_event ID corresponds with an event that exists in Keelvar. With this request, we will update the name and settings.is_test and we will also set some tags and define a user role.

Basic Example

Existing Sourcing Event

For this example, we will be using an existing sourcing event (00000000-0000-0000-0000-000000000000) that has been created with the following specification:

{
  "sourcing_event": "00000000-0000-0000-0000-000000000000",
  "name": "My sourcing event",
  "event_type": "AUCTION",
  "roles": [],
  "tags": [],
  "settings": { "is_test": false }
}

Update payload
{
  "sourcing_event": "00000000-0000-0000-0000-000000000000",
  "name": "My sourcing event (test)",
  "roles": [
    { "email": "editor@example.buyer.com", "role_type": "VIEWER" }
  ],
  "tags": [
    { "name": "Category", "value": "Logistics" },
    { "name": "Project", "value": "PROJECT_ABC" }
  ],
  "settings": {
    "is_test": true
  }
}

Follow-up example

Building on our previous example, we will update the user's role type, modify a tag, and change the test status.

Follow-up Example

Existing Sourcing Event

For this example, we will be using our existing sourcing event (00000000-0000-0000-0000-000000000000) with the modification from our last request in the previous example:

{
  "sourcing_event": "00000000-0000-0000-0000-000000000000",
  "name": "My sourcing event (test)",
  "event_type": "AUCTION",
  "roles": [
    { "email": "editor@example.buyer.com", "role_type": "VIEWER" }
  ],
  "tags": [
    { "name": "Category", "value": "Logistics" },
    { "name": "Project", "value": "PROJECT_ABC" }
  ],
  "settings": {
    "is_test": true
  }
}

Update payload
{
  "sourcing_event": "00000000-0000-0000-0000-000000000000",
  "name": "My sourcing event (live)",
  "roles": [
    { "email": "editor@example.buyer.com", "role_type": "EDITOR" }
  ],
  "tags": [
    { "name": "Project", "value": "PROJECT_123" }
  ],
  "settings": {
    "is_test": false
  }
}

Updating tags

Tags consist of a list of regular tags (as strings) and organization tags (as a dictionary).

Use Cases:

Add a New Organization Tag

If a tag with the same name already exists, it will be updated. Otherwise, a new tag will be created.

Note: The organization tag must be created before creating the auction. This can be done using the "Tags" tab under the "Account Settings" page, where it must be set up before it can be used.

Example:

"tags": [{ "name": "My Another organization tag", "value": "New" }]

Add Two New Regular Tags

It is allowed to only update regular tags. To do so, provide a list of strings, which will be converted into tags.

Example:

"tags": ["My New Regular Tag", "Another Regular Tag"]

Replace an Existing Regular Tag and Update an Organization Tag

To replace a regular tag and update an organization tag simultaneously, use the following format:

Example:

"tags": ["My Updated Regular Tag", { "name": "My organization tag", "value": "Updated value" }]

Remove an Organization Tag

Organization tags can be removed by sending a blank string as the value.

Example:

"tags": [{ "name": "My organization tag", "value": "" }]

Extending the bidding deadline for the current round

The current round bidding close deadline can be updated as below.

{
  "sourcing_event": "00000000-0000-0000-0000-000000000000",
  "current_round": {
    "ends": "2050-01-01T10:00:00+00:00"
  }
}

Note that the bidding close updates for the current round, the sourcing event must be open when changing the bidding end time.