Event Hub

More information: https://it.byu.edu
Contact Info: api@byu.edu

Base URL: /domains/eventhub

Version: v1

Default request content-types: application/json
Default response content-types: application/json
Schemes: https

Summary

Path Operation Description
/archives GET

Retrieve Events from the Event Archive. Most events are available for 45 days.

OPTIONS

What can this endpoint do?

/domains GET

Lists the set of Domains visible on the Administrative Portal.

OPTIONS

What can this endpoint do?

POST

Defines a new Domain. We are using Internet accepted domains. Event Types are grouped in Domains and then Entities. This makes the new Domain visible on the Administrative Portal. The Administrative Portal is used by developers to manage their subscriptions.

/domains/{domain} DELETE

Delete a Domain

OPTIONS

What can this endpoint do?

/entities GET

Lists the set of entities visible on the Administrative Portal.

OPTIONS

What can this endpoint do?

POST

Defines a new Entity.

/entities/{domain}/{entity} DELETE

Delete a entity

OPTIONS

What can this endpoint do?

/event-types GET

Lists the set of event-types visible on the Administrative Portal.

OPTIONS

What can this endpoint do?

POST

Defines a new event type.

/event-types/{domain}/{entity}/{event_type} DELETE

Delete an event type

OPTIONS

What can this endpoint do?

PUT

Modify an event type

/events GET

Retrieve a collection of events

OPTIONS

What can this endpoint do?

POST

Create a new event

/events/{eventID} DELETE

Acknowledge an event

OPTIONS

What can this endpoint do?

PUT

Acknowledge an event

/subscriptions GET

Lists the set of subscriptions visible on the Administrative Portal.

OPTIONS

What can this endpoint do?

POST

Defines a new subscription.

/subscriptions/{domain}/{entity}/{event_type} DELETE

Delete a subscription

OPTIONS

What can this endpoint do?

/summaries GET

Lists the set of summaries visible on the Administrative Portal.

OPTIONS

What can this endpoint do?

/webhooks DELETE

Delete a webhook

GET

Retrieve a collection of webhooks

OPTIONS

What can this endpoint do?

POST

Register webhook

PUT

Modify a webhook

Paths

Retrieve Events from the Event Archive. Most events are available for 45 days.

GET /archives

Tags: archives
domain

Limits the list where the domain attribute matches the string expression. The string may include wild characters (''). Since domains contain an embedded dot ("."), the period must be explicitly expressed in the search string. For example, 'edu.byu' will limit the search to a specific domain, 'edu.' will limit the search to all 'edu' domains, and '.byu' will limit the search to any domain that starts with 'byu' in the first part of the domain.

query string
entity

Limits the list where the entity attribute matches the string expression. The string may include wild characters ('*').

query string
event_dt

Defines a date-time range for the search. The expected parameter should be of the format '(start_dt, end_dt)'. The dates should be standard ISO format expressed in zulu time. Maximum time span is one day.

query string
event_type query string
page_start

Specifies how far to skip into a large set

query integer 1
page_size

Specifies how many items to return from a large set

query integer 50

Uses default content-types: application/json

200 OK

Events Retrieved

204 No Content

No results found with search criteria

400 Bad Request

Unknown parameter in search criteria

What can this endpoint do?

OPTIONS /archives

Tags: archives

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Lists the set of Domains visible on the Administrative Portal.

GET /domains

Tags: domains

Uses default content-types: application/json

200 OK

Domains Retrieved

204 No Content

No results found

What can this endpoint do?

OPTIONS /domains

Tags: domains

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Defines a new Domain. We are using Internet accepted domains. Event Types are grouped in Domains and then Entities. This makes the new Domain visible on the Administrative Portal. The Administrative Portal is used by developers to manage their subscriptions.

POST /domains

Tags: domains

Uses default content-types: application/json

Uses default content-types: application/json

201 Created

Domain Added

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to add a domain

403 Forbidden

Access denied - not authorized to add a domain

409 Conflict

Body of the request contains conflicting, malformed, or invalid data

Delete a Domain

DELETE /domains/{domain}

Tags: domains
domain

domain

path string

Uses default content-types: application/json

204 No Content

Domain successfully removed

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to delete a domain

403 Forbidden

Access denied - not authorized to delete a domain

What can this endpoint do?

OPTIONS /domains/{domain}

Tags: domains
domain

domain

path string

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Lists the set of entities visible on the Administrative Portal.

GET /entities

Tags: entities
entity query string

Uses default content-types: application/json

200 OK

entities Retrieved

204 No Content

No results found

What can this endpoint do?

OPTIONS /entities

Tags: entities

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Defines a new Entity.

POST /entities

Tags: entities

Uses default content-types: application/json

Request Body

Uses default content-types: application/json

201 Created

Entity Added

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to add an entity

403 Forbidden

Access denied - not authorized to add an entity

409 Conflict

Body of the request contains conflicting, malformed, or invalid data

Delete a entity

DELETE /entities/{domain}/{entity}

Tags: entities
domain

domain

path string
entity

entity

path string

Uses default content-types: application/json

204 No Content

Entity successfully removed

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to delete an entity

403 Forbidden

Access denied - not authorized to delete an entity

404 Not Found

Entity not found

What can this endpoint do?

OPTIONS /entities/{domain}/{entity}

Tags: entities
domain

domain

path string
entity

entity

path string

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Lists the set of event-types visible on the Administrative Portal.

GET /event-types

Tags: event-types
domain query string
entity query string
event-type query string

Uses default content-types: application/json

200 OK

event-types Retrieved

204 No Content

No results found

400 Bad Request

Unknown parameter in search criteria

What can this endpoint do?

OPTIONS /event-types

Tags: event-types

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Defines a new event type.

POST /event-types

Tags: event-types

Uses default content-types: application/json

Uses default content-types: application/json

201 Created

Event type Added

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to add a event type

403 Forbidden

Access denied - not authorized to add a event type

409 Conflict

Body of the request contains conflicting, malformed, or invalid data

Delete an event type

DELETE /event-types/{domain}/{entity}/{event_type}

Tags: event-types
domain

domain

path string
entity

entity

path string
event_type

event_type

path string

Uses default content-types: application/json

204 No Content

Event type successfully removed

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to delete an event type

403 Forbidden

Access denied - not authorized to delete an event type

404 Not Found

Event type not found

What can this endpoint do?

OPTIONS /event-types/{domain}/{entity}/{event_type}

Tags: event-types
domain

domain

path string
entity

entity

path string
event_type

event_type

path string

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Modify an event type

PUT /event-types/{domain}/{entity}/{event_type}

Tags: event-types

Uses default content-types: application/json

domain

domain

path string
entity

entity

path string
event_type

event_type

path string

Uses default content-types: application/json

200 OK

Event type successfully modified

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to modify an event type

403 Forbidden

Access denied - not authorized to modify an event type

409 Conflict

Body of the request contains conflicting, malformed, or invalid data

Retrieve a collection of events

GET /events

Tags: events
count

Defines how many events to return. Defaults to 1.

query integer 1

application/json application/xml

200 OK

Collection Retrieved

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to access data

403 Forbidden

Access denied to protected data

404 Not Found

No Cars satisfy the query parameters - the collection is empty

409 Conflict

Query parameters conflict or are malformed

What can this endpoint do?

OPTIONS /events

Tags: events

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Create a new event

POST /events

Tags: events

Uses default content-types: application/json

Request Body

Uses default content-types: application/json

201 Created

Event raised

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to add an event

403 Forbidden

Access denied - not authorized to add an event

409 Conflict

Body of the request contains conflicting, malformed, or invalid data

Acknowledge an event

DELETE /events/{eventID}

Tags: events
eventID

eventID

path string

Uses default content-types: application/json

200 OK

Event Item Acknowledged

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to access data

403 Forbidden

Access denied to protected data

404 Not Found

No events found - invalid event_id

What can this endpoint do?

OPTIONS /events/{eventID}

Tags: events
eventID

eventID

path string

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Acknowledge an event

PUT /events/{eventID}

Tags: events
eventID

eventID

path string
single

single

query boolean

Uses default content-types: application/json

200 OK

Event Item Acknowledged

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to access data

403 Forbidden

Access denied to protected data

404 Not Found

No events found - invalid event_id

Lists the set of subscriptions visible on the Administrative Portal.

GET /subscriptions

Tags: subscriptions
eca_identity_id query string
domain query string
entity query string
event_type query string

Uses default content-types: application/json

200 OK

subscriptions Retrieved

204 No Content

No results found

What can this endpoint do?

OPTIONS /subscriptions

Tags: subscriptions

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Defines a new subscription.

POST /subscriptions

Tags: subscriptions

Uses default content-types: application/json

Request Body

Uses default content-types: application/json

201 Created

Subscription Added

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to add an entity

403 Forbidden

Access denied - not authorized to add an entity

409 Conflict

Body of the request contains conflicting, malformed, or invalid data

Delete a subscription

DELETE /subscriptions/{domain}/{entity}/{event_type}

Tags: subscriptions
domain

domain

path string
entity

entity

path string
event_type

event_type

path string

Uses default content-types: application/json

204 No Content

Entity successfully removed

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to delete an subscription

403 Forbidden

Access denied - not authorized to delete an subscription

404 Not Found

Entity not found

What can this endpoint do?

OPTIONS /subscriptions/{domain}/{entity}/{event_type}

Tags: subscriptions
domain

domain

path string
entity

entity

path string
event_type

event_type

path string

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Lists the set of summaries visible on the Administrative Portal.

GET /summaries

Tags: summaries
domain query string
entity query string
event_date query string
event_type query string
page_start

Specifies how far to skip into a large set

query integer 1
page_size

Specifies how many items to return from a large set

query integer 10

Uses default content-types: application/json

200 OK

summaries Retrieved

204 No Content

No results found

What can this endpoint do?

OPTIONS /summaries

Tags: summaries

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Delete a webhook

DELETE /webhooks

Tags: webhooks

Uses default content-types: application/json

204 No Content

Webhook successfully removed

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to delete an subscription

403 Forbidden

Access denied - not authorized to delete an subscription

404 Not Found

Webhook not found

Retrieve a collection of webhooks

GET /webhooks

Tags: webhooks
identity_id query string
identity_name query string
endpoint query string
push_option query string

Uses default content-types: application/json

200 OK

Collection Retrieved

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to access data

403 Forbidden

Access denied to protected data

404 Not Found

No Cars satisfy the query parameters - the collection is empty

409 Conflict

Query parameters conflict or are malformed

What can this endpoint do?

OPTIONS /webhooks

Tags: webhooks

Uses default content-types: application/json

200 OK

Successful

400 Bad Request

Invalid Request - unable to interpret request

Register webhook

POST /webhooks

Tags: webhooks

Register webhook

Uses default content-types: application/json

Request Body

Uses default content-types: application/json

201 Created

Event raised

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to add a webhook

403 Forbidden

Access denied - not authorized to add a webhook

409 Conflict

Body of the request contains conflicting, malformed, or invalid data

Modify a webhook

PUT /webhooks

Tags: webhooks

Uses default content-types: application/json

Request Body

Uses default content-types: application/json

200 OK

Event Item Retrieved

400 Bad Request

Invalid Request - unable to interpret request

401 Unauthorized

Authentication required to access data

403 Forbidden

Access denied to protected data

404 Not Found

Webhook not found

Schema definitions

domain: object

domain

description: string
domain: string

domain_definition: object

domain_definition

domain_definition: domain_definition_array

domain_definition_array: object[]

domain_definition_array

domain

domain_definition_create: object

domain_definition_create

domain_definition: domain

entities: object

entities: entity_definition

entity: object

entity_ega: string
description: string
entity: string
domain: string

entity_array: object[]

entity_definition: object

entity_definition: entity_array

entity_definition_item: object

entity_definition: entity

error: object

Additional explanation for error conditions

explanation: string

Detailed explanation of the error

error_data: string

When appropriate, the data value that caused the error

return_code: integer (int32)

The HTTP Status code

event: object

event: event_array

event-types: object

event_types: event_type_definition

event_array: object[]

event_body: object

teaching_area: string
section_number: string
person_id: string
title_code: string
catalog_number: string
student_name: string
curriculum_id: string
year_term: string
credit_hours: string

event_header: object

source_dt: string (date-time)
source_id: integer (int32)
event_dt: string (date-time)
event_type: string
entity: string
domain: string (uri)
event_id: string
dispatch_id: string

event_header_array: object[]

event_header_item: object

event_header_item

source_dt: string (date-time)
source_id: string
event_dt: string (date-time)
event_type: string
entity: string
domain: string (uri)
event_id: string
dispatch_id: string

event_item: object

history: history
event_header: event_header
event_body: event_body
filters: filters

event_type_array: object[]

event_type_definition: object

event_type_definition: event_type_array

event_type_definition_create: object

event_type_definition: event_type_item

event_type_item: object

domain: string
entity: string
event_type: string
description: string
filter_names: filter_names

events: object

events: event

filter: object

filter_name: string
filter_value: string

filter_array: object[]

filter_name: string[]

string

filter_names: object

filter_name: filter_name

filters: object

filter: filter_array

history: object

event_header: event_header_array

options: string[]

Array of options

string

subscription: object

subscription: subscription_array

subscription_array: object[]

subscription_create: object

subscription: subscription_item

subscription_item: object

eca_identity_id: string
event_type: string
entity: string
domain: string
eca_identity_name: string

subscriptions: object

subscriptions: subscription

summary: object

count: string
event_type: string
entity: string
event_date: string
domain: string (uri)

summary_array: object[]

webhook: object

webhook: webhook_array

webhook_array: object[]

webhook_item: object

identity_id: string
security_option: string
identity_name: string
push_option: string
content_type: string
endpoint: string
security_key: string

webhook_register: object

webhook: webhook_item

webhooks: object

webhooks: webhook
Service Path: 
/domains/eventhub
Domain or University API: 
/domains/eventhub

Community

 

Don't see your question listed here? Ask!