Scout RFP (Workday Strategic Sourcing) events API
Use the events API to create, update, and query the events in Workday Strategic Sourcing. ## Event Object
Use the events API to create, update, and query the events in Workday Strategic Sourcing. ## Event Object
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/scoutrfp-events-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Workday Strategic Sourcing attachments Events API
version: '1.0'
description: '<span id="section/Authentication/api_key" data-section-id="section/Authentication/api_key"></span>
<span id="section/Authentication/user_token" data-section-id="section/Authentication/user_token"></span>
<span id="section/Authentication/user_email" data-section-id="section/Authentication/user_email"></span>
'
servers:
- url: https://api.us.workdayspend.com/services/attachments/v1
description: Production Server
- url: https://api.sandbox.us.workdayspend.com/services/attachments/v1
description: Sandbox Server
security:
- api_key: []
user_token: []
user_email: []
tags:
- name: events
x-displayName: Events
description: 'Use the events API to create, update, and query the events in Workday Strategic Sourcing.
## Event Object
<SchemaDefinition schemaRef="#/components/schemas/Event" exampleRef="#/components/examples/Event" showReadOnly={true} showWriteOnly={true} />
'
paths:
/events:
get:
tags:
- events
description: Returns a list of events for the specified criteria.
operationId: List Events
summary: List Events
parameters:
- name: filter
in: query
description: 'Filter events by multiple criteria. Only one filter per attribute is supported.
For best performance, we recommend 5 or less filters.
'
schema:
$ref: '#/components/schemas/EventInputFilter'
- name: page
in: query
description: 'Customize pagination results with `size`.
'
schema:
$ref: '#/components/schemas/PageInput'
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
allOf:
- type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Event'
- $ref: '#/components/schemas/Pagination'
examples:
success:
$ref: '#/components/examples/index_response-2'
'401':
description: Unauthorized
x-codeSamples:
- label: Curl
source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n -H \"X-User-Token: ${USER_TOKEN}\" \\\n -H \"X-User-Email: ${USER_EMAIL}\" \\\n -H \"Content-Type: application/vnd.api+json\" \\\n \"https://api.us.workdayspend.com/services/events/v1/events\"\n"
post:
tags:
- events
operationId: Create an Event
summary: Create an Event
description: 'Events can only be created from a template. When a creation request is issued, the base event
object will be created from the template and returned with the response. Child records
such as attachments, price sheets and custom values, will be scheduled for copy asynchronously.
Current duplication status can be retrieved from the `duplication_state` attribute, which will have
one of following values:
* `scheduled` - duplication is scheduled, but not yet started;
* `started` - duplication started, but not yet finished;
* `finished` - duplication completed;
* `failed` - there was an error duplicating relationships.
An event should always have an associated project. Please make sure to specify it as a
relationship object.
A new event will automatically inherit its spend category from the event template.
Please note, this endpoint does not support auction creation/duplication.
'
requestBody:
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/EventCreate'
examples:
success:
$ref: '#/components/examples/create_request'
responses:
'201':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Event'
examples:
success:
$ref: '#/components/examples/create_response'
'401':
description: Unauthorized
'422':
description: Unprocessable Entity
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/Errors'
examples:
validation_errors:
summary: The endpoint responds with errors JSON
description: 'The response from trigger could not be parsed
'
$ref: '#/components/examples/create_422_response'
x-codeSamples:
- label: Curl
source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n -H \"X-User-Token: ${USER_TOKEN}\" \\\n -H \"X-User-Email: ${USER_EMAIL}\" \\\n -H \"Content-Type: application/vnd.api+json\" \\\n -X POST \\\n -d '{\"data\":{\"type\":\"events\",\"attributes\":{\"duplicate_bids\":true},\"relationships\":{\"event_template\":{\"data\":{\"id\":\"1\",\"type\":\"event_templates\"}}}}}' \\\n \"https://api.us.workdayspend.com/services/events/v1/events\"\n"
/events/{id}:
get:
tags:
- events
description: 'Retrieves the details of an existing event. You need to supply the unique event
identifier that was returned upon event creation.
'
operationId: Get an Event
summary: Get an Event
parameters:
- name: id
in: path
description: Unique Event identifier.
required: true
schema:
type: integer
example: 1
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Event'
examples:
success:
$ref: '#/components/examples/show_response-2'
'401':
description: Unauthorized
'404':
description: Not Found
x-codeSamples:
- label: Curl
source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n -H \"X-User-Token: ${USER_TOKEN}\" \\\n -H \"X-User-Email: ${USER_EMAIL}\" \\\n -H \"Content-Type: application/vnd.api+json\" \\\n \"https://api.us.workdayspend.com/services/events/v1/events/1\"\n"
patch:
tags:
- events
description: 'Updates the details of an existing event. You need to supply the unique
identifier that was returned upon event creation.
Please note, that request body must include an `id` attribute with the value of your event
unique identifier (the same one you passed in the URL).
'
operationId: Update an Event
summary: Update an Event
parameters:
- name: id
in: path
description: Unique Event identifier.
required: true
schema:
type: integer
example: 1
requestBody:
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/EventUpdate'
examples:
success:
$ref: '#/components/examples/update_request'
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Event'
examples:
success:
$ref: '#/components/examples/update_response'
'401':
description: Unauthorized
'404':
description: Not Found
'409':
description: Conflict
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/Errors'
examples:
invalid_type:
summary: Missing or invalid 'type' specified, expected 'events'
description: 'Returns error due to invalid `type` parameter.
'
value:
errors:
- detail: Missing or invalid 'type' specified, expected 'events'
x-codeSamples:
- label: Curl
source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n -H \"X-User-Token: ${USER_TOKEN}\" \\\n -H \"X-User-Email: ${USER_EMAIL}\" \\\n -H \"Content-Type: application/vnd.api+json\" \\\n -X PATCH \\\n -d '{\"data\":{\"type\":\"events\",\"id\":\"2\",\"attributes\":{\"title\":\"Event title updated\"}}}' \\\n \"https://api.us.workdayspend.com/services/events/v1/events/2\"\n"
delete:
tags:
- events
description: 'Deletes an event. You need to supply the unique event
identifier that was returned upon event creation.
'
operationId: Delete an Event
summary: Delete an Event
parameters:
- name: id
in: path
description: Unique Event identifier.
required: true
schema:
type: integer
example: 1
responses:
'204':
description: OK
'401':
description: Unauthorized
'404':
description: Not Found
x-codeSamples:
- label: Curl
source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n -H \"X-User-Token: ${USER_TOKEN}\" \\\n -H \"X-User-Email: ${USER_EMAIL}\" \\\n -H \"Content-Type: application/vnd.api+json\" \\\n -X DELETE \\\n \"https://api.us.workdayspend.com/services/events/v1/events/1\"\n"
/events/describe:
get:
tags:
- events
description: Returns the list of fields for the event object.
operationId: Describe Event Object
summary: Describe Event Object
responses:
'200':
description: OK
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/EventFieldModel'
examples:
success:
$ref: '#/components/examples/describe_response'
'401':
description: Unauthorized
x-codeSamples:
- label: Curl
source: "curl -H \"X-Api-Key: ${COMPANY_KEY}\" \\\n -H \"X-User-Token: ${USER_TOKEN}\" \\\n -H \"X-User-Email: ${USER_EMAIL}\" \\\n -H \"Content-Type: application/vnd.api+json\" \\\n \"https://api.us.workdayspend.com/services/events/v1/events/describe\"\n"
components:
schemas:
Error:
type: object
properties:
detail:
type: string
description: A human-readable explanation specific to this occurrence of the problem.
PageInput:
type: object
properties:
size:
type: number
format: integer
description: The number of results returned per page. Default is `10` and max is `100`.
example: '25'
Errors:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
CustomFieldDecimal:
title: Decimal
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
format: decimal
description: A decimal value represented as a number with floating point.
SpendCategoryBase:
title: SpendCategory
type: object
required:
- name
- id
properties:
type:
$ref: '#/components/schemas/SpendCategoryType'
id:
$ref: '#/components/schemas/SpendCategoryId'
EventFieldModel:
allOf:
- type: object
properties:
type:
type: string
description: Object type, should always be `event_fields`.
example: event_fields
- $ref: '#/components/schemas/DescribeFieldModel'
AttachmentId:
type: integer
description: Attachment identifier string.
example: 1
DescribeFieldModel:
allOf:
- $ref: '#/components/schemas/DescribeFieldBase'
- type: object
properties:
attributes:
$ref: '#/components/schemas/DescribeFieldAttributes'
EventBase:
title: Event
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/EventType'
id:
$ref: '#/components/schemas/EventId'
DescribeFieldId:
type: string
description: Field identifier string.
example: field_name
EventUpdate:
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/EventType'
id:
$ref: '#/components/schemas/EventId'
attributes:
$ref: '#/components/schemas/EventAttributes'
EventInputFilter:
type: object
properties:
updated_at_from:
type: string
format: date-time
description: Return events updated on or after the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
updated_at_to:
type: string
format: date-time
description: Return events updated on or before the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
title_contains:
type: string
description: Return events with title containing the specified string.
title_not_contains:
type: string
description: Return events with title not containing the specified string.
spend_category_id_equals:
type: array
items:
type: integer
description: Find events using the specified Spend Category IDs
example:
- 1
- 2
state_equals:
type: array
items:
$ref: '#/components/schemas/EventStateEnum'
description: Find events with specified states.
example:
- draft
- scheduled
event_type_equals:
type: array
items:
$ref: '#/components/schemas/EventTypeEnum'
description: Find events with specified types.
example:
- RFP
- AUCTION
request_type_equals:
type: array
items:
type: string
description: Event request type.
example: RFQ
description: Find events with specified request types.
example:
- Rfp
- RFQ
supplier_rsvp_deadline_from:
type: string
format: date
description: Return events with supplier RSVP deadline on or after the specified date.
supplier_rsvp_deadline_to:
type: string
format: date
description: Return events with supplier RSVP deadline on or before the specified date.
supplier_rsvp_deadline_empty:
type: boolean
description: Return events with supplier RSVP deadline not set.
example: true
supplier_rsvp_deadline_not_empty:
type: boolean
description: Return events with supplier RSVP deadline set to a non-empty value.
example: false
supplier_question_deadline_from:
type: string
format: date
description: Return events with supplier questions deadline on or after the specified date.
supplier_question_deadline_to:
type: string
format: date
description: Return events with supplier questions deadline on or before the specified date.
supplier_question_deadline_empty:
type: boolean
description: Return events with supplier questions deadline not set.
example: true
supplier_question_deadline_not_empty:
type: boolean
description: Return events with supplier questions deadline set to a non-empty value.
example: false
bid_submission_deadline_from:
type: string
format: date
description: Return events with bid submission deadline on or after the specified date.
bid_submission_deadline_to:
type: string
format: date
description: Return events with bid submission deadline on or before the specified date.
bid_submission_deadline_empty:
type: boolean
description: Return events with bid submission deadline not set.
example: true
bid_submission_deadline_not_empty:
type: boolean
description: Return events with bid submission deadline set to a non-empty value.
example: false
created_at_from:
type: string
format: date
description: Return events created on or after the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
created_at_to:
type: string
format: date
description: Return events created on or before the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
published_at_from:
type: string
format: date
description: Return events published on or after the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
published_at_to:
type: string
format: date
description: Return events published on or before the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
published_at_empty:
type: boolean
description: Return events without published timestamp.
example: true
published_at_not_empty:
type: boolean
description: Return events with published timestamp.
example: false
closed_at_from:
type: string
format: date
description: Return events closed on or after the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
closed_at_to:
type: string
format: date
description: Return events closed on or before the specified timestamp.
example: '2019-10-29T21:28:46.790Z'
closed_at_empty:
type: boolean
description: Return events without closed timestamp.
example: true
closed_at_not_empty:
type: boolean
description: Return events with closed timestamp.
example: false
spend_amount_from:
type: number
format: double
description: Return events with spend amount equal or greater than the specified amount.
spend_amount_to:
type: number
format: double
description: Return events with spend amount equal or less than the specified amount.
spend_amount_empty:
type: boolean
description: Return events with spend amount not set.
example: true
spend_amount_not_empty:
type: boolean
description: Return events with spend amount set to a non-empty value.
example: false
external_id_empty:
type: boolean
description: Return contracts with `external_id` blank.
example: true
external_id_not_empty:
type: boolean
description: Return contracts with non-blank `external_id`.
example: false
external_id_equals:
type: string
description: Find contracts by a specific external ID.
example: SUP-123
external_id_not_equals:
type: string
description: Find contracts excluding the one with the specified external ID.
example: SUP-123
DescribeFieldAttributes:
type: object
description: Describe field attributes.
properties:
name:
type: string
maxLength: 255
description: Describe field name.
example: field_name
data_type:
$ref: '#/components/schemas/OpenApiEnum'
type_description:
$ref: '#/components/schemas/CustomFieldEnum'
custom_field:
type: boolean
description: Flag for determining if this is a user created custom field or an internal system field.
example: false
CustomFieldBase:
type: object
properties:
name:
type: string
description: Custom field name.
example: My Custom Field
CustomFieldRelated:
title: Related
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
description: A value related to the lookup custom field value, retrieved from the same data source object.
CustomFieldCurrency:
title: Currency
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
format: integer
description: A currency value represented as an integer. The maximum value is 9,007,199,254,740,991.
CustomFieldSingleSelect:
title: Single Select
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
description: A single value from a predefined list of possible options.
SpendCategoryId:
type: integer
description: Spend category identifier string.
example: 1
PrevPageLink:
type: object
properties:
prev:
type:
- string
- 'null'
format: url
description: Link to the previous results page.
deprecated: true
CustomFieldInteger:
title: Integer
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: integer
description: An integer value. The maximum value is 9,007,199,254,740,991.
EventDuplicationStateEnum:
type: string
enum:
- scheduled
- started
- finished
- failed
description: "Event duplication state:\n * `scheduled` - duplication is scheduled, but not yet started;\n * `started` - duplication started, but not yet finished;\n * `finished` - duplication completed;\n * `failed` - there was an error duplicating relationships.\n"
example: finished
readOnly: true
EventTemplateType:
type: string
description: Object type, should always be `event_templates`.
example: event_templates
CustomField:
oneOf:
- $ref: '#/components/schemas/CustomFieldCheckbox'
- $ref: '#/components/schemas/CustomFieldShortText'
- $ref: '#/components/schemas/CustomFieldParagraph'
- $ref: '#/components/schemas/CustomFieldDate'
- $ref: '#/components/schemas/CustomFieldInteger'
- $ref: '#/components/schemas/CustomFieldCurrency'
- $ref: '#/components/schemas/CustomFieldDecimal'
- $ref: '#/components/schemas/CustomFieldSingleSelect'
- $ref: '#/components/schemas/CustomFieldMultipleSelect'
- $ref: '#/components/schemas/CustomFieldURL'
- $ref: '#/components/schemas/CustomFieldLookup'
- $ref: '#/components/schemas/CustomFieldRelated'
ResourceLinks:
type: object
description: List of related links.
allOf:
- $ref: '#/components/schemas/SelfLink'
CustomFieldURL:
title: URL
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
format: url
description: URL string.
OpenApiEnum:
type: string
enum:
- string
- number
- integer
- boolean
- array
- object
description: OpenAPI data type.
example: string
EventRelationship:
type: object
description: Event relationships.
properties:
attachments:
type: array
description: A list of attachments attached to this event.
items:
$ref: '#/components/schemas/AttachmentBase'
project:
type: object
description: Project associated with this event.
properties:
data:
$ref: '#/components/schemas/ProjectBase'
spend_category:
type: object
description: Spend category associated with this event.
properties:
data:
$ref: '#/components/schemas/SpendCategoryBase'
event_template:
type: object
description: An event template used to create this event.
properties:
data:
$ref: '#/components/schemas/EventTemplateBase'
commodity_codes:
type: array
description: A list of commodity codes added to this event.
items:
$ref: '#/components/schemas/CommodityCodeBase'
SpendCategoryType:
type: string
description: Object type, should always be `spend_categories`.
example: spend_categories
Pagination:
type: object
properties:
meta:
type: object
description: Result set metadata.
properties:
count:
type: integer
description: Number of pages in the result set.
links:
$ref: '#/components/schemas/PaginationLinks'
AttachmentType:
type: string
description: Object type, should always be `attachments`.
example: attachments
CommodityCodeType:
type: string
description: Object type, should always be `commodity_codes`.
example: commodity_codes
ProjectBase:
title: Project
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/ProjectType'
id:
$ref: '#/components/schemas/ProjectId'
EventType:
type: string
description: Object type, should always be `events`.
example: events
DescribeFieldBase:
title: DescribeFieldModel
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/DescribeFieldType'
id:
$ref: '#/components/schemas/DescribeFieldId'
CustomFieldParagraph:
title: Paragraph
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
description: A longer text paragraph.
EventId:
type: integer
description: Event identifier string.
example: 1
CustomFieldCheckbox:
title: Checkbox
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: boolean
example: true
ProjectType:
type: string
description: Object type, should always be `projects`.
example: projects
CustomFieldDate:
title: Date
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
format: date
description: A date value.
EventTemplateId:
type: integer
description: Event template identifier string.
example: 1
CustomFieldEnum:
type: string
enum:
- Checkbox
- File
- Short Text
- Paragraph
- Date
- Integer
- Currency
- Decimal
- Single Select
- Multiple Select
- URL
- Lookup
- Related
description: Internal name and meaning of each field.
example: Short Text
NextPageLink:
type: object
properties:
next:
type:
- string
- 'null'
format: url
description: Link to the next results page.
CustomFieldLookup:
title: Lookup
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
description: A value from a customer-provided lookup data source.
ProjectId:
type: integer
description: Project identifier string.
example: 1
EventTemplateBase:
title: EventTemplate
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/EventTemplateType'
id:
$ref: '#/components/schemas/EventTemplateId'
SelfLink:
type: object
properties:
self:
type: string
format: url
description: Normalized link to the resource.
PaginationLinks:
type: object
description: List of related links.
allOf:
- $ref: '#/components/schemas/SelfLink'
- $ref: '#/components/schemas/NextPageLink'
- $ref: '#/components/schemas/PrevPageLink'
CustomFieldMultipleSelect:
title: Multiple Select
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: array
description: A list of values from a predefined list of possible options.
items:
type: string
CustomFieldShortText:
title: Short Text
allOf:
- $ref: '#/components/schemas/CustomFieldBase'
- type: object
properties:
value:
type: string
description: A short text (usually under 255 characters).
CommodityCodeId:
type: integer
description: Commodity code identifier string.
example: 1
AttachmentBase:
title: Attachment
type: object
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/AttachmentType'
id:
$ref: '#/components/schemas/AttachmentId'
EventAttributes:
type: object
description: Event attributes.
required:
- title
properties:
title:
type: string
description: An event title.
example: New Event
event_type:
$ref: '#/components/schemas/EventTypeEnum'
state:
$ref: '#/components/schemas/EventStateEnum'
duplication_state:
$ref: '#/components/schemas/EventDuplicationStateEnum'
spend_amount:
type: number
format: double
description: Actual spend amount used to calculate savings and keep reporting up to date.
example: 12113
request_type:
type: string
description: Request type.
example: RFP
readOnly: true
late_bids:
type: boolean
description: Identifies whether late bid submissions are allowed.
example: true
revise_bids:
type: boolean
description: Identifies whether suppliers are allowed to re-submit bids.
example: false
instant_notifications:
type: boolean
description: 'When set to true, notification emails will be sent immediately;
when false - notifications will be deliverd once every 3 hours in a digest form.
'
supplier_rsvp_deadline:
type: string
format: date-time
readOnly: true
description: RSVPs will no longer be accepted after this point in time.
example: '2019-09-11T09:12:31.000Z'
supplier_question_deadline:
type: string
format: date-time
readOnly: true
description: Questions from suppliers will no longer be accepted after this point in time.
example: '2019-09-12T05:12:31.000Z'
bid_submission_deadline:
type: string
format: date-time
readOnly: true
description: Identifies the last point in time when suppliers are allowed to make bids.
example: '2019-09-13T
# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/scoutrfp/refs/heads/main/openapi/scoutrfp-events-api-openapi.yml