Tango Space HR Inbound API
Generated fromTango Space HR Inbound API Integration Design Specification V1.8.docxin SharePoint folder03 Space Integrations. OAS spec:space-hr-inbound-api.yaml
Overview
Async REST API for posting Person/HR records into Tango. Drives Space Management’s People records — assignments, schedules, hot-desking flags, building assignments. Owner: Tango Analytics Spec version: 1.8 Status: Draft (auto-generated — needs review)Endpoints
Auth:
x-client + x-api-key.
Integration logic
- Upsert key:
person_number. total_office_daysis computed by Tango as the sum ofoffice_on_sun..satflags, regardless of any value sent in the JSON.cost_centeris optional initially, BUT once an employee has been assigned to a department in Tango, it cannot subsequently be updated to NULL via this integration.- Status-API response includes
processed_records(success count) anderror_records(failure count). Both are omitted from the JSON when their value would be zero.
Data model (required ✅)
Validations (sample)
person_numberNULL →required field: person_number is missingfirst_nameNULL →required field: first_name is missing or emptylast_nameNULL →required field: last_name is missing or emptycost_centerinvalid →cost_center: Invalid Cost Center '<data entered>'shift_workernot Y/N →shift_worker has Invalid lookup codestatusnot Active/Inactive →status has Invalid status codecountryNULL/invalid →country is missing or empty/Invalid country code- Date format violations →
field <> value is not a valid date string total_office_daysnot numeric →total_office_days value is not a numberoffice_on_*not valid →office_on_<day> value is not valid
Open Questions / Assumptions
-
MM/DD/YYY(3-digit year) appears in source mapping forhire_date,end_date, and alldattr*fields. Almost certainly a typo — runtime likely usesMM/DD/YYYY. Confirm. -
shift_workerfield label mismatch: Client Label is “People Manager” but field name isshift_worker. These are semantically different concepts; source doc may be conflating them. - Custom-attribute naming uses no underscores (
cattr1,nattr1,dattr1,lovattr1) — different from common-integrations conventions (c_ext_attr1). -
mac_addresses/network_user_names/host_namescarry comma-separated lists in a VARCHAR — confirm length limits. -
brand_idtyped NUMBER but other integrations carry brand names; reconcile. - Lookup codes are
<TBD>in Appendix.

