BYUEventHub

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

Base URL: /domains/eventhub/v0

Version: v0

Schemes:

Summary

Path Operation Description
/archives* GET

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

/domains GET

Lists the set of Domains visible on the Administrative Portal.

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

/entities* GET

Lists the set of entities visible on the Administrative Portal.

POST

Defines a new Entity.

/entities/{domain}/{entity} DELETE

Delete a entity

/event-types* GET

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

POST

Defines a new event type.

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

Delete an event type

PUT

Modify an event type

/events* GET

Retrieve a collection of events

POST

Create a new event

/events/{eventID} DELETE

Acknowledge an event

PUT

Acknowledge an event

/subscriptions GET

Lists the set of subscriptions visible on the Administrative Portal.

POST

Defines a new subscription.

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

Delete a subscription

/summaries* GET

Lists the set of summaries visible on the Administrative Portal.

/webhooks* DELETE

Delete a webhook

GET

Retrieve a collection of webhooks

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
200 OK

Events Retrieved

Example for application/json
{
}
204 No Content

No results found with search criteria

400 Bad Request

Unknown parameter in search criteria

Lists the set of Domains visible on the Administrative Portal.

GET /domains

Tags: domains
200 OK

Domains Retrieved

Example for application/json
{
"domains": {
"description": "Brigham young University",
"domain": "edu.byu"
}
}
204 No Content

No results found

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
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
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

Lists the set of entities visible on the Administrative Portal.

GET /entities*

Tags: entities
entity query string
200 OK

entities Retrieved

Example for application/json
{
"entity_definition": [
{
"description": "Class Schedule Events",
"domain": "edu.byu",
"entity": "AIM-EH-CLS-SCHED",
"entity_ega": "565233072"
},
{
"description": "Class Add/Drop Events",
"domain": "edu.byu",
"entity": "AIM-EH-REGISTRATION",
"entity_ega": "743242772"
}
]
}
204 No Content

No results found

Defines a new Entity.

POST /entities*

Tags: entities

Request Body

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
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

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
200 OK

event-types Retrieved

Example for application/json
{
"event_type_definition": [
{
"description": "New Hires",
"domain": "edu.byu",
"entity": "HR Personal Action",
"event_type": "New Hires",
"filter_names": ""
}
]
}
204 No Content

No results found

400 Bad Request

Unknown parameter in search criteria

Defines a new event type.

POST /event-types*

Tags: event-types
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
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

Modify an event type

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

Tags: event-types
domain

domain

path string
entity

entity

path string
event_type

event_type

path string
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

Example for application/json
{
"event": [
{
"event_body": {
"byu_id": "378837838",
"created_by_id": "",
"date_time_created": "",
"date_time_updated": "2018-06-26 12:05:44",
"deceased": "N",
"home_country_code": "USA",
"home_state_code": "UT",
"home_town": "Provo",
"net_id": "icinder",
"organization": "",
"person_id": "763217592",
"preferred_first_name": "Cinderella",
"prefix": " ",
"rest_of_name": "Cinderella",
"secure_url": "https://api.byu.edu/domains/legacy/identity/person/PRO/personsummary/v1/763217592",
"sort_name": "Ithaca, Cinderella",
"suffix": " ",
"surname": "Ithaca",
"updated_by_id": "00000000"
}
,
"event_header": {
"domain": "edu.byu",
"entity": "PRO",
"event_id": "0510be65-235c-461b-9ef9-d1ad2ae11f64",
"event_type": "Person Changed"
}
,
"filters": ""
}
]
}
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

Create a new event

POST /events*

Tags: events

Request Body

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
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

Acknowledge an event

PUT /events/{eventID}

Tags: events
eventID

eventID

path string
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

No events found - invalid event_id

Lists the set of subscriptions visible on the Administrative Portal.

GET /subscriptions

Tags: subscriptions

Get list of subscribed events

200 OK

subscriptions Retrieved

Example for application/json
{
"subscription": [
{
"domain": "edu.byu",
"eca_identity_id": "00000000",
"eca_identity_name": " ",
"entity": "PRO",
"event_type": "#"
}
]
}
204 No Content

No results found

Defines a new subscription.

POST /subscriptions

Tags: subscriptions

Request Body

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
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

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
200 OK

summaries Retrieved

Example for application/json
{
"summary_array": [
{
"count": "",
"domain": "",
"entity": "",
"event_date": "",
"event_type": ""
}
]
}
204 No Content

No results found

Delete a webhook

DELETE /webhooks*

Tags: webhooks
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
200 OK

Collection Retrieved

Example for application/json
{
"content_type": "string",
"endpoint": "string",
"entity_id": "000000000",
"entity_name": "Smith",
"push_option": "Push Message",
"security_option": "None"
}
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

Register webhook

POST /webhooks*

Tags: webhooks

Request Body

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

Request Body

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

archives: object

content_type: string

description: string

domain: string

domain_definition: object

domain

description: description
domain: domain

domain_definition_create: object

domain_definition_create

domain_definition: domain_definition

domains: object

domains

domains: domain_definition

eca_identity_id: string

eca_identity_name: string

endpoint: string

entities: object

entity_definition: entity_definition

entities_item: object

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

entity: string

entity_definition: object[]

entity_definition_item: object

entity_definition: entity_definition

entity_ega: string

entity_id: string

entity_name: string

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_body: object

event_dt: string (date-time)

event_header: object

domain: domain
entity: entity
event_type: event_type
event_id: event_id
event_dt: event_dt
source_dt: source_dt

event_header_array: object[]

event_id: string

event_items: object

event_header: event_header
filters: filters
event_body: event_body

event_type: string

event_type_definition: object[]

event_type_definition_create: object

event_type_definition: event_type_item

event_type_item: object

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

event_types: object

event_type_definition: event_type_definition

events: object

filter: object

filter_name: string
filter_value: string

filter_name: object[]

object

filter_names: string

filters: string

history: object

event_header: event_header_array

identity_id: string

identity_name: string

options: string[]

Array of options

string

push_option: string

security_key: string

security_option: string

source_dt: string (date-time)

subscription: object[]

subscription_create: object

subscription_create_items: object

domain: domain
entity: entity
event_type: event_type

subscription_items: object

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

subscriptions: object

subscription: subscription

summaries: object

summary: object

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

summary_array: object[]

webhook_create: object

webhooks: webhooks

webhooks: object

entity_id: entity_id
entity_name: entity_name
endpoint: endpoint
push_option: push_option
security_option: security_option
security_key: security_key
content_type: content_type
identity_id: identity_id
identity_name: identity_name
Service Path: 
/domains/eventhub/v0
Domain or University API: 
/domains/eventhub/v0

Community

 

Don't see your question listed here? Ask!