# Push API: User Create/Update The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to push to OPS-COM new users and update existing users directly from another system. For example, you may wish to push Student and Staff information from Banner directly to OPS-COM. Make sure you set the HTTP Content-Type header to be application/json. ## Making API Requests ### Raw Request:
`POST /api/OC_TOMA/v1/profiles/push HTTP/1.1`
`Host: controller.operationscommander.io`
`Accept: application/json`
`Content-Type: application/json`
`Cache-Control: no-cache`
`{`
`    ``"apiToken": "YOUR-API-TOKEN",`
`    ``"unique_id": "tester23",`
`    ``"login_source": "OPSCOM",`
`    ``"first_name":"firstname",`
`    ``"last_name":"lastname",`
`    ``"user_name":"username",`
`    ``"email":"test@test.com",`
`    ``"street":"123 Main Street, 123 Main Street,123 Main Street,123 Main Street,123 Main Street,123 Main Street",`
`    ``"city":"Everywhere",`
`    ``"province":"bc",`
`    ``"state":"NY",`
`    ``"postal_code":"HOHOHO",`
`    ``"zip":"12345-1212",`
`    ``"street2":"123 General Street",`
`    ``"city2":"Somewhere",`
`    ``"province2":"AB",`
`    ``"state2":"MA",`
`    ``"postal_code2":"A9A9A9",`
`    ``"zip2":"54321-1212",`
`    ``"phone_cell":"613-555-1212",`
`    ``"user_type_id":"6",`
`    ``"employ_no":"employee number: default",`
`    ``"employee_phone":"emp ph. klondike 555",`
`    ``"student_no":"SN 543209854",`
`    ``"student_phone":"999",`
`    ``"driver_licence_num":"QC 99999999",`
`    ``"driver_license_num":"NYNY",`
`    ``"date_of_birth":"1901-01-31",`
`    ``"locker_user_type_id":"3",`
`    ``"driver_licence_prov":"BC",`
`    ``"driver_license_state":"CA"`
`}`
### JavaScript Request:
`var` `request = ``new` `XMLHttpRequest();`
`request.setRequestHeader(``'Content-Type'``, ``'application/json'``);`
`request.setRequestHeader(``'Accept'``, ``'application/json'``);`
`request.onreadystatechange = ``function` `() {`
`  ``if` `(``this``.readyState === 4) {`
`    ``console.log(``'Status:'``, ``this``.status);`
`    ``console.log(``'Headers:'``, ``this``.getAllResponseHeaders());`
`    ``console.log(``'Body:'``, ``this``.responseText);`
`  ``}`
`};`
`var` `body = {`
`    ``"apiToken"``: ``"YOUR-API-TOKEN"``,`
`    ``"unique_id"``: ``"tester23"``,`
`    ``"login_source"``: ``"OPSCOM"``,`
`    ``"first_name"``:``"firstname"``,`
`    ``"last_name"``:``"lastname"``,`
`    ``"user_name"``:``"username"``,`
`    ``"email"``:``"test@test.com"``,`
`    ``"street"``:``"123 Main Street, 123 Main Street,123 Main Street,123 Main Street,123 Main Street,123 Main Street"``,`
`    ``"city"``:``"Everywhere"``,`
`    ``"province"``:``"bc"``,`
`    ``"state"``:``"NY"``,`
`    ``"postal_code"``:``"HOHOHO"``,`
`    ``"zip"``:``"12345-1212"``,`
`    ``"street2"``:``"123 General Street"``,`
`    ``"city2"``:``"Somewhere"``,`
`    ``"province2"``:``"AB"``,`
`    ``"state2"``:``"MA"``,`
`    ``"postal_code2"``:``"A9A9A9"``,`
`    ``"zip2"``:``"54321-1212"``,`
`    ``"phone_cell"``:``"613-555-1212"``,`
`    ``"user_type_id"``:``"6"``,`
`    ``"employ_no"``:``"employee number: default"``,`
`    ``"employee_phone"``:``"emp ph. klondike 555"``,`
`    ``"student_no"``:``"SN 543209854"``,`
`    ``"student_phone"``:``"999"``,`
`    ``"driver_licence_num"``:``"QC 99999999"``,`
`    ``"driver_license_num"``:``"NYNY"``,`
`    ``"date_of_birth"``:``"1901-01-31"``,`
`    ``"locker_user_type_id"``:``"3"``,`
`    ``"driver_licence_prov"``:``"BC"``,`
`    ``"driver_license_state"``:``"CA"`
`}`
`request.send(JSON.stringify(body));`
## Request Object Attributes
AttributeTypeLimitsPossible NamesDescription
apiTokenString50-character alphanumeric including dashes. apiToken**(Required)** Your supplied API Token.
Unique IDString50-character alphanumeric including dashes.unique\_id**(Required)** An unique identification number of the user.
Login SourceString20-character alphanumeric including dashes.login\_source**(Required)** Your supplied login source.
First NameString50-character alphanumeric including dashes.first\_name*(Optional)* User's first name.
Last NameString50-character alphanumeric including dashes.last\_name*(Optional)* User's last name.
User NameString50-character alphanumeric including dashes.user\_name*(Optional)* Unique username.
EmailString100-character alphanumeric including dashes.email*(Optional)* Valid email address .
Street - address 1String street*(Optional) User's primary street number and name.*
City - address 1String50-character alphanumeric including dashes.city*(Optional) User's primary city name.*
Province - address 1String2-character postal abbreviation eg. "MA"province, state *(Optional) User's primary province or state.*
Postal Code - address 1String20-character alphanumeric including dashes.postal\_code, zip *(Optional) User's primary postal code or zip.*
Street - address 2String20-character alphanumeric including dashes.street2*(Optional) User's alternate street number and name.*
City - address 2String50-character alphanumeric including dashes.city2*(Optional) User's alternate city name.*
Province - address 2String2-character postal abbreviation eg. "MA"province2, state2 *(Optional) User's alternate province or state.*
Postal\_Code - address 2String20-character alphanumeric including dashes.postal\_code2, zip2 *(Optional) User's alternate postal code or zip.*
Cell phone numberString20-character alphanumeric including dashes.phone\_cell*(Optional) User's cell phone number*
User Type IDStringId number of UserTypeuser\_type\_id*(Optional) A reference number to the type of user.*
Employee NumberString50-character alphanumeric including dashes.employ\_no*(Optional) User's employee number.*
Employee phone numberString50-character alphanumeric including dashes.employee\_phone*(Optional) User's employee phone number.*
Student numberString50-character alphanumeric including dashes.student\_no*(Optional) User's student number.*
Student phone numberString50-character alphanumeric including dashes.student\_phone*(Optional) User's student phone number.*
Driver licence numberString255-character alphanumeric including dashes.driver\_licence\_num, driver\_license\_num *(Optional) User's driver's licence number or driver's license number.*
Date of BirthString10-character date in format 'yyyy-mm-dd'date\_of\_birth*(Optional) User's date of birth in format "YYYY-MM-DD.*
Locker User Type IDStringId number of LockerUserTypelocker\_user\_type\_id*(Optional) A reference the the user's locker type id of the user.*
Driver's licence provinceString2-character postal abbreviation eg. "MA"driver\_licence\_prov, driver\_license\_state *(Optional) The province or state of the user's driver's licence.*
## Successful Response The response will be a json object. Content-Type: application/json
`{`
`    ``"status"``: ``"success"``,`
`    ``"reference_id"``: 44`
`}`