Aggiefeed REST API PUT api_v1_activity

Aggiefeed REST API PUT api_v1_activity

Aggiefeed REST API: PUT /api/v1/activity

Headers:

Headers

Comments

Authorization: ApiKey <api key>

Requires API KEY
e.g.
Authorization: ApiKey abcdefgh

 

Request Parameters:

URL

Description

/api/v1/activity/<activity.object.id>

The activity's object.id

 

Request Query Parameters:

Parameter

Description

userId

Deprecated per v1.36.0 : User's 'userId' who is updating the activity. The 'userId' has to match the "actor.author.id".

status

Activity status ["a", "l"] where "a" = "approval" and "l" = "life"

 

URL Examples:

URL

Description

/api/v1/activity/1234-5678-9012?userId=user1&status=a

Update activity where "object.id" == "1234-5678-9012" AND "actor.author.id" == "user1" AND activity is in the approval queue

/api/v1/activity/1234-5678-9012?userId=user1&status=l

Update activity where "object.id" == "1234-5678-9012" AND "actor.author.id" == "user1" AND activity is part of the "life" (published) stream

 

Full Example:

Authorization: ApiKey abcdefgh HTTP PUT https://aggiefeed.ucdavis.edu/api/v1/activity/1234-5678-9012?userId=user1&status=a BODY = { "activity" : <activity JSON> }

 

POST Body:

{ "activity" : { <activity JSON> } }



Activity fields: |

Key

Type

Comment

Required (R)
Optional (O)

icon

String

Any available Twitter Bootstrap icon name

R

actor

Object

 

R

actor.id

String

Unique Actor ID (This will be provided by the Aggie Feed Team)

R

actor.objectType

String

One of ["person", "department"]

R

actor.displayName

String

Department Name

R

actor.author

Object

 

R

actor.author.id

String

Unique Author ID (kName)

R

actor.author.displayName

String

Author Name (FirstName LastName)

R

verb

String

Use "post"

R

title

String

Activity Title

R

object

Object

 

R

object.ucdSrcId

String

Unique Source Content ID

R

object.objectType

String

Use "notification"

R

object.content

String

Activity content (Text)

R

object.ucdEdusModel

Object

 

R

object.ucdEdusModel.url

String

Activity content related URL

O

object.ucdEdusModel.urlDisplayName

String

Activity content related URL display name

O

object.ucdEdusModel.eventDate

String

Date the event will occur. 
 ISO-8601 Date format YYYY-MM-DDTHH:mm:ss.SSSZ  
The date needs to be in Zulu Time  
e.g.  
2013-07-01T17:00:00.000Z

O

to

Object

NOTE: The "to" field has to have one or both of the following properties: [ groups, users ]

R

to.groups

Array

Array of group names: "public", "students", "faculty", "staff" 
e.g. ["students", "faculty"]

R / O

to.users

Array

Array of user kNames
e.g.["username1", "username2"]

R / O

published

String

ISO-8601 Date format YYYY-MM-DDTHH:mm:ss.SSSZ
The date needs to be in Zulu Time
e.g.
2013-07-01T17:00:00.000Z

O

ucdEdusMeta

Object

 

R

ucdEdusMeta.labels

Array

Array of strings. The array needs to contain at least one of the following labels: ["~academic", "~student-life", "~campus-life", "~campus-messages"] 
Additional labels that don't have a tilda '~' prefix are allowed.
e.g.
 ["~academic", "hold", "financial-aid"]

R

ucdEdusMeta.startDate

String

ISO-8601 Date format YYYY-MM-DDTHH:mm:ss.SSSZ 
The date needs to be in Zulu Time 
e.g. 
2013-07-01T17:00:00.000Z

O

ucdEdusMeta.endDate

String

ISO-8601 Date format YYYY-MM-DDTHH:mm:ss.SSSZ 
The date needs to be in Zulu Time 
e.g. 
2013-07-01T17:00:00.000Z

O

ucdEdusMeta.authzId

String

Same as actor.author.id

R

 

Sample request body containing the activity (JSON):

{ "activity" : { "icon": "icon-comment-alt", "actor": { "id" : "department identifier", "objectType": "person", "displayName": "Department Name", "author" : { "id" : "kName", "displayName" : "FirstName LastName" } }, "verb": "post", "title": "Test Notification", "object": { "ucdSrcId" : "content identifier", "objectType": "notification", "content": "This is a test notification", "ucdEdusModel" : { "url" : "http://ucdavis.edu", "urlDisplayName" : "UC Davis" } }, "to" : { "groups" : ["students", "faculty"], "users" : [] }, "ucdEdusMeta" : { "labels" : ["~academic", "some-label"], "authzId" : "<Same as actor.author.id>", "startDate" : "date string", "endDate" : "date string" } }}