action maif_api_key { label: "Get an api key" description: "Get an api key for a specified service descriptor" provider: maif method: GET path: "/api/services/{serviceId}/apikeys/{clientId}" encoding: json input: { type: "object" properties: { clientId: { type: "string" } serviceId: { type: "string" } } required: ["clientId", "serviceId"] additionalProperties: false } output: { type: "object" description: "An Otoroshi Api Key. An Api Key is defined for a group of services to allow usage of the same Api Key for multiple services." required: ["authorizedEntities", "clientId", "clientName", "clientSecret", "enabled"] properties: { authorizedEntities: { type: "array" description: "The group/service ids (prefixed by group_ or service_ on which the key is authorized" items: { type: "string" } } clientId: { type: "string" description: "The unique id of the Api Key. Usually 16 random alpha numerical characters, but can be anything" } clientName: { type: "string" description: "The name of the api key, for humans ;-)" } clientSecret: { type: "string" description: "The secret of the Api Key. Usually 64 random alpha numerical characters, but can be anything" } dailyQuota: { type: "integer" format: "int64" description: "Authorized number of calls per day" } enabled: { type: "boolean" description: "Whether or not the key is enabled. If disabled, resources won't be available to calls using this key" } metadata: { type: "object" description: "Bunch of metadata for the key" } monthlyQuota: { type: "integer" format: "int64" description: "Authorized number of calls per month" } throttlingQuota: { type: "integer" format: "int64" description: "Authorized number of calls per second, measured on 10 seconds" } } } }