Macrometa API Keys API
The API Keys API from Macrometa — 17 operation(s) for api keys.
The API Keys API from Macrometa — 17 operation(s) for api keys.
openapi: 3.0.0
info:
title: Macrometa API Reference Activity Metrics API Keys API
version: 0.17.17
description: API reference for the Macrometa Global Data Network.
license:
name: Macrometa License, Version 2.0
servers:
- url: https://api-play.paas.macrometa.io
description: GDN API
host: api-play.paas.macrometa.io
security:
- ApiKeyAuth: []
- BearerAuth: []
tags:
- name: API Keys
paths:
/_api/key/validate:
post:
description: "Requires a JSON object with these properties:\n\n - **apikey**: The API key as a string.\n - **jwt**: The JWT token as a string.\n\n**Note**: Requires *administrator* permissions."
operationId: ValidateApiKey
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/apikey_validate'
required: true
responses:
'200':
description: Successfully validated API key.
content:
application/json:
schema:
properties:
code:
description: HTTP response code.
type: integer
example: 200
error:
description: Flag if there is an error in response. *False* for this response.
type: boolean
example: false
result:
description: An array of API keys with details as keyid, user name and tenant name.
items:
properties:
keyid:
description: Keyid of the API key.
type: string
example: test
parent:
description: Name of the parent.
type: string
example: root
tenant:
description: Name of the tenant.
type: string
example: _mm
limitRequestsPerSec:
description: Maximum request limit.
type: integer
example: '0'
type: array
required:
- error
type: object
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_400'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed to validate because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Validate API Key
tags:
- API Keys
/_api/key:
post:
description: Create API keys for yourself.
operationId: CreateApiKey
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/apikey_create'
required: true
responses:
'201':
description: Successfully added API key.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_http_examples_rc_201'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_400'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed to validate because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'409':
description: Failed because API key already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_409'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Create API Key
tags:
- API Keys
get:
description: Retrieve information about all of your API keys. Privileged users (service or _mm.root user) can use the 'user' query parameter to retrieve information of API keys belonging to another user.
operationId: ListAvailableApiKeys
parameters:
- description: Return a list of API keys associated with the specified user. This parameter can be used by service or _mm.root user only.
in: query
name: user
required: false
schema:
type: string
responses:
'200':
description: Successfully fetched API keys.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_http_examples_rc_200'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: List available API keys
tags:
- API Keys
/_api/key/{keyid}:
get:
description: Fetch an existing API key, identified by *keyid*. You can only get your API keys.
operationId: GetAvailableApiKey
parameters:
- description: The id of the API key.
in: path
name: keyid
required: true
schema:
type: string
format: string
responses:
'200':
description: Successfully fetched API key.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_get_response_http_examples_rc_200_0'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Get available API key.
tags:
- API Keys
delete:
description: Remove an existing API key, identified by *keyid*. You can only remove your API keys.
operationId: RemoveApiKey
parameters:
- description: The id of the API key.
in: path
name: keyid
required: true
schema:
type: string
format: string
responses:
'202':
description: Successfully removed API key.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_http_examples_rc_202'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Remove API Key.
tags:
- API Keys
/_api/key/{keyid}/database:
get:
description: 'Fetch the list of databases available to the specified *keyid*.
Returns a JSON object with the per-database access privileges for the specified *keyid*. The result object contains databases names as object keys, and associated privileges for the database as values.
If you specified *full*, the result contains permissions for the databases as well as permissions for the collections and streams.
**Note**: Requires *administrator* permissions.'
operationId: ListTheAccessibleDatabasesForApiKey
parameters:
- description: The id of the API key for which you want to query the databases.
in: path
name: keyid
required: true
schema:
type: string
format: string
- description: Return the full set of access levels for all databases and all collections.
in: query
name: full
required: false
schema:
type: boolean
default: false
responses:
'200':
description: Successfully fetched database list.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_get_http_examples_rc_200'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_400'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: List the accessible databases for a keyid
tags:
- API Keys
/_api/key/{keyid}/database/{dbname}:
get:
description: Fetch the database access level for a specific database.
operationId: GetTheDatabaseAccessLevelForApiKey
parameters:
- description: The id of the API key.
in: path
name: keyid
required: true
schema:
type: string
format: string
- description: The name of the database to query.
in: path
name: dbname
required: true
schema:
type: string
format: string
default: _system
responses:
'200':
description: Successfully fetched access level.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_dbname_examples_rc_200'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_400'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Get the database access level
tags:
- API Keys
delete:
description: 'Clears the database access level for the database *dbname* of API key with *keyid*. Reverts to default database access level. If there is no defined default database access level, it defaults to *No access*.
**Note**: Requires *administrator* permissions.'
operationId: ClearTheDatabaseAccessLevelForApiKey
parameters:
- description: The id of the API key.
in: path
name: keyid
required: true
schema:
type: string
format: string
- description: The name of the database.
in: path
name: dbname
required: true
schema:
type: string
format: string
default: _system
responses:
'202':
description: Successfully cleared access level.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_http_examples_rc_202'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Clear the database access level
tags:
- API Keys
put:
description: 'Sets the database access levels for the database *dbname* of API key with *keyid*.
**Note**: Requires *administrator* permissions.'
operationId: SetTheDatabaseAccessLevelForApiKey
parameters:
- description: The id of the API key.
in: path
name: keyid
required: true
schema:
type: string
format: string
- description: The name of the database.
in: path
name: dbname
required: true
schema:
type: string
format: string
default: _system
requestBody:
$ref: '#/components/requestBodies/user_grant_database'
responses:
'200':
description: Successfully changed access level.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_put_dbname_examples_rc_200'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_400'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Set the database access level
tags:
- API Keys
/_api/key/{keyid}/database/{dbname}/collection:
get:
description: "Fetch the list of collections access level for a specific *user*\n\n If access level for collection is not set default(\"*\") access level is used. If default(\"*\") access level is also not set database access level is used."
operationId: GetTheApiKeyCollectionsAccessLevel
parameters:
- description: The id of the API key.
in: path
name: keyid
required: true
schema:
type: string
format: string
- description: The name of the database to query.
in: path
name: dbname
required: true
schema:
type: string
format: string
default: _system
- description: Return the full set of access levels for all collections.
in: query
name: full
required: false
schema:
type: boolean
default: false
responses:
'200':
description: Successfully fetched access level.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_database_collection_get_http_examples_rc_200'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_400'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Get the specific collection access level
tags:
- API Keys
/_api/key/{keyid}/database/{dbname}/collection/{collection}:
get:
description: "Fetch the access level for a specific collection.\n\n If access level for collection is not set default(\"*\") access level is used. If default(\"*\") access level is also not set database access level is used."
operationId: GetTheSpecificCollectionAccessLevelForApiKey
parameters:
- description: The id of the API key.
in: path
name: keyid
required: true
schema:
type: string
format: string
- description: The name of the database to query.
in: path
name: dbname
required: true
schema:
type: string
format: string
default: _system
- description: The name of the collection.
in: path
name: collection
required: true
schema:
type: string
format: string
responses:
'200':
description: Successfully fetched access level.
content:
application/json:
schema:
$ref: '#/components/schemas/api_key_dbname_examples_rc_200'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'400':
description: Failed due to missing or malformed data. Verify that all parameters are complete.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_400'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'401':
description: Failed because you do not have administrator permissions.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_401'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'403':
description: Failed because you do not have access to the server.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_403'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
'404':
description: Failed to find specified API key.
content:
application/json:
schema:
$ref: '#/components/schemas/error_example_rc_404'
headers:
x-gdn-region:
schema:
$ref: '#/components/schemas/headers/x-gdn-region'
x-gdn-requestid:
schema:
$ref: '#/components/schemas/headers/x-gdn-requestid'
summary: Get the specific collection access level
tags:
- API Keys
delete:
description: 'Clears the access level for the collect
# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/macrometa/refs/heads/main/openapi/macrometa-api-keys-api-openapi.yml