Business capabilities this provider's published APIs can perform, derived from its own
contracts. Browse all capabilities →
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
Individual APIs this provider publishes, each with its own machine-readable definition.
Packaged agent skills for driving this provider's APIs from an AI assistant.
Published pricing tiers and plan structures.
Documented rate limits and quota policies.
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
Standalone JSON Schema definitions for this provider's data models.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Recommended x-agentic-access execution contracts for AI agents.
Recent news and press coverage referencing this provider.
aid: johnson-controls
name: Johnson Controls
description: Johnson Controls is a global diversified technology and multi-industrial leader serving customers in over 150
countries, providing products, services, and solutions for buildings (HVAC, fire, security, building automation), energy
storage, and connected building platforms (Metasys, OpenBlue). Its developer surface is the Metasys REST API, served by
each customer's own Metasys site director and documented publicly (with a versioned OpenAPI reference) at jci-metasys.github.io/api-landing.
type: Index
deliveryModel:
model: unknown
open_source: false
commercial: false
callable_host: false
label: Delivery model not determined — needs a product licence on record
confidence: low
source:
- none
generated: '2026-08-28'
method: derived
accessModel:
pricing: unknown
onboarding: unknown
trial: false
try_now: false
public: false
label: Unknown
confidence: low
source:
- authentication
- security
generated: '2026-11-06'
method: derived
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/johnson-controls.png
tags:
- Building Automation
- Energy Storage
- Fire & Security
- HVAC
- Smart Buildings
- Fortune 100
created: '2026-03-24'
modified: '2026-10-20'
url: https://raw.githubusercontent.com/api-evangelist/johnson-controls/refs/heads/main/apis.yml
specificationVersion: '0.23'
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
common:
- type: CapabilityMap
url: capabilities/johnson-controls-capability-edges.yml
name: Johnson Controls Business Capability Map
- type: AgenticAccess
url: agentic-access/johnson-controls-agentic-access.yml
- type: Spectral
url: rules/johnson-controls-rules.yml
- type: JSONLD
url: json-ld/johnson-controls-context.jsonld
- type: Vocabulary
url: vocabulary/johnson-controls-vocabulary.yml
- type: AgentSkill
url: skills/_index.yml
- type: DataModel
url: data-model/johnson-controls-data-model.yml
- type: CLI
url: cli/johnson-controls-cli.yml
- type: ChangeLog
url: changelog/johnson-controls-changelog.yml
- type: Conventions
url: conventions/johnson-controls-conventions.yml
- type: Compliance
url: https://trust.johnsoncontrols.com/
- type: Lifecycle
url: lifecycle/johnson-controls-lifecycle.yml
- type: ErrorCatalog
url: errors/johnson-controls-problem-types.yml
- type: Conformance
url: conformance/johnson-controls-conformance.yml
- type: Overlay
url: overlays/johnson-controls-metasys-overlay.yaml
- type: LLMsTxt
url: llms/johnson-controls-llms.txt
- type: Hosts
url: hosts/johnson-controls-hosts.yml
- type: IntegrationEdges
url: integrations/johnson-controls-integration-edges.yml
- type: Vendors
url: vendors/johnson-controls-vendors.yml
- type: SDKs
url: packages/johnson-controls-packages.yml
- type: Packages
url: packages/johnson-controls-packages.yml
- type: Security
url: https://www.johnsoncontrols.com/security
- type: GettingStarted
url: https://www.johnsoncontrols.com/services-and-support/fire-maintenance-and-support/connected-sprinkler-service/onboarding
- type: Authentication
url: authentication/johnson-controls-authentication.yml
- type: TrustCenter
url: security/johnson-controls-trust-center.yml
- type: DomainSecurity
url: security/johnson-controls-domain-security.yml
- type: GitHubOrganization
url: https://github.com/johnsoncontrols
- type: LinkedIn
url: https://www.linkedin.com/company/johnson-controls
- type: Website
url: https://www.johnsoncontrols.com/
- type: OpenBlue
url: https://www.johnsoncontrols.com/openblue
- type: Documentation
url: https://jci-metasys.github.io/api-landing/
- type: GitHubOrganization
url: https://github.com/jci-metasys
- type: Support
url: https://www.johnsoncontrols.com/services-and-support
- type: TermsOfService
url: https://www.johnsoncontrols.com/legal/terms
- type: PrivacyPolicy
url: https://www.johnsoncontrols.com/trust-center/privacy
- type: Login
url: https://www.johnsoncontrols.com/login
- type: Newsroom
url: https://www.johnsoncontrols.com/media-center/news
apis:
- aid: johnson-controls:johnson-controls-activities-api
name: Johnson Controls Activities API
description: "This section describes the operations you can perform on activities. Activities\nare a superset of all alarms\
\ and audits in a Metasys system. Use activities\noperations to view audits and alarms. Apply filters to further refine\
\ the\nresults.\n\n## Activities Event Subscriptions\n\nSubscribe for activity-related events to receive updates when\
\ activities are\ncreated, discarded, acknowledged, or annotated.\n\n#### Subscribing\n\nTo subscribe for activity-related\
\ events, complete the following steps:\n\n1. Obtain a stream ID using the workflow outlined in the\n [Streaming](#section/Streaming)\
\ section.\n2. Use [Get Activities](#operation/getActivities) and include a\n `METASYS-SUBSCRIBE` header with the stream\
\ ID.\n\n**Note:** Any filters added to the original `GET` operation also apply the event\nsubscription.\n\n#### Unsubscribing\n\
\nTo unsubscribe from an activities event subscription, complete the following\nsteps:\n\n1. Get the `METASYS-SUBSCRIPTION-LOCATION`\
\ from the subscribe operation\n response.\n2. Issue a\n [Delete activities subscription](#operation/deleteActivitiesSubscription)\n\
\ request to `METASYS-SUBSCRIPTION-LOCATION`.\n\n**See also:**\n\n- [Get a stream](#operation/getStream)\n- [Streaming](#tag/streaming)\n\
\n#### Events\n\nThere are five event types sent by the activities subscription: acknowledged,\nannotate, discard, new,\
\ and heartbeat.\n\n- `activity.heartbeat` - A heartbeat event is sent to show that the subscription\n is still alive.\
\ A heartbeat is a JSON string with the current UTC date time in\n ISO 8601 format and is sent every 120 seconds.\n\n\
\ <details>\n <summary><b>Heartbeat Payload Example</b></summary>\n\n ```json\n {\n \"currentTime\": \"2021-02-16T16:21:10.23Z\"\
,\n \"subscriptionIds\": [\"c569a157-7315-4f32-bc8f-11607f075660\"]\n }\n ```\n\n </details>\n\n- `activity.alarm.ack`\
\ - An alarm acknowledge event is sent to indicate that the\n management status has changed to acknowledged.\n\n <details>\n\
\ <summary><b>Acknowledged Alarm Payload Example</b></summary>\n\n ```json\n {\n \"subscriptionIds\": [\"788fc8af-ff49-4501-b85b-e3d407a38a9e\"\
],\n \"activity\": {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"itemReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T\"\
,\n \"objectName\": \"OA_T\",\n \"activityManagementStatus\": \"acknowledged\",\n \"creationTime\": \"\
2021-02-16T20:30:00Z\",\n \"spaces\": [\n {\n \"id\": \"20b27e9a-d721-5e88-9942-85297cc57ea1\",\n\
\ \"itemReference\": \"{hostname}:{deviceHostname}/Generic 1.Building 1.Floor 1\",\n \"name\": \"Floor\
\ 1\",\n \"spaceUrl\": \"https://metasys-server.example.com/api/v6/space/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\
\n }\n ],\n \"equipment\": [\n {\n \"id\": \"4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\",\n\
\ \"itemReference\": \"{hostname}:{deviceHostname}/equipment.Engine1\",\n \"equipmentName\": \"Engine1\"\
,\n \"shortName\": null,\n \"equipmentUrl\": \"https://metasys-server.example.com/api/v6/equipment/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\
\n }\n ],\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/16defc31-1333-5379-82e7-576a6f1e8b50\"\
,\n \"objectId\": \"16defc31-1333-5379-82e7-576a6f1e8b50\",\n \"alarm\": {\n \"message\": \"\",\n \
\ \"alarmGeneratorObject\": {\n \"objectReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T.Alarm1\",\n\
\ \"referencedObject\": {\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/bfcc3fce-a182-53c0-a529-268f8184496b\"\
\n }\n },\n \"isAckRequired\": true,\n \"acknowledgedTime\": \"2021-02-16T20:31:02Z\",\n\
\ \"type\": \"alarmValueEnumSet.avHiAlarm\",\n \"priority\": 70,\n \"category\": \"objectCategoryEnumSet.generalCategory\"\
,\n \"annotationsUrl\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f/annotations\"\
,\n \"self\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \
\ \"triggerValue\": {\n \"item\": \"2.0\",\n \"schema\": {\n \"type\": \"string\",\n \
\ \"metasysType\": \"string\",\n \"units\": {\n \"id\": \"unitEnumSet.degF\",\n \
\ \"title\": \"deg F\"\n }\n }\n },\n \"description\": \"\"\n }\n },\n\
\ \"effectivePermission\": {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"canAcknowledge\": true,\n\
\ \"canDiscard\": true,\n \"canAnnotate\": true\n }\n }\n ```\n\n </details>\n\n- `activity.alarm.annotate`\
\ - An alarm annotate event is sent when an annotation\n is added to an alarm activity, providing the information for\
\ the annotated\n alarm.\n\n <details>\n <summary><b>Annotate Alarm Payload Example</b></summary>\n\n ```json\n\
\ {\n \"subscriptionIds\": [\"788fc8af-ff49-4501-b85b-e3d407a38a9e\"],\n \"activity\": {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\"\
,\n \"itemReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T\",\n \"objectName\": \"OA_T\",\n \"activityManagementStatus\"\
: \"pending\",\n \"creationTime\": \"2021-02-16T20:30:00Z\",\n \"spaces\": [\n {\n \"id\": \"\
20b27e9a-d721-5e88-9942-85297cc57ea1\",\n \"itemReference\": \"{hostname}:{deviceHostname}/Generic 1.Building\
\ 1.Floor 1\",\n \"name\": \"Floor 1\",\n \"spaceUrl\": \"https://metasys-server.example.com/api/v6/space/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\
\n }\n ],\n \"equipment\": [\n {\n \"id\": \"4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\",\n\
\ \"itemReference\": \"{hostname}:{deviceHostname}/equipment.Engine1\",\n \"equipmentName\": \"Engine1\"\
,\n \"shortName\": null,\n \"equipmentUrl\": \"https://metasys-server.example.com/api/v6/equipment/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\
\n }\n ],\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/16defc31-1333-5379-82e7-576a6f1e8b50\"\
,\n \"objectId\": \"16defc31-1333-5379-82e7-576a6f1e8b50\",\n \"alarm\": {\n \"message\": \"\",\n \
\ \"alarmGeneratorObject\": {\n \"objectReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T.Alarm1\",\n\
\ \"referencedObject\": {\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/bfcc3fce-a182-53c0-a529-268f8184496b\"\
\n }\n },\n \"isAckRequired\": true,\n \"acknowledgedTime\": \"2021-02-16T20:31:02Z\",\n\
\ \"type\": \"alarmValueEnumSet.avHiAlarm\",\n \"priority\": 70,\n \"category\": \"objectCategoryEnumSet.generalCategory\"\
,\n \"annotationsUrl\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f/annotations\"\
,\n \"self\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \
\ \"triggerValue\": {\n \"item\": \"2.0\",\n \"schema\": {\n \"type\": \"string\",\n \
\ \"metasysType\": \"string\",\n \"units\": {\n \"id\": \"unitEnumSet.degF\",\n \
\ \"title\": \"deg F\"\n }\n }\n },\n \"description\": \"\"\n }\n },\n\
\ \"effectivePermission\": {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"canAcknowledge\": true,\n\
\ \"canDiscard\": true,\n \"canAnnotate\": true\n }\n }\n ```\n\n </details>\n\n- `activity.alarm.discard`\
\ - An alarm discard event is sent when the management\n status of an alarm activity changes to discarded.\n\n <details>\n\
\ <summary><b>Discard Alarm Payload Example</b></summary>\n\n ```json\n {\n \"subscriptionIds\": [\"788fc8af-ff49-4501-b85b-e3d407a38a9e\"\
],\n \"activity\": {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"itemReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T\"\
,\n \"objectName\": \"OA_T\",\n \"activityManagementStatus\": \"discarded\",\n \"creationTime\": \"2021-02-16T20:30:00Z\"\
,\n \"spaces\": [\n {\n \"id\": \"20b27e9a-d721-5e88-9942-85297cc57ea1\",\n \"itemReference\"\
: \"{hostname}:{deviceHostname}/Generic 1.Building 1.Floor 1\",\n \"name\": \"Floor 1\",\n \"spaceUrl\"\
: \"https://metasys-server.example.com/api/v6/space/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\n }\n ],\n \
\ \"equipment\": [\n {\n \"id\": \"4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\",\n \"itemReference\"\
: \"{hostname}:{deviceHostname}/equipment.Engine1\",\n \"equipmentName\": \"Engine1\",\n \"shortName\"\
: null,\n \"equipmentUrl\": \"https://metasys-server.example.com/api/v6/equipment/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\
\n }\n ],\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/16defc31-1333-5379-82e7-576a6f1e8b50\"\
,\n \"objectId\": \"16defc31-1333-5379-82e7-576a6f1e8b50\",\n \"alarm\": {\n \"message\": \"\",\n \
\ \"alarmGeneratorObject\": {\n \"objectReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T.Alarm1\",\n\
\ \"referencedObject\": {\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/bfcc3fce-a182-53c0-a529-268f8184496b\"\
\n }\n },\n \"isAckRequired\": true,\n \"acknowledgedTime\": \"2021-02-16T20:31:02Z\",\n\
\ \"type\": \"alarmValueEnumSet.avHiAlarm\",\n \"priority\": 70,\n \"category\": \"objectCategoryEnumSet.generalCategory\"\
,\n \"annotationsUrl\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f/annotations\"\
,\n \"self\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \
\ \"triggerValue\": {\n \"item\": \"2.0\",\n \"schema\": {\n \"type\": \"string\",\n \
\ \"metasysType\": \"string\",\n \"units\": {\n \"id\": \"unitEnumSet.degF\",\n \
\ \"title\": \"deg F\"\n }\n }\n },\n \"description\": \"\"\n }\n },\n\
\ \"effectivePermission\": {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"canAcknowledge\": true,\n\
\ \"canDiscard\": true,\n \"canAnnotate\": true\n }\n }\n ```\n\n </details>\n\n- `activity.alarm.new`\
\ - A new alarm event is sent when an alarm activity is\n created.\n\n <details>\n <summary><b>New Alarm Payload\
\ Example</b></summary>\n\n ```json\n {\n \"subscriptionIds\": [\"788fc8af-ff49-4501-b85b-e3d407a38a9e\"],\n \"\
activity\": {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"itemReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T\"\
,\n \"objectName\": \"OA_T\",\n \"activityManagementStatus\": \"pending\",\n \"creationTime\": \"2021-02-16T20:30:00Z\"\
,\n \"spaces\": [\n {\n \"id\": \"20b27e9a-d721-5e88-9942-85297cc57ea1\",\n \"itemReference\"\
: \"{hostname}:{deviceHostname}/Generic 1.Building 1.Floor 1\",\n \"name\": \"Floor 1\",\n \"spaceUrl\"\
: \"https://metasys-server.example.com/api/v6/space/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\n }\n ],\n \
\ \"equipment\": [\n {\n \"id\": \"4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\",\n \"itemReference\"\
: \"{hostname}:{deviceHostname}/equipment.Engine1\",\n \"equipmentName\": \"IDU1\",\n \"shortName\"\
: null,\n \"equipmentUrl\": \"https://metasys-server.example.com/api/v6/equipment/4e0df8ec-c641-5fd0-9ed6-f2d980b1d26f\"\
\n }\n ],\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/16defc31-1333-5379-82e7-576a6f1e8b50\"\
,\n \"objectId\": \"16defc31-1333-5379-82e7-576a6f1e8b50\",\n \"alarm\": {\n \"message\": \"\",\n \
\ \"alarmGeneratorObject\": {\n \"objectReference\": \"{hostname}:{deviceHostname}/AHU1.OA_T.Alarm1\",\n\
\ \"referencedObject\": {\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/bfcc3fce-a182-53c0-a529-268f8184496b\"\
\n }\n },\n \"isAckRequired\": true,\n \"type\": \"alarmValueEnumSet.avHiAlarm\",\n \
\ \"priority\": 70,\n \"category\": \"objectCategoryEnumSet.generalCategory\",\n \"annotationsUrl\":\
\ \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f/annotations\",\n \"self\"\
: \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"triggerValue\"\
: {\n \"item\": \"2.0\",\n \"schema\": {\n \"type\": \"string\",\n \"metasysType\"\
: \"string\",\n \"units\": {\n \"id\": \"unitEnumSet.degF\",\n \"title\": \"deg F\"\
\n }\n }\n },\n \"description\": \"\"\n }\n },\n \"effectivePermission\"\
: {\n \"id\": \"6443a123-ddcd-47e7-9828-d872db6a7b4f\",\n \"canAcknowledge\": true,\n \"canDiscard\": true,\n\
\ \"canAnnotate\": true\n }\n }\n ```\n\n </details>\n\n- `activity.audit.new` - A new audit event is sent\
\ when an audit activity is\n created.\n\n <details>\n <summary><b>New Audit Payload Example</b></summary>\n\n ```json\n\
\ {\n \"subscriptionIds\": [\"7373cc85-37a5-4ad5-b703-6bc61968aa9a\"],\n \"activity\": {\n \"id\": \"128d7db4-8ab6-4232-afe1-026fe06d267f\"\
,\n \"itemReference\": \"{hostname}:{deviceHostname}\",\n \"objectName\": \"MS-NAE5510-3\",\n \"activityManagementStatus\"\
: \"pending\",\n \"creationTime\": \"2021-02-16T16:21:10.23Z\",\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/CDAC85B9-726F-5677-9CBC-ADC77A14E79B\"\
,\n \"objectId\": \"cdac85b9-726f-5677-9cbc-adc77a14e79b\",\n \"audit\": {\n \"actionType\": \"auditActionTypeEnumSet.subsystemAuditActionType\"\
,\n \"status\": null,\n \"preData\": null,\n \"postData\": {\n \"item\": \"10.10.198.131\"\
,\n \"schema\": {\n \"type\": \"string\",\n \"metasysType\": \"string\"\n }\n\
\ },\n \"parameters\": [],\n \"errorString\": null,\n \"user\": \"MetasysSysAgent\",\n \
\ \"signature\": null,\n \"classLevel\": \"auditClassesEnumSet.userActionAuditClass\",\n \"originApplication\"\
: \"auditOriginAppEnumSet.systemSecurityAuditOriginApp\",\n \"description\": \"auditTrailStringsEnumSet.atstrSecurityUserLoginSuccessful\"\
,\n \"annotationsUrl\": null,\n \"self\": \"https://metasys-server.example.com/api/v6/audits/128d7db4-8ab6-4232-afe1-026fe06d267f\"\
\n }\n },\n \"effectivePermission\": {\n \"id\": \"128d7db4-8ab6-4232-afe1-026fe06d267f\",\n \"canDiscard\"\
: true\n }\n }\n ```\n\n </details>\n\n- `activity.audit.annotate` - An annotate audit event is sent when an annotation\n\
\ is added to an audit activity, providing the information for the annotated\n audit.\n\n <details>\n <summary><b>Annotate\
\ Audit Payload Example</b></summary>\n\n ```json\n {\n \"subscriptionIds\": [\"7373cc85-37a5-4ad5-b703-6bc61968aa9a\"\
],\n \"activity\": {\n \"id\": \"128d7db4-8ab6-4232-afe1-026fe06d267f\",\n \"itemReference\": \"{hostname}:{deviceHostname}\"\
,\n \"objectName\": \"MS-NAE5510-3\",\n \"activityManagementStatus\": \"pending\",\n \"creationTime\":\
\ \"2021-02-16T16:21:10.23Z\",\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/CDAC85B9-726F-5677-9CBC-ADC77A14E79B\"\
,\n \"objectId\": \"cdac85b9-726f-5677-9cbc-adc77a14e79b\",\n \"audit\": {\n \"actionType\": \"auditActionTypeEnumSet.subsystemAuditActionType\"\
,\n \"status\": null,\n \"preData\": null,\n \"postData\": {\n \"item\": \"10.10.198.131\"\
,\n \"schema\": {\n \"type\": \"string\",\n \"metasysType\": \"string\"\n }\n\
\ },\n \"parameters\": [],\n \"errorString\": null,\n \"user\": \"MetasysSysAgent\",\n \
\ \"signature\": null,\n \"classLevel\": \"auditClassesEnumSet.userActionAuditClass\",\n \"originApplication\"\
: \"auditOriginAppEnumSet.systemSecurityAuditOriginApp\",\n \"description\": \"auditTrailStringsEnumSet.atstrSecurityUserLoginSuccessful\"\
,\n \"annotationsUrl\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f/annotations\"\
,\n \"self\": \"https://metasys-server.example.com/api/v6/audits/128d7db4-8ab6-4232-afe1-026fe06d267f\"\n \
\ }\n },\n \"effectivePermission\": {\n \"id\": \"128d7db4-8ab6-4232-afe1-026fe06d267f\",\n \"canDiscard\"\
: true\n }\n }\n ```\n\n </details>\n\n- `activity.audit.discard` - An audit discard event is sent when the management\n\
\ status of an audit activity changes to discarded.\n\n <details>\n <summary><b>Discard Audit Payload Example</b></summary>\n\
\n ```json\n {\n \"subscriptionIds\": [\"7373cc85-37a5-4ad5-b703-6bc61968aa9a\"],\n \"activity\": {\n \"\
id\": \"128d7db4-8ab6-4232-afe1-026fe06d267f\",\n \"itemReference\": \"{hostname}:{deviceHostname}\",\n \"objectName\"\
: \"MS-NAE5510-3\",\n \"activityManagementStatus\": \"discarded\",\n \"creationTime\": \"2021-02-16T16:21:10.23Z\"\
,\n \"objectUrl\": \"https://metasys-server.example.com/api/v6/objects/CDAC85B9-726F-5677-9CBC-ADC77A14E79B\",\n\
\ \"objectId\": \"cdac85b9-726f-5677-9cbc-adc77a14e79b\",\n \"audit\": {\n \"actionType\": \"auditActionTypeEnumSet.subsystemAuditActionType\"\
,\n \"status\": null,\n \"preData\": null,\n \"postData\": {\n \"item\": \"10.10.198.131\"\
,\n \"schema\": {\n \"type\": \"string\",\n \"metasysType\": \"string\"\n }\n\
\ },\n \"parameters\": [],\n \"errorString\": null,\n \"user\": \"MetasysSysAgent\",\n \
\ \"signature\": null,\n \"classLevel\": \"auditClassesEnumSet.userActionAuditClass\",\n \"originApplication\"\
: \"auditOriginAppEnumSet.systemSecurityAuditOriginApp\",\n \"description\": \"auditTrailStringsEnumSet.atstrSecurityUserLoginSuccessful\"\
,\n \"annotationsUrl\": \"https://metasys-server.example.com/api/v6/alarms/6443a123-ddcd-47e7-9828-d872db6a7b4f/annotations\"\
,\n \"self\": \"https://metasys-server.example.com/api/v6/audits/128d7db4-8ab6-4232-afe1-026fe06d267f\"\n \
\ }\n },\n \"effectivePermission\": {\n \"id\": \"128d7db4-8ab6-4232-afe1-026fe06d267f\",\n \"canDiscard\"\
: true\n }\n }\n ```\n\n </details>\n\n#### Filter Behavior\n\nFilters supplied to an activities request limit the\
\ results to activities for\nwhich the filters apply. When subscribing to an activities request that uses\nfilters, the\
\ events received are also limited to the same filter criteria.\nExceptions to this behavior occur when filtering on activity\
\ management status,\nsuch as for `acknowledged` or `discarded` activities. You receive an update\nwhenever an activity\
\ management change occurs, regardless of filters, because\nthe change can impact the original set of activities you subscribed\
\ to. For\nexample, consider the following scenario:\n\n- You subscribe to `acknowledged` activities and receive all acknowledged\n\
\ activities, receiving updates for any acknowledged thereafter across the\n stream.\n- In this state, one of the activities\
\ in your original list is `discarded` by\n another user.\n\nWhen this occurs, you receive an `activity.alarm.discard`\
\ message for the\ndiscarded activity even though your filters exclude activities that are\n`discarded`. This is necessary\
\ so that you can properly maintain the state of\nactivities already received in your application."
humanURL: https://jci-metasys.github.io/api-landing/
baseURL: https://{hostname}/api/v6
tags:
- Activities
tags_raw:
- activities
properties:
- type: OpenAPI
url: openapi/johnson-controls-activities-api-openapi.yml
- type: Documentation
url: https://jci-metasys.github.io/api-landing/
- type: GettingStarted
url: https://jci-metasys.github.io/api-landing/guides/quickstart
- type: ChangeLog
url: https://jci-metasys.github.io/api-landing/guides/api-changelog
- type: JSONSchema
url: json-schema/johnson-controls-activities-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-alarm-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-network-device-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-audit-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-item-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-points-schema.json
- aid: johnson-controls:johnson-controls-alarms-api
name: Johnson Controls Alarms API
description: 'Alarms alert users to potential problems identified by a Metasys system, for
example high zone temperatures. Use alarms operations to get object alarms,
network device alarms, single alarms, alarm collections, and alarm annotations.
Acknowledge or discard alarms with the edit patch operation. Filter the results
with the query parameters time, priority, type, category, acknowledgement, and
page. Sort the results by creation time and priority.'
humanURL: https://jci-metasys.github.io/api-landing/
baseURL: https://{hostname}/api/v6
tags:
- Alarms
tags_raw:
- alarms
properties:
- type: OpenAPI
url: openapi/johnson-controls-alarms-api-openapi.yml
- type: Documentation
url: https://jci-metasys.github.io/api-landing/
- type: GettingStarted
url: https://jci-metasys.github.io/api-landing/guides/quickstart
- type: ChangeLog
url: https://jci-metasys.github.io/api-landing/guides/api-changelog
- type: JSONSchema
url: json-schema/johnson-controls-activities-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-alarm-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-network-device-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-audit-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-item-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-points-schema.json
- aid: johnson-controls:johnson-controls-audits-api
name: Johnson Controls Audits API
description: 'How to retrieve, discard, and annotate audits.
### Relationships
Audits have relationships to other resources in the system. Find information
about the most important below.
- **objects**
When users or the system affect objects in the Metasys system, such as analog
inputs, multistate objects, or binary outputs, audits are generated. Those
"acted upon" objects then relate to those audits. That relationship is returned
as part of any audit response.
- **equipment instances**
Equipment instance associations to audits build off of the objects association
explanation. Each equipment instance can contain many points, such as Outdoor
Air Temperature, Damper Position, or Zone Setpoint. Those points map to actual
objects in Metasys, as noted above. When users or the system affect those
objects, audits are generated. If an equipment instance''s point is mapped to one
of those affected objects the instance is then associated with that audit.
In short, an equipment instance contains points which map to Metasys objects
which are affected by an audited action.
- **spaces**
Space associations to audits build off of the equipment instance association
explanation. Equipment instances can serve spaces, such as an Air Handler Unit
(AHU) serving the floor of a building. Therefore, audits associated with a
particular equipment instance are associated to the spaces they serve.'
humanURL: https://jci-metasys.github.io/api-landing/
baseURL: https://{hostname}/api/v6
tags:
- Audit
tags_raw:
- audits
properties:
- type: OpenAPI
url: openapi/johnson-controls-audits-api-openapi.yml
- type: Documentation
url: https://jci-metasys.github.io/api-landing/
- type: GettingStarted
url: https://jci-metasys.github.io/api-landing/guides/quickstart
- type: ChangeLog
url: https://jci-metasys.github.io/api-landing/guides/api-changelog
- type: JSONSchema
url: json-schema/johnson-controls-activities-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-alarm-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-network-device-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-audit-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-item-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-points-schema.json
- aid: johnson-controls:johnson-controls-authentication-api
name: Johnson Controls Authentication API
description: Operations to get and refresh an access token.
humanURL: https://jci-metasys.github.io/api-landing/
baseURL: https://{hostname}/api/v6
tags:
- Authentication
tags_raw:
- authentication
properties:
- type: OpenAPI
url: openapi/johnson-controls-authentication-api-openapi.yml
- type: Documentation
url: https://jci-metasys.github.io/api-landing/
- type: GettingStarted
url: https://jci-metasys.github.io/api-landing/guides/quickstart
- type: ChangeLog
url: https://jci-metasys.github.io/api-landing/guides/api-changelog
- type: JSONSchema
url: json-schema/johnson-controls-activities-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-alarm-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-network-device-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-audit-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-item-schema.json
- type: JSONSchema
url: json-schema/johnson-controls-equipment-points-schema.json
- aid: johnson-controls:johnson-controls-equipment-api
name: Johnson Controls Equipment API
description: This section describes the operations you can perform on equipment. Equipment is a broad term for anything
that makes a building run, including boilers, chillers, air handling units, lights, meters, and security systems. Use
equipment operations to get equipment instances and to list equipment points. Apply filters, sorting, and paging to further
refine the results.
humanURL: https://jci-metasys.github.io/api-landing/
baseURL: https://{hostname}/api/v6
tags:
- Equipment
tags_raw:
- equipment
properties:
- type: OpenAPI
url: openapi/johnson-controls-equipment-api-openapi.yml
- type: Documentation
url: https://jci-metasys.github.io/api-landing/
- type: GettingStarted
url: https://jci-metasys.github.io/api-landing/guides/quickstart
- type: ChangeLog
url: https://jci-metasys.github.io/api-landing/guides/api-changelog
- type: JSONSchema
url: json-schema/johnson-controls-activities-schema.json
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://artifacts.apis.io/johnson-controls/apis.yml
Every provider here is available over the APIs.io API and to AI agents over MCP.