{"type":"model","meta":{"id":"/apps/pubhub/media/cisco-spaces-firehose-api/be440435a1a31a2a84f2331ace8a646d73305560/b48399e9-814a-37ff-bbd3-3e1ec68cb853","info":{"title":"Cisco Spaces Firehose Streaming API","version":"2.0.0","description":"Streaming endpoint for the Cisco Spaces Firehose. The HTTP pull channel returns a long-lived response whose body is **newline-delimited JSON (NDJSON)**: one `EventRecord` per line, separated by `\\n`. The connection remains open and events are pushed continuously.\n\nFor the WebSocket and gRPC streaming surfaces, see the companion documentation pages:\n- [WebSocket Streaming](https://developer.cisco.com/docs/cisco-spaces-firehose/websocket-streaming/)\n- gRPC: [spaces_firehose_spec_v2.0.proto](https://pubhub.devnetcloud.com/media/cisco-spaces-firehose-api/docs/v2/spaces_firehose_spec_v2.0.proto) and [gRPC Streaming](https://developer.cisco.com/docs/cisco-spaces-firehose/grpc-streaming/)\n\nThe canonical schema for `EventRecord` and every event payload is defined in the Protocol Buffer file `spaces_firehose_spec_v2.0.proto`. JSON field names on the wire are the **camelCase** equivalent of the proto `snake_case` names (e.g., `record_uid` → `recordUid`)."},"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Streaming","description":"Long-lived streaming endpoints that push EventRecord objects to subscribed clients."}],"openapi":"3.1.0","servers":[{"url":"https://partners.ciscospaces.io","description":"US region"},{"url":"https://partners.ciscospaces.eu","description":"EU region"},{"url":"https://partners.ciscospaces.sg","description":"Singapore region"}],"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY","description":"Activation-specific API key. Issued from the Cisco Spaces Partner Dashboard."}}},"spec":{"properties":{"id":{"type":"string"},"name":{"type":"string"},"floorId":{"type":"string"},"type":{"enum":["OTHER","ROOM","WORK_STATION"],"oneOf":[{"type":"string"},{"type":"integer"}],"title":"Legacy Space Type","type":"string"},"spaceType":{"additionalProperties":true,"properties":{"isPrivate":{"type":"boolean"},"type":{"enum":["UNKNOWN","MEETING_ROOM","WORK_STATION","AMENITY","CLINICAL"],"oneOf":[{"type":"string"},{"type":"integer"}],"title":"Type","type":"string"},"meetingRoom":{"enum":["MR_MEETING_ROOM"],"oneOf":[{"type":"string"},{"type":"integer"}],"title":"Meeting Room","type":"string"},"clinical":{"enum":["CL_OTHER","CL_CONSULTATION_ROOM","CL_PATIENT_ROOM","CL_EXAMINATION_ROOM","CL_TREATMENT_ROOM","CL_PREPARATION_ROOM","CL_LABORATORY","CL_PHARMACY","CL_EMERGENCY","CL_IMAGING","CL_BLOOD_DRAW","CL_NURSE_STATION"],"oneOf":[{"type":"string"},{"type":"integer"}],"title":"Clinical","type":"string"},"amenity":{"enum":["AMN_OTHER","AMN_HELP_DESK","AMN_INFORMATION_KIOSK","AMN_CHILD_CARE","AMN_MOTHERS_ROOM","AMN_RECEPTION","AMN_WAITING_AREA"],"oneOf":[{"type":"string"},{"type":"integer"}],"title":"Amenity","type":"string"}},"type":"object","title":"Space Type","$$ref":"#/components/schemas/SpaceType"},"capacity":{"type":"integer"},"occupancyType":{"enum":["NONE","PRESENCE","PEOPLE_COUNT","BOTH"],"oneOf":[{"type":"string"},{"type":"integer"}],"title":"Occupancy Type","type":"string"}},"additionalProperties":true,"type":"object","title":"Space"}}