@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS IoT Things Graph
@version 2018-09-06
@auth AWS SigV4
@endpoints 35
@hint download_for_search
@toc root(35)

@endpoint POST /
@required {thingName: str, entityId: str}
@optional {namespaceVersion: int(i64)}

@endpoint POST /
@required {definition: DefinitionDocument}
@optional {compatibleNamespaceVersion: int(i64)}
@returns(200) {summary: FlowTemplateSummary?{id: str?, arn: str?, revisionNumber: int(i64)?, createdAt: str(timestamp)?}}

@endpoint POST /
@required {definition: DefinitionDocument, target: str}
@optional {tags: [Tag], greengrassGroupName: str, s3BucketName: str, metricsConfiguration: MetricsConfiguration, flowActionsRoleArn: str}
@returns(200) {summary: SystemInstanceSummary?{id: str?, arn: str?, status: str?, target: str?, greengrassGroupName: str?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, greengrassGroupId: str?, greengrassGroupVersionId: str?}}

@endpoint POST /
@required {definition: DefinitionDocument}
@optional {compatibleNamespaceVersion: int(i64)}
@returns(200) {summary: SystemTemplateSummary?{id: str?, arn: str?, revisionNumber: int(i64)?, createdAt: str(timestamp)?}}

@endpoint POST /
@required {id: str}

@endpoint POST /
@returns(200) {namespaceArn: str?, namespaceName: str?}

@endpoint POST /
@optional {id: str}

@endpoint POST /
@required {id: str}

@endpoint POST /
@optional {id: str}
@returns(200) {summary: SystemInstanceSummary{id: str?, arn: str?, status: str?, target: str?, greengrassGroupName: str?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, greengrassGroupId: str?, greengrassGroupVersionId: str?}, greengrassDeploymentId: str?}

@endpoint POST /
@required {id: str}

@endpoint POST /
@required {id: str}

@endpoint POST /
@optional {namespaceName: str}
@returns(200) {namespaceArn: str?, namespaceName: str?, trackingNamespaceName: str?, trackingNamespaceVersion: int(i64)?, namespaceVersion: int(i64)?}

@endpoint POST /
@required {thingName: str, entityType: str}

@endpoint POST /
@required {ids: [str]}
@optional {namespaceVersion: int(i64)}
@returns(200) {descriptions: [EntityDescription]?}

@endpoint POST /
@required {id: str}
@optional {revisionNumber: int(i64)}
@returns(200) {description: FlowTemplateDescription?{summary: FlowTemplateSummary?{id: str?, arn: str?, revisionNumber: int(i64)?, createdAt: str(timestamp)?}, definition: DefinitionDocument?{language: str, text: str}, validatedNamespaceVersion: int(i64)?}}

@endpoint POST /
@required {id: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {summaries: [FlowTemplateSummary]?, nextToken: str?}

@endpoint POST /
@returns(200) {namespaceArn: str?, namespaceName: str?, status: str?, errorCode: str?, errorMessage: str?}

@endpoint POST /
@required {id: str}
@returns(200) {description: SystemInstanceDescription?{summary: SystemInstanceSummary?{id: str?, arn: str?, status: str?, target: str?, greengrassGroupName: str?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, greengrassGroupId: str?, greengrassGroupVersionId: str?}, definition: DefinitionDocument?{language: str, text: str}, s3BucketName: str?, metricsConfiguration: MetricsConfiguration?{cloudMetricEnabled: bool?, metricRuleRoleArn: str?}, validatedNamespaceVersion: int(i64)?, validatedDependencyRevisions: [DependencyRevision]?, flowActionsRoleArn: str?}}

@endpoint POST /
@required {id: str}
@optional {revisionNumber: int(i64)}
@returns(200) {description: SystemTemplateDescription?{summary: SystemTemplateSummary?{id: str?, arn: str?, revisionNumber: int(i64)?, createdAt: str(timestamp)?}, definition: DefinitionDocument?{language: str, text: str}, validatedNamespaceVersion: int(i64)?}}

@endpoint POST /
@required {id: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {summaries: [SystemTemplateSummary]?, nextToken: str?}

@endpoint POST /
@required {uploadId: str}
@returns(200) {uploadId: str, uploadStatus: str, namespaceArn: str?, namespaceName: str?, namespaceVersion: int(i64)?, failureReason: [str]?, createdDate: str(timestamp)}

@endpoint POST /
@required {flowExecutionId: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {messages: [FlowExecutionMessage]?, nextToken: str?}

@endpoint POST /
@required {resourceArn: str}
@optional {maxResults: int, nextToken: str}
@returns(200) {tags: [Tag]?, nextToken: str?}

@endpoint POST /
@required {entityTypes: [str]}
@optional {filters: [EntityFilter], nextToken: str, maxResults: int, namespaceVersion: int(i64)}
@returns(200) {descriptions: [EntityDescription]?, nextToken: str?}

@endpoint POST /
@required {systemInstanceId: str}
@optional {flowExecutionId: str, startTime: str(timestamp), endTime: str(timestamp), nextToken: str, maxResults: int}
@returns(200) {summaries: [FlowExecutionSummary]?, nextToken: str?}

@endpoint POST /
@optional {filters: [FlowTemplateFilter], nextToken: str, maxResults: int}
@returns(200) {summaries: [FlowTemplateSummary]?, nextToken: str?}

@endpoint POST /
@optional {filters: [SystemInstanceFilter], nextToken: str, maxResults: int}
@returns(200) {summaries: [SystemInstanceSummary]?, nextToken: str?}

@endpoint POST /
@optional {filters: [SystemTemplateFilter], nextToken: str, maxResults: int}
@returns(200) {summaries: [SystemTemplateSummary]?, nextToken: str?}

@endpoint POST /
@required {entityId: str}
@optional {nextToken: str, maxResults: int, namespaceVersion: int(i64)}
@returns(200) {things: [Thing]?, nextToken: str?}

@endpoint POST /
@required {resourceArn: str, tags: [Tag]}

@endpoint POST /
@optional {id: str}
@returns(200) {summary: SystemInstanceSummary?{id: str?, arn: str?, status: str?, target: str?, greengrassGroupName: str?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, greengrassGroupId: str?, greengrassGroupVersionId: str?}}

@endpoint POST /
@required {resourceArn: str, tagKeys: [str]}

@endpoint POST /
@required {id: str, definition: DefinitionDocument}
@optional {compatibleNamespaceVersion: int(i64)}
@returns(200) {summary: FlowTemplateSummary?{id: str?, arn: str?, revisionNumber: int(i64)?, createdAt: str(timestamp)?}}

@endpoint POST /
@required {id: str, definition: DefinitionDocument}
@optional {compatibleNamespaceVersion: int(i64)}
@returns(200) {summary: SystemTemplateSummary?{id: str?, arn: str?, revisionNumber: int(i64)?, createdAt: str(timestamp)?}}

@endpoint POST /
@optional {document: DefinitionDocument, syncWithPublicNamespace: bool, deprecateExistingEntities: bool}
@returns(200) {uploadId: str}

@end
