{"note":"OpenAPI conversion -- returning structured metadata","name":"turbinelabs-io","description":"Turbine Labs API","version":"1.0","base_url":"https://api.turbinelabs.io/v1.0","endpoints":44,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Turbine Labs API\n@base https://api.turbinelabs.io/v1.0\n@version 1.0\n@auth ApiKey Authorization in header\n@endpoints 44\n@hint download_for_search\n@toc admin(4), changelog(6), zone(4), domain(4), proxy(4), listener(5), shared_rules(5), route(5), cluster(7)\n\n@group admin\n@endpoint GET /admin/user/self\n@desc Returns the user object for the account authorized and making this request.\n@returns(200) The authorized user.\n\n@endpoint GET /admin/user/self/access_tokens\n@desc Lists Access Tokens that are configured for the authenticated user.\n@returns(200) A list of Access Tokens defined for the authenticated user.\n\n@endpoint POST /admin/user/self/access_tokens\n@desc Creates a new Access Token and associates it with the authenticated user.\n@required {description: map # A short string (<255 characters) describing the expected use of the token.}\n@returns(200) The new Access Token that was created.\n\n@endpoint DELETE /admin/user/self/access_token/{access-token-key}\n@desc Delete the specified access token.\n@required {access-token-key: any # the key of the Access Token that should be deleted, checksum: any # the current checksum of the user to be modified}\n@returns(200) An empty result if the API key deletion was successful.\n\n@endgroup\n\n@group changelog\n@endpoint GET /changelog/adhoc\n@desc Allows an arbitrary filter to be specified and applied to the org\\'s change log.\n@optional {filter: any # Encoded FilterSums representing the query you would like to execute. See object definition for details.}\n@returns(200) A list of changes that meet the provided filter.\n\n@endpoint GET /changelog/domain-graph/{domainKey}\n@desc get changes related to the indicated domain\n@required {domainKey: any # the domain key to see an audit log for}\n@optional {start: any # The beginning of the window we want to see changes for; measured in microseconds since Unix Epoch., end: any # The end of the window we want to see changes for; measured in microseconds since Unix Epoch., max_results: any # Determines how many ChangeDescription object should be returned to the calling code., ref_id: any # When paginating a Changelog request start on the entry that comes immediately before or after this ID (as determined by the direction argument)., direction: any # If set to \"before\" then changes will be returned that occurred before reference ID. If \"after\" then changes will be returned that have occurred since the reference ID.}\n@returns(200) A list of changes occurring during the requested window.\n\n@endpoint GET /changelog/route-graph/{routeKey}\n@desc get changes related to the indicated route\n@required {routeKey: any # the route key to see an audit log for}\n@optional {start: any # The beginning of the window we want to see changes for; measured in microseconds since Unix Epoch., end: any # The end of the window we want to see changes for; measured in microseconds since Unix Epoch., max_results: any # Determines how many ChangeDescription object should be returned to the calling code., ref_id: any # When paginating a Changelog request start on the entry that comes immediately before or after this ID (as determined by the direction argument)., direction: any # If set to \"before\" then changes will be returned that occurred before reference ID. If \"after\" then changes will be returned that have occurred since the reference ID.}\n@returns(200) A list of changes occurring during the requested window.\n\n@endpoint GET /changelog/shared-rules-graph/{sharedRulesKey}\n@desc get changes related to the indicated SharedRules\n@required {sharedRulesKey: any # the shared rules key to see an audit log for}\n@optional {start: any # The beginning of the window we want to see changes for; measured in microseconds since Unix Epoch., end: any # The end of the window we want to see changes for; measured in microseconds since Unix Epoch., max_results: any # Determines how many ChangeDescription object should be returned to the calling code., ref_id: any # When paginating a Changelog request start on the entry that comes immediately before or after this ID (as determined by the direction argument)., direction: any # If set to \"before\" then changes will be returned that occurred before reference ID. If \"after\" then changes will be returned that have occurred since the reference ID.}\n@returns(200) A list of changes occurring during the requested window.\n\n@endpoint GET /changelog/cluster-graph/{clusterKey}\n@desc get changes related to the indicated cluster\n@required {clusterKey: any # the cluster key to see an audit log for}\n@optional {start: any # The beginning of the window we want to see changes for; measured in microseconds since Unix Epoch., end: any # The end of the window we want to see changes for; measured in microseconds since Unix Epoch., max_results: any # Determines how many ChangeDescription object should be returned to the calling code., ref_id: any # When paginating a Changelog request start on the entry that comes immediately before or after this ID (as determined by the direction argument)., direction: any # If set to \"before\" then changes will be returned that occurred before reference ID. If \"after\" then changes will be returned that have occurred since the reference ID.}\n@returns(200) A list of changes occurring during the requested window.\n\n@endpoint GET /changelog/zone/{zoneKey}\n@desc get changes in a specified zone\n@required {zoneKey: any # the zone key to see an audit log for}\n@optional {start: any # The beginning of the window we want to see changes for; measured in microseconds since Unix Epoch., end: any # The end of the window we want to see changes for; measured in microseconds since Unix Epoch., max_results: any # Determines how many ChangeDescription object should be returned to the calling code., ref_id: any # When paginating a Changelog request start on the entry that comes immediately before or after this ID (as determined by the direction argument)., direction: any # If set to \"before\" then changes will be returned that occurred before reference ID. If \"after\" then changes will be returned that have occurred since the reference ID.}\n@returns(200) A list of changes occurring during the requested window.\n\n@endgroup\n\n@group zone\n@endpoint GET /zone\n@desc get a list of zones\n@optional {filters: any # A JSON encoded array of ZoneFilter objects. The filter is taken as a union of intersections. In other words an object that matches every constraint in any ZoneFilter will be included.}\n@returns(200) A result containing an array of zones\n\n@endpoint POST /zone\n@desc create zone\n@required {zone: map # the zone to create}\n@returns(200) A result containing the newly created zone\n\n@endpoint GET /zone/{zoneKey}\n@desc get zone\n@required {zoneKey: any # the zone key}\n@returns(200) a result containing a single zone\n\n@endpoint DELETE /zone/{zoneKey}\n@desc delete zone\n@required {zoneKey: any # the zone key, checksum: any # the current checksum of the zone to be deleted}\n@returns(200) an empty result\n\n@endgroup\n\n@group domain\n@endpoint GET /domain\n@desc get domains\n@optional {filters: any # A JSON encoded array of DomainFilter objects. The filter is taken as a union of intersections. In other words an object that matches every constraint in any DomainFilter will be included.}\n@returns(200) a result containing a list of domains\n\n@endpoint POST /domain\n@desc create domain\n@required {domain: map # the domain to create}\n@returns(200) the newly created zone\n\n@endpoint GET /domain/{domainKey}\n@desc get domain\n@required {domainKey: any # the domain key}\n@returns(200) a result containing a single domain\n\n@endpoint DELETE /domain/{domainKey}\n@desc delete domain\n@required {domainKey: any # the domain key, checksum: any # the current checksum of the domain to be deleted}\n@returns(200) an empty result\n\n@endgroup\n\n@group proxy\n@endpoint GET /proxy\n@desc list proxies\n@optional {filters: any # A JSON encoded array of ProxyFilter objects. The filter is taken as a union of intersections. In other words an object that matches every constraint in any ProxyFilter will be included.}\n@returns(200) a result containing a list of proxies\n\n@endpoint POST /proxy\n@desc create proxy\n@required {proxy: map # the proxy to create}\n@returns(200) the newly created proxy\n\n@endpoint GET /proxy/{proxyKey}\n@desc get proxy\n@required {proxyKey: any # the proxy key}\n@returns(200) a result containing a single proxy\n\n@endpoint DELETE /proxy/{proxyKey}\n@desc delete proxy\n@required {proxyKey: any # the proxy key, checksum: any # the current checksum of the proxy to be deleted}\n@returns(200) an empty result\n\n@endgroup\n\n@group listener\n@endpoint GET /listener\n@desc list listeners\n@optional {filters: any # A JSON encoded array of ListenerFilter objects. The filter is taken as a union of intersections. In other words an object that matches every constraint in any ListenerFilter will be included.}\n@returns(200) a result containing a list of listeners\n\n@endpoint POST /listener\n@desc create listener\n@required {listener: map # the listener to create}\n@returns(200) the newly created listener\n\n@endpoint GET /listener/{listenerKey}\n@desc get listener\n@required {listenerKey: any # the listener key}\n@returns(200) a result containing a single listener\n\n@endpoint PUT /listener/{listenerKey}\n@desc modify listener\n@required {listenerKey: any # the listener key, listener: any # the listener to modify}\n@returns(200) A result containing the modified cluster\n\n@endpoint DELETE /listener/{listenerKey}\n@desc delete listener\n@required {listenerKey: any # the listener key, checksum: any # the current checksum of the listener to be deleted}\n@returns(200) an empty result\n\n@endgroup\n\n@group shared_rules\n@endpoint GET /shared_rules\n@desc get shared_rules\n@optional {filters: any # A JSON encoded array of SharedRulesFilter objects. The filter is taken as a union of intersections. In other words an object that matches every constraint in any SharedRulesFilter will be included.}\n@returns(200) a result containing a list of shared_rules\n\n@endpoint POST /shared_rules\n@desc create shared_rules\n@required {shared_rules: map # the shared_rules object to create}\n@returns(200) the newly created shared_rules object\n\n@endpoint GET /shared_rules/{sharedRulesKey}\n@desc get shared_rules object\n@required {sharedRulesKey: any # the shared_rules key}\n@returns(200) a result containing a single shared_rules object\n\n@endpoint PUT /shared_rules/{sharedRulesKey}\n@desc modify shared_rules object\n@required {sharedRulesKey: any # the shared_rules key, shared_rules: any # the shared_rules object to modify}\n@returns(200) A result containing the modified shared_rules object\n\n@endpoint DELETE /shared_rules/{sharedRulesKey}\n@desc delete shared_rules object\n@required {sharedRulesKey: any # the shared_rules key, checksum: any # the current checksum of the shared_rules to be deleted}\n@returns(200) an empty result\n\n@endgroup\n\n@group route\n@endpoint GET /route\n@desc get routes\n@optional {filters: any # A JSON encoded array of RouteFilter objects. The filter is taken as a union of intersections. In other words an object that matches every constraint in any RouteFilter will be included.}\n@returns(200) a result containing a list of routes\n\n@endpoint POST /route\n@desc create route\n@required {route: map # the route to create}\n@returns(200) the newly created route\n\n@endpoint GET /route/{routeKey}\n@desc get route\n@required {routeKey: any # the route key}\n@returns(200) a result containing a single route\n\n@endpoint PUT /route/{routeKey}\n@desc modify route\n@required {routeKey: any # the route key, route: any # the route to modify}\n@returns(200) A result containing the modified route\n\n@endpoint DELETE /route/{routeKey}\n@desc delete route\n@required {routeKey: any # the route key, checksum: any # the current checksum of the route to be deleted}\n@returns(200) an empty result\n\n@endgroup\n\n@group cluster\n@endpoint GET /cluster\n@desc get clusters\n@optional {filters: any # A JSON encoded array of ClusterFilter objects. The filter is taken as a union of intersections. In other words an object that matches every constraint in any ClusterFilter will be included.}\n@returns(200) a result containing a list of clusters\n\n@endpoint POST /cluster\n@desc create cluster\n@required {cluster: map # the cluster to create}\n@returns(200) the newly created cluster\n\n@endpoint GET /cluster/{clusterKey}\n@desc get cluster\n@required {clusterKey: any # the cluster key}\n@returns(200) a result containing a single cluster\n\n@endpoint PUT /cluster/{clusterKey}\n@desc modify cluster\n@required {clusterKey: any # the cluster key, cluster: any # the cluster to modify}\n@returns(200) A result containing the modified cluster\n\n@endpoint DELETE /cluster/{clusterKey}\n@desc delete cluster\n@required {clusterKey: any # the cluster key, checksum: any # the current checksum of the cluster to be deleted}\n@returns(200) an empty result\n\n@endpoint POST /cluster/{clusterKey}/instances\n@desc add instance\n@required {clusterKey: any # the cluster to add the instance to, instance: map # the instance to add}\n@returns(200) the newly created instance\n\n@endpoint DELETE /cluster/{clusterKey}/instances/{instanceIdentifier}\n@desc remove instance\n@required {checksum: any # the current checksum of the instance to be deleted, clusterKey: any # the cluster to remove an instance from, instanceIdentifier: any # the instance to remove, identified as :}\n@returns(200) an empty result\n\n@endgroup\n\n@end\n"}